winglang / voting-app

MIT License
6 stars 4 forks source link

refactor and add new APIs #6

Closed Chriscbr closed 1 year ago

github-actions[bot] commented 1 year ago

Terraform Plan

Show Plan ``` aws_dynamodb_table.VotingAppItems_tfawsdynamodbTableDynamodbTable_21A977CE: Refreshing state... [id=VotingAppItems-0e93c191] aws_iam_role.VotingAppApi_VotingAppApi-OnRequest-41f14472_IamRole_5F3056C5: Refreshing state... [id=terraform-20230727204725916100000001] aws_iam_role.InitializeTable_Function_IamRole_E3F0843D: Refreshing state... [id=terraform-20230727202411672600000001] data.aws_region.Region: Reading... aws_lambda_permission.VotingAppApi_api_permission-POST-cb38ebcb_8DE7E4D2: Refreshing state... [id=AllowExecutionFromAPIGateway-POST-cb38ebcb] aws_cloudfront_origin_access_control.cloudWebsite_CloudfrontOac_C956968B: Refreshing state... [id=E1J2GO7P2VQ2EZ] aws_s3_bucket.cloudWebsite_WebsiteBucket_EB03D355: Refreshing state... [id=cloud-website-c8e58765-20230803215115368500000001] aws_s3_bucket.Code: Refreshing state... [id=code-c84a50b1-20230727202411678600000003] aws_iam_role.VotingAppApi_VotingAppApi-OnRequest-8d2e75ec_IamRole_0FF833EF: Refreshing state... [id=terraform-20230803215115569800000002] data.aws_region.Region: Read complete after 0s [id=us-east-1] aws_iam_role_policy.VotingAppApi_VotingAppApi-OnRequest-8d2e75ec_IamRolePolicy_2D34FA97: Refreshing state... [id=terraform-20230803215115569800000002:terraform-20230803215115813700000003] aws_iam_role_policy_attachment.VotingAppApi_VotingAppApi-OnRequest-8d2e75ec_IamRolePolicyAttachment_055C2EDA: Refreshing state... [id=terraform-20230803215115569800000002-20230803215115890800000004] aws_iam_role_policy.VotingAppApi_VotingAppApi-OnRequest-41f14472_IamRolePolicy_25C9720E: Refreshing state... [id=terraform-20230727204725916100000001:terraform-20230727204739773400000005] aws_iam_role_policy_attachment.VotingAppApi_VotingAppApi-OnRequest-41f14472_IamRolePolicyAttachment_E1980EB1: Refreshing state... [id=terraform-20230727204725916100000001-20230727204726450200000003] aws_iam_role_policy_attachment.InitializeTable_Function_IamRolePolicyAttachment_4435DE19: Refreshing state... [id=terraform-20230727202411672600000001-20230727202411887400000005] aws_iam_role_policy.InitializeTable_Function_IamRolePolicy_2AD89519: Refreshing state... [id=terraform-20230727202411672600000001:terraform-20230727202424567600000008] aws_s3_object.InitializeTable_Function_S3Object_F5933D3B: Refreshing state... [id=asset.c8e7055bb3773d297f63b5172fb6a571cddc069012.0e8df7bef12533a828f247bc3e6ebe94.zip] aws_s3_object.VotingAppApi_VotingAppApi-OnRequest-8d2e75ec_S3Object_F8CCE004: Refreshing state... [id=asset.c8cf8e09741b572c80a663f9c8cf9ce40395e87b08.773077af10281ac7f34b7794d69d250b.zip] aws_s3_object.VotingAppApi_VotingAppApi-OnRequest-41f14472_S3Object_C95F6BA9: Refreshing state... [id=asset.c87bddf927b70f22f963a14d64ce5f4bf1372d398a.c3b5834ee0c4b6c901478375293493cd.zip] aws_s3_object.cloudWebsite_File--faviconico_A86052F9: Refreshing state... [id=/favicon.ico] aws_s3_object.cloudWebsite_File--static--css--maine6c13ad2cssmap_DFBF7C37: Refreshing state... [id=/static/css/main.e6c13ad2.css.map] aws_s3_bucket_server_side_encryption_configuration.cloudWebsite_Encryption_6A8A4E29: Refreshing state... [id=cloud-website-c8e58765-20230803215115368500000001] aws_s3_object.cloudWebsite_File--static--js--mainf4c8898cjsmap_0538E57B: Refreshing state... [id=/static/js/main.f4c8898c.js.map] aws_s3_object.cloudWebsite_File--static--js--78728cb0dcdchunkjsmap_F5D0643F: Refreshing state... [id=/static/js/787.28cb0dcd.chunk.js.map] aws_s3_bucket_public_access_block.cloudWebsite_PublicAccessBlock_18A70311: Refreshing state... [id=cloud-website-c8e58765-20230803215115368500000001] aws_cloudfront_distribution.cloudWebsite_Distribution_083B5AF9: Refreshing state... [id=E1QUV69RQ9ODON] aws_s3_object.cloudWebsite_File--asset-manifestjson_8187FE70: Refreshing state... [id=/asset-manifest.json] aws_s3_object.cloudWebsite_File--static--js--mainf4c8898cjsLICENSEtxt_CF173BC8: Refreshing state... [id=/static/js/main.f4c8898c.js.LICENSE.txt] aws_s3_bucket_website_configuration.cloudWebsite_BucketWebsiteConfiguration_920E8E41: Refreshing state... [id=cloud-website-c8e58765-20230803215115368500000001] aws_s3_object.cloudWebsite_File--indexhtml_2A2AE13C: Refreshing state... [id=/index.html] aws_s3_object.cloudWebsite_File--static--js--78728cb0dcdchunkjs_40889769: Refreshing state... [id=/static/js/787.28cb0dcd.chunk.js] aws_s3_object.cloudWebsite_File--logo192png_6E513B20: Refreshing state... [id=/logo192.png] aws_s3_object.cloudWebsite_File--static--css--maine6c13ad2css_F3967298: Refreshing state... [id=/static/css/main.e6c13ad2.css] aws_s3_object.cloudWebsite_File--manifestjson_5AC33197: Refreshing state... [id=/manifest.json] aws_s3_object.cloudWebsite_File--static--js--mainf4c8898cjs_7B16084A: Refreshing state... [id=/static/js/main.f4c8898c.js] aws_s3_object.cloudWebsite_File--robotstxt_F93900E9: Refreshing state... [id=/robots.txt] aws_s3_object.cloudWebsite_File--logo512png_E26C5AA3: Refreshing state... [id=/logo512.png] aws_lambda_function.InitializeTable_Function_FD00736D: Refreshing state... [id=Function-c8e7055b] aws_lambda_function.VotingAppApi_VotingAppApi-OnRequest-8d2e75ec_93510F52: Refreshing state... [id=VotingAppApi-OnRequest-8d2e75ec-c8cf8e09] aws_lambda_function.VotingAppApi_VotingAppApi-OnRequest-41f14472_39478289: Refreshing state... [id=VotingAppApi-OnRequest-41f14472-c87bddf9] data.aws_iam_policy_document.cloudWebsite_AllowDistributionReadOnly_89DC4FD0: Reading... data.aws_iam_policy_document.cloudWebsite_AllowDistributionReadOnly_89DC4FD0: Read complete after 0s [id=573591717] aws_s3_bucket_policy.cloudWebsite_DistributionS3BucketPolicy_32B029AE: Refreshing state... [id=cloud-website-c8e58765-20230803215115368500000001] aws_api_gateway_rest_api.VotingAppApi_api_CB41EC98: Refreshing state... [id=dfh6uhtoa0] aws_lambda_permission.VotingAppApi_api_permission-GET-60cabf0c_A106D13D: Refreshing state... [id=AllowExecutionFromAPIGateway-GET-60cabf0c] aws_api_gateway_deployment.VotingAppApi_api_deployment_B9647894: Refreshing state... [id=74r97k] aws_api_gateway_stage.VotingAppApi_api_stage_9B2FA9EA: Refreshing state... [id=ags-dfh6uhtoa0-prod] aws_s3_object.cloudWebsite_File-configjson_591A81BA: Refreshing state... [id=config.json] Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create ~ update in-place - destroy -/+ destroy and then create replacement +/- create replacement and then destroy <= read (data resources) Terraform will perform the following actions: # data.aws_lambda_invocation.InitializeTable_Invocation_6E01246F will be read during apply # (depends on a resource or a module with changes pending) <= data "aws_lambda_invocation" "InitializeTable_Invocation_6E01246F" { + function_name = "Function-c8e7055b" + id = (known after apply) + input = jsonencode({}) + result = (known after apply) } # aws_api_gateway_deployment.VotingAppApi_api_deployment_B9647894 must be replaced +/- resource "aws_api_gateway_deployment" "VotingAppApi_api_deployment_B9647894" { ~ created_date = "2023-08-03T21:51:31Z" -> (known after apply) ~ execution_arn = "arn:aws:execute-api:us-east-1:223316951128:dfh6uhtoa0/" -> (known after apply) ~ id = "74r97k" -> (known after apply) ~ invoke_url = "https://dfh6uhtoa0.execute-api.us-east-1.amazonaws.com/" -> (known after apply) ~ triggers = { # forces replacement ~ "redeployment" = "3bab94aaf9fbc7c05a803e384ac3c75eab75837f" -> "ea3e681e2cd271d45c13e2402b205ad737204f66" } # (1 unchanged attribute hidden) } # aws_api_gateway_rest_api.VotingAppApi_api_CB41EC98 will be updated in-place ~ resource "aws_api_gateway_rest_api" "VotingAppApi_api_CB41EC98" { ~ body = jsonencode( { - openapi = "3.0.3" - paths = { - "/items" = { - get = { - operationId = "get-items" - parameters = [] - responses = { - "200" = { - content = {} - description = "200 response" } } - x-amazon-apigateway-integration = { - contentHandling = "CONVERT_TO_TEXT" - httpMethod = "POST" - passthroughBehavior = "when_no_match" - responses = { - default = { - statusCode = "200" } } - type = "aws_proxy" - uri = "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:223316951128:function:VotingAppApi-OnRequest-8d2e75ec-c8cf8e09/invocations" } } } - "/vote" = { - post = { - operationId = "post-vote" - parameters = [] - responses = { - "200" = { - content = {} - description = "200 response" } } - x-amazon-apigateway-integration = { - contentHandling = "CONVERT_TO_TEXT" - httpMethod = "POST" - passthroughBehavior = "when_no_match" - responses = { - default = { - statusCode = "200" } } - type = "aws_proxy" - uri = "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:223316951128:function:VotingAppApi-OnRequest-41f14472-c87bddf9/invocations" } } } } } ) -> (known after apply) id = "dfh6uhtoa0" name = "api-c8bc2868" tags = {} # (9 unchanged attributes hidden) # (1 unchanged block hidden) } # aws_api_gateway_stage.VotingAppApi_api_stage_9B2FA9EA will be updated in-place ~ resource "aws_api_gateway_stage" "VotingAppApi_api_stage_9B2FA9EA" { ~ deployment_id = "74r97k" -> (known after apply) id = "ags-dfh6uhtoa0-prod" tags = {} # (9 unchanged attributes hidden) } # aws_dynamodb_table.VotingAppItems_tfawsdynamodbTableDynamodbTable_21A977CE will be destroyed # (because aws_dynamodb_table.VotingAppItems_tfawsdynamodbTableDynamodbTable_21A977CE is not in configuration) - resource "aws_dynamodb_table" "VotingAppItems_tfawsdynamodbTableDynamodbTable_21A977CE" { - arn = "arn:aws:dynamodb:us-east-1:223316951128:table/VotingAppItems-0e93c191" -> null - billing_mode = "PAY_PER_REQUEST" -> null - deletion_protection_enabled = false -> null - hash_key = "Name" -> null - id = "VotingAppItems-0e93c191" -> null - name = "VotingAppItems-0e93c191" -> null - read_capacity = 0 -> null - stream_enabled = false -> null - table_class = "STANDARD" -> null - tags = {} -> null - tags_all = {} -> null - write_capacity = 0 -> null - attribute { - name = "Name" -> null - type = "S" -> null } - point_in_time_recovery { - enabled = false -> null } - ttl { - enabled = false -> null } } # aws_dynamodb_table.VotingAppStore_Items_tfawsdynamodbTableDynamodbTable_3639CE64 will be created + resource "aws_dynamodb_table" "VotingAppStore_Items_tfawsdynamodbTableDynamodbTable_3639CE64" { + arn = (known after apply) + billing_mode = "PAY_PER_REQUEST" + hash_key = "Name" + id = (known after apply) + name = "Items-591d973a" + read_capacity = (known after apply) + stream_arn = (known after apply) + stream_label = (known after apply) + stream_view_type = (known after apply) + tags_all = (known after apply) + write_capacity = (known after apply) + attribute { + name = "Name" + type = "S" } } # aws_iam_role.VotingAppApi_VotingAppApi-OnRequest-52bc3c17_IamRole_CBB68D47 will be created + resource "aws_iam_role" "VotingAppApi_VotingAppApi-OnRequest-52bc3c17_IamRole_CBB68D47" { + arn = (known after apply) + assume_role_policy = jsonencode( { + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "lambda.amazonaws.com" } }, ] + Version = "2012-10-17" } ) + create_date = (known after apply) + force_detach_policies = false + id = (known after apply) + managed_policy_arns = (known after apply) + max_session_duration = 3600 + name = (known after apply) + name_prefix = (known after apply) + path = "/" + role_last_used = (known after apply) + tags_all = (known after apply) + unique_id = (known after apply) } # aws_iam_role_policy.InitializeTable_Function_IamRolePolicy_2AD89519 will be updated in-place ~ resource "aws_iam_role_policy" "InitializeTable_Function_IamRolePolicy_2AD89519" { id = "terraform-20230727202411672600000001:terraform-20230727202424567600000008" name = "terraform-20230727202424567600000008" ~ policy = jsonencode( { - Statement = [ - { - Action = [ - "dynamodb:PutItem", ] - Effect = "Allow" - Resource = [ - "arn:aws:dynamodb:us-east-1:223316951128:table/VotingAppItems-0e93c191", ] }, ] - Version = "2012-10-17" } ) -> (known after apply) # (1 unchanged attribute hidden) } # aws_iam_role_policy.VotingAppApi_VotingAppApi-OnRequest-41f14472_IamRolePolicy_25C9720E will be updated in-place ~ resource "aws_iam_role_policy" "VotingAppApi_VotingAppApi-OnRequest-41f14472_IamRolePolicy_25C9720E" { id = "terraform-20230727204725916100000001:terraform-20230727204739773400000005" name = "terraform-20230727204739773400000005" ~ policy = jsonencode( { - Statement = [ - { - Action = [ - "dynamodb:PutItem", ] - Effect = "Allow" - Resource = [ - "arn:aws:dynamodb:us-east-1:223316951128:table/VotingAppItems-0e93c191", ] }, ] - Version = "2012-10-17" } ) -> (known after apply) # (1 unchanged attribute hidden) } # aws_iam_role_policy.VotingAppApi_VotingAppApi-OnRequest-52bc3c17_IamRolePolicy_0F307DC9 will be created + resource "aws_iam_role_policy" "VotingAppApi_VotingAppApi-OnRequest-52bc3c17_IamRolePolicy_0F307DC9" { + id = (known after apply) + name = (known after apply) + policy = (known after apply) + role = (known after apply) } # aws_iam_role_policy.VotingAppApi_VotingAppApi-OnRequest-8d2e75ec_IamRolePolicy_2D34FA97 will be updated in-place ~ resource "aws_iam_role_policy" "VotingAppApi_VotingAppApi-OnRequest-8d2e75ec_IamRolePolicy_2D34FA97" { id = "terraform-20230803215115569800000002:terraform-20230803215115813700000003" name = "terraform-20230803215115813700000003" ~ policy = jsonencode( { - Statement = [ - { - Action = [ - "dynamodb:Scan", ] - Effect = "Allow" - Resource = [ - "arn:aws:dynamodb:us-east-1:223316951128:table/VotingAppItems-0e93c191", ] }, ] - Version = "2012-10-17" } ) -> (known after apply) # (1 unchanged attribute hidden) } # aws_iam_role_policy_attachment.VotingAppApi_VotingAppApi-OnRequest-52bc3c17_IamRolePolicyAttachment_92A90320 will be created + resource "aws_iam_role_policy_attachment" "VotingAppApi_VotingAppApi-OnRequest-52bc3c17_IamRolePolicyAttachment_92A90320" { + id = (known after apply) + policy_arn = "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + role = (known after apply) } # aws_lambda_function.InitializeTable_Function_FD00736D will be updated in-place ~ resource "aws_lambda_function" "InitializeTable_Function_FD00736D" { id = "Function-c8e7055b" ~ last_modified = "2023-08-07T19:11:35.000+0000" -> (known after apply) ~ qualified_arn = "arn:aws:lambda:us-east-1:223316951128:function:Function-c8e7055b:4" -> (known after apply) ~ qualified_invoke_arn = "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:223316951128:function:Function-c8e7055b:4/invocations" -> (known after apply) ~ s3_key = "asset.c8e7055bb3773d297f63b5172fb6a571cddc069012.0e8df7bef12533a828f247bc3e6ebe94.zip" -> "asset.c8e7055bb3773d297f63b5172fb6a571cddc069012.06fcad715492c42a43a9914649b14f8c.zip" tags = {} ~ version = "4" -> (known after apply) # (18 unchanged attributes hidden) ~ environment { ~ variables = { ~ "WING_TOKEN_TFTOKEN_TOKEN_1" = "\"VotingAppItems-0e93c191\"" -> "\"Items-591d973a\"" # (2 unchanged elements hidden) } } # (2 unchanged blocks hidden) } # aws_lambda_function.VotingAppApi_VotingAppApi-OnRequest-41f14472_39478289 will be updated in-place ~ resource "aws_lambda_function" "VotingAppApi_VotingAppApi-OnRequest-41f14472_39478289" { id = "VotingAppApi-OnRequest-41f14472-c87bddf9" ~ last_modified = "2023-08-07T19:11:35.000+0000" -> (known after apply) ~ qualified_arn = "arn:aws:lambda:us-east-1:223316951128:function:VotingAppApi-OnRequest-41f14472-c87bddf9:3" -> (known after apply) ~ qualified_invoke_arn = "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:223316951128:function:VotingAppApi-OnRequest-41f14472-c87bddf9:3/invocations" -> (known after apply) ~ s3_key = "asset.c87bddf927b70f22f963a14d64ce5f4bf1372d398a.c3b5834ee0c4b6c901478375293493cd.zip" -> "asset.c87bddf927b70f22f963a14d64ce5f4bf1372d398a.c332e5f8975a82d85b9db0cc8f5d9cfb.zip" tags = {} ~ version = "3" -> (known after apply) # (18 unchanged attributes hidden) ~ environment { ~ variables = { ~ "WING_TOKEN_TFTOKEN_TOKEN_1" = "\"VotingAppItems-0e93c191\"" -> "\"Items-591d973a\"" # (2 unchanged elements hidden) } } # (2 unchanged blocks hidden) } # aws_lambda_function.VotingAppApi_VotingAppApi-OnRequest-52bc3c17_02CD08E6 will be created + resource "aws_lambda_function" "VotingAppApi_VotingAppApi-OnRequest-52bc3c17_02CD08E6" { + architectures = (known after apply) + arn = (known after apply) + function_name = "VotingAppApi-OnRequest-52bc3c17-c89daf14" + handler = "index.handler" + id = (known after apply) + invoke_arn = (known after apply) + last_modified = (known after apply) + memory_size = 128 + package_type = "Zip" + publish = true + qualified_arn = (known after apply) + qualified_invoke_arn = (known after apply) + reserved_concurrent_executions = -1 + role = (known after apply) + runtime = "nodejs18.x" + s3_bucket = "code-c84a50b1-20230727202411678600000003" + s3_key = "asset.c89daf14978fb4fcb47ef703ae9610992b519c2727.cb323641ca46a77cde117bac67e4f492.zip" + signing_job_arn = (known after apply) + signing_profile_version_arn = (known after apply) + skip_destroy = false + source_code_hash = (known after apply) + source_code_size = (known after apply) + tags_all = (known after apply) + timeout = 30 + version = (known after apply) + environment { + variables = { + "WING_FUNCTION_NAME" = "VotingAppApi-OnRequest-52bc3c17-c89daf14" + "WING_TARGET" = "tf-aws" + "WING_TOKEN_TFTOKEN_TOKEN_1" = "\"Items-591d973a\"" } } + vpc_config { + vpc_id = (known after apply) } } # aws_lambda_function.VotingAppApi_VotingAppApi-OnRequest-8d2e75ec_93510F52 will be updated in-place ~ resource "aws_lambda_function" "VotingAppApi_VotingAppApi-OnRequest-8d2e75ec_93510F52" { id = "VotingAppApi-OnRequest-8d2e75ec-c8cf8e09" ~ last_modified = "2023-08-07T19:11:35.000+0000" -> (known after apply) ~ qualified_arn = "arn:aws:lambda:us-east-1:223316951128:function:VotingAppApi-OnRequest-8d2e75ec-c8cf8e09:2" -> (known after apply) ~ qualified_invoke_arn = "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:223316951128:function:VotingAppApi-OnRequest-8d2e75ec-c8cf8e09:2/invocations" -> (known after apply) ~ s3_key = "asset.c8cf8e09741b572c80a663f9c8cf9ce40395e87b08.773077af10281ac7f34b7794d69d250b.zip" -> "asset.c8cf8e09741b572c80a663f9c8cf9ce40395e87b08.4306c0d47afe6fa3f8a02d933b046ae2.zip" tags = {} ~ version = "2" -> (known after apply) # (18 unchanged attributes hidden) ~ environment { ~ variables = { ~ "WING_TOKEN_TFTOKEN_TOKEN_1" = "\"VotingAppItems-0e93c191\"" -> "\"Items-591d973a\"" # (2 unchanged elements hidden) } } # (2 unchanged blocks hidden) } # aws_lambda_permission.VotingAppApi_api_permission-POST-53dc1f64_98751060 will be created + resource "aws_lambda_permission" "VotingAppApi_api_permission-POST-53dc1f64_98751060" { + action = "lambda:InvokeFunction" + function_name = "VotingAppApi-OnRequest-52bc3c17-c89daf14" + id = (known after apply) + principal = "apigateway.amazonaws.com" + source_arn = "arn:aws:execute-api:us-east-1:223316951128:dfh6uhtoa0/*/POST/requestChoices" + statement_id = "AllowExecutionFromAPIGateway-POST-53dc1f64" + statement_id_prefix = (known after apply) } # aws_lambda_permission.VotingAppApi_api_permission-POST-57590acc_3E83C8F6 will be created + resource "aws_lambda_permission" "VotingAppApi_api_permission-POST-57590acc_3E83C8F6" { + action = "lambda:InvokeFunction" + function_name = "VotingAppApi-OnRequest-41f14472-c87bddf9" + id = (known after apply) + principal = "apigateway.amazonaws.com" + source_arn = "arn:aws:execute-api:us-east-1:223316951128:dfh6uhtoa0/*/POST/selectWinner" + statement_id = "AllowExecutionFromAPIGateway-POST-57590acc" + statement_id_prefix = (known after apply) } # aws_lambda_permission.VotingAppApi_api_permission-POST-cb38ebcb_8DE7E4D2 will be destroyed # (because aws_lambda_permission.VotingAppApi_api_permission-POST-cb38ebcb_8DE7E4D2 is not in configuration) - resource "aws_lambda_permission" "VotingAppApi_api_permission-POST-cb38ebcb_8DE7E4D2" { - action = "lambda:InvokeFunction" -> null - function_name = "VotingAppApi-OnRequest-41f14472-c87bddf9" -> null - id = "AllowExecutionFromAPIGateway-POST-cb38ebcb" -> null - principal = "apigateway.amazonaws.com" -> null - source_arn = "arn:aws:execute-api:us-east-1:223316951128:dfh6uhtoa0/*/POST/vote" -> null - statement_id = "AllowExecutionFromAPIGateway-POST-cb38ebcb" -> null } # aws_s3_object.InitializeTable_Function_S3Object_F5933D3B must be replaced -/+ resource "aws_s3_object" "InitializeTable_Function_S3Object_F5933D3B" { ~ bucket_key_enabled = false -> (known after apply) ~ content_type = "binary/octet-stream" -> (known after apply) ~ etag = "a9566346832d929f1274c71f11ada98d" -> (known after apply) ~ id = "asset.c8e7055bb3773d297f63b5172fb6a571cddc069012.0e8df7bef12533a828f247bc3e6ebe94.zip" -> (known after apply) ~ key = "asset.c8e7055bb3773d297f63b5172fb6a571cddc069012.0e8df7bef12533a828f247bc3e6ebe94.zip" -> "asset.c8e7055bb3773d297f63b5172fb6a571cddc069012.06fcad715492c42a43a9914649b14f8c.zip" # forces replacement + kms_key_id = (known after apply) - metadata = {} -> null ~ server_side_encryption = "AES256" -> (known after apply) ~ source = "assets/InitializeTable_Function_Asset_1A1B5BC3/0E8DF7BEF12533A828F247BC3E6EBE94/archive.zip" -> "assets/InitializeTable_Function_Asset_1A1B5BC3/06FCAD715492C42A43A9914649B14F8C/archive.zip" ~ storage_class = "STANDARD" -> (known after apply) - tags = {} -> null ~ tags_all = {} -> (known after apply) + version_id = (known after apply) # (3 unchanged attributes hidden) } # aws_s3_object.VotingAppApi_VotingAppApi-OnRequest-41f14472_S3Object_C95F6BA9 must be replaced +/- resource "aws_s3_object" "VotingAppApi_VotingAppApi-OnRequest-41f14472_S3Object_C95F6BA9" { ~ bucket_key_enabled = false -> (known after apply) ~ content_type = "binary/octet-stream" -> (known after apply) ~ etag = "49952bdccbc614f9c90d1132267db355" -> (known after apply) ~ id = "asset.c87bddf927b70f22f963a14d64ce5f4bf1372d398a.c3b5834ee0c4b6c901478375293493cd.zip" -> (known after apply) ~ key = "asset.c87bddf927b70f22f963a14d64ce5f4bf1372d398a.c3b5834ee0c4b6c901478375293493cd.zip" -> "asset.c87bddf927b70f22f963a14d64ce5f4bf1372d398a.c332e5f8975a82d85b9db0cc8f5d9cfb.zip" # forces replacement + kms_key_id = (known after apply) - metadata = {} -> null ~ server_side_encryption = "AES256" -> (known after apply) ~ source = "assets/VotingAppApi_VotingAppApi-OnRequest-41f14472_Asset_94F55D63/C3B5834EE0C4B6C901478375293493CD/archive.zip" -> "assets/VotingAppApi_VotingAppApi-OnRequest-41f14472_Asset_94F55D63/C332E5F8975A82D85B9DB0CC8F5D9CFB/archive.zip" ~ storage_class = "STANDARD" -> (known after apply) - tags = {} -> null ~ tags_all = {} -> (known after apply) + version_id = (known after apply) # (3 unchanged attributes hidden) } # aws_s3_object.VotingAppApi_VotingAppApi-OnRequest-52bc3c17_S3Object_F3A42DC6 will be created + resource "aws_s3_object" "VotingAppApi_VotingAppApi-OnRequest-52bc3c17_S3Object_F3A42DC6" { + acl = "private" + bucket = "code-c84a50b1-20230727202411678600000003" + bucket_key_enabled = (known after apply) + content_type = (known after apply) + etag = (known after apply) + force_destroy = false + id = (known after apply) + key = "asset.c89daf14978fb4fcb47ef703ae9610992b519c2727.cb323641ca46a77cde117bac67e4f492.zip" + kms_key_id = (known after apply) + server_side_encryption = (known after apply) + source = "assets/VotingAppApi_VotingAppApi-OnRequest-52bc3c17_Asset_FBAD96D6/CB323641CA46A77CDE117BAC67E4F492/archive.zip" + storage_class = (known after apply) + tags_all = (known after apply) + version_id = (known after apply) } # aws_s3_object.VotingAppApi_VotingAppApi-OnRequest-8d2e75ec_S3Object_F8CCE004 must be replaced +/- resource "aws_s3_object" "VotingAppApi_VotingAppApi-OnRequest-8d2e75ec_S3Object_F8CCE004" { ~ bucket_key_enabled = false -> (known after apply) ~ content_type = "binary/octet-stream" -> (known after apply) ~ etag = "e6241a202857ff525fc123c801b04e01" -> (known after apply) ~ id = "asset.c8cf8e09741b572c80a663f9c8cf9ce40395e87b08.773077af10281ac7f34b7794d69d250b.zip" -> (known after apply) ~ key = "asset.c8cf8e09741b572c80a663f9c8cf9ce40395e87b08.773077af10281ac7f34b7794d69d250b.zip" -> "asset.c8cf8e09741b572c80a663f9c8cf9ce40395e87b08.4306c0d47afe6fa3f8a02d933b046ae2.zip" # forces replacement + kms_key_id = (known after apply) - metadata = {} -> null ~ server_side_encryption = "AES256" -> (known after apply) ~ source = "assets/VotingAppApi_VotingAppApi-OnRequest-8d2e75ec_Asset_4A29FD21/773077AF10281AC7F34B7794D69D250B/archive.zip" -> "assets/VotingAppApi_VotingAppApi-OnRequest-8d2e75ec_Asset_4A29FD21/4306C0D47AFE6FA3F8A02D933B046AE2/archive.zip" ~ storage_class = "STANDARD" -> (known after apply) - tags = {} -> null ~ tags_all = {} -> (known after apply) + version_id = (known after apply) # (3 unchanged attributes hidden) } Plan: 12 to add, 8 to change, 6 to destroy. ```