hashicorp / terraform-provider-aws

The AWS Provider enables Terraform to manage AWS resources.
https://registry.terraform.io/providers/hashicorp/aws
Mozilla Public License 2.0
9.75k stars 9.11k forks source link

[Bug]: interface {} is nil, not map[string]interface {} #29457

Open marceloboeira opened 1 year ago

marceloboeira commented 1 year ago

Terraform Core Version

1.3.5 (darwin_amd64)

AWS Provider Version

4.54.0

Affected Resource(s)

aws.aws_db_instance

Expected Behavior

Create the resource OR show a meaningful error

Actual Behavior

module.eu-central-1.module.module.rds.aws_db_instance.default: Creating...
╷
│ Error: Plugin did not respond
│
│   with module.eu-central-1.module.rds.aws_db_instance.default,
│   on ../../modules/aws/rds/main.tf line 1, in resource "aws_db_instance" "default":
│    1: resource "aws_db_instance" "default" {
│
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).ApplyResourceChange call. The plugin logs may contain more details.
╵
Releasing state lock. This may take a few moments...

Stack trace from the terraform-provider-aws_v4.54.0_x5 plugin:

panic: interface conversion: interface {} is nil, not map[string]interface {}

goroutine 390 [running]:
github.com/hashicorp/terraform-provider-aws/internal/service/rds.resourceInstanceCreate({0xeef0d20?, 0xc003936db0}, 0xc0034e3500, {0xda7a3c0?, 0xc0003b9c00})
        github.com/hashicorp/terraform-provider-aws/internal/service/rds/instance.go:1166 +0x67d1
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).create(0xeef0d20?, {0xeef0d20?, 0xc003936db0?}, 0xd?, {0xda7a3c0?, 0xc0003b9c00?})
        github.com/hashicorp/terraform-plugin-sdk/v2@v2.24.1/helper/schema/resource.go:702 +0x84
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).Apply(0xc00194b180, {0xeef0d20, 0xc003936db0}, 0xc00353d1e0, 0xc0034e3380, {0xda7a3c0, 0xc0003b9c00})
        github.com/hashicorp/terraform-plugin-sdk/v2@v2.24.1/helper/schema/resource.go:837 +0xa85
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*GRPCProviderServer).ApplyResourceChange(0xc0000114d0, {0xeef0d20?, 0xc003936c90?}, 0xc0035ba730)
        github.com/hashicorp/terraform-plugin-sdk/v2@v2.24.1/helper/schema/grpc_provider.go:1021 +0xe8d
github.com/hashicorp/terraform-plugin-mux/tf5muxserver.muxServer.ApplyResourceChange({0xc0034800c0, 0xc003480120, {0xc004c99f40, 0x2, 0x2}, {0x0, 0x0, 0x0}, {0x0, 0x0, ...}, ...}, ...)
        github.com/hashicorp/terraform-plugin-mux@v0.8.0/tf5muxserver/mux_server_ApplyResourceChange.go:27 +0x102
github.com/hashicorp/terraform-plugin-go/tfprotov5/tf5server.(*server).ApplyResourceChange(0xc0024e6d20, {0xeef0d20?, 0xc0038fe630?}, 0xc0058b4fc0)
        github.com/hashicorp/terraform-plugin-go@v0.14.3/tfprotov5/tf5server/server.go:818 +0x574
github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5._Provider_ApplyResourceChange_Handler({0xd797960?, 0xc0024e6d20}, {0xeef0d20, 0xc0038fe630}, 0xc0058b4f50, 0x0)
        github.com/hashicorp/terraform-plugin-go@v0.14.3/tfprotov5/internal/tfplugin5/tfplugin5_grpc.pb.go:385 +0x170
google.golang.org/grpc.(*Server).processUnaryRPC(0xc0046f90e0, {0xeeffd60, 0xc0049216c0}, 0xc00354e7e0, 0xc004dbb920, 0x1551abc0, 0x0)
        google.golang.org/grpc@v1.53.0/server.go:1336 +0xd23
google.golang.org/grpc.(*Server).handleStream(0xc0046f90e0, {0xeeffd60, 0xc0049216c0}, 0xc00354e7e0, 0x0)
        google.golang.org/grpc@v1.53.0/server.go:1704 +0xa2f
google.golang.org/grpc.(*Server).serveStreams.func1.2()
        google.golang.org/grpc@v1.53.0/server.go:965 +0x98
created by google.golang.org/grpc.(*Server).serveStreams.func1
        google.golang.org/grpc@v1.53.0/server.go:963 +0x28a

Error: The terraform-provider-aws_v4.54.0_x5 plugin crashed!

This is always indicative of a bug within the plugin. It would be immensely
helpful if you could report the crash with the plugin's maintainers so that it
can be fixed. The output above should help diagnose the issue.

Relevant Error/Panic Output Snippet

2023-02-16T16:32:05.416+0100 [DEBUG] module.eu-central-1.module.module.rds.aws_db_instance.default: applying the planned Create change
2023-02-16T16:32:05.424+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5: [DEBUG] setting computed for "replicas" from ComputedKeys
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5: panic: interface conversion: interface {} is nil, not map[string]interface {}
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5: 
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5: goroutine 333 [running]:
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5: github.com/hashicorp/terraform-provider-aws/internal/service/rds.resourceInstanceCreate({0xeef0d20?, 0xc0034fa390}, 0xc003408900, {0xda7a3c0?, 0xc0003f9c00})
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5:    github.com/hashicorp/terraform-provider-aws/internal/service/rds/instance.go:1166 +0x67d1
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5: github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).create(0xeef0d20?, {0xeef0d20?, 0xc0034fa390?}, 0xd?, {0xda7a3c0?, 0xc0003f9c00?})
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5:    github.com/hashicorp/terraform-plugin-sdk/v2@v2.24.1/helper/schema/resource.go:702 +0x84
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5: github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).Apply(0xc0016c10a0, {0xeef0d20, 0xc0034fa390}, 0xc000dbc270, 0xc003408780, {0xda7a3c0, 0xc0003f9c00})
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5:    github.com/hashicorp/terraform-plugin-sdk/v2@v2.24.1/helper/schema/resource.go:837 +0xa85
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5: github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*GRPCProviderServer).ApplyResourceChange(0xc000118f48, {0xeef0d20?, 0xc0034fa210?}, 0xc000da7090)
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5:    github.com/hashicorp/terraform-plugin-sdk/v2@v2.24.1/helper/schema/grpc_provider.go:1021 +0xe8d
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5: github.com/hashicorp/terraform-plugin-mux/tf5muxserver.muxServer.ApplyResourceChange({0xc0033d4990, 0xc0033d49f0, {0xc004bc18c0, 0x2, 0x2}, {0x0, 0x0, 0x0}, {0x0, 0x0, ...}, ...}, ...)
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5:    github.com/hashicorp/terraform-plugin-mux@v0.8.0/tf5muxserver/mux_server_ApplyResourceChange.go:27 +0x102
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5: github.com/hashicorp/terraform-plugin-go/tfprotov5/tf5server.(*server).ApplyResourceChange(0xc0022319a0, {0xeef0d20?, 0xc0034f5050?}, 0xc000aef500)
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5:    github.com/hashicorp/terraform-plugin-go@v0.14.3/tfprotov5/tf5server/server.go:818 +0x574
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5: github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5._Provider_ApplyResourceChange_Handler({0xd797960?, 0xc0022319a0}, {0xeef0d20, 0xc0034f5050}, 0xc000aef490, 0x0)
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5:    github.com/hashicorp/terraform-plugin-go@v0.14.3/tfprotov5/internal/tfplugin5/tfplugin5_grpc.pb.go:385 +0x170
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5: google.golang.org/grpc.(*Server).processUnaryRPC(0xc0045850e0, {0xeeffd60, 0xc000164680}, 0xc005af2120, 0xc004c43b30, 0x1551abc0, 0x0)
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5:    google.golang.org/grpc@v1.53.0/server.go:1336 +0xd23
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5: google.golang.org/grpc.(*Server).handleStream(0xc0045850e0, {0xeeffd60, 0xc000164680}, 0xc005af2120, 0x0)
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5:    google.golang.org/grpc@v1.53.0/server.go:1704 +0xa2f
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5: google.golang.org/grpc.(*Server).serveStreams.func1.2()
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5:    google.golang.org/grpc@v1.53.0/server.go:965 +0x98
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5: created by google.golang.org/grpc.(*Server).serveStreams.func1
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5:    google.golang.org/grpc@v1.53.0/server.go:963 +0x28a
2023-02-16T16:32:05.436+0100 [DEBUG] provider: plugin process exited: path=.terraform/providers/registry.terraform.io/hashicorp/aws/4.54.0/darwin_amd64/terraform-provider-aws_v4.54.0_x5 pid=21296 error="exit status 2"
2023-02-16T16:32:05.437+0100 [DEBUG] provider.stdio: received EOF, stopping recv loop: err="rpc error: code = Unavailable desc = error reading from server: EOF"
2023-02-16T16:32:05.438+0100 [ERROR] plugin.(*GRPCProvider).ApplyResourceChange: error="rpc error: code = Unavailable desc = error reading from server: EOF"
2023-02-16T16:32:05.457+0100 [ERROR] vertex "module.eu-central-1.module.module.rds.aws_db_instance.default" error: Plugin did not respond

Terraform Configuration Files

  + resource "aws_db_instance" "default" {
      + address                               = (known after apply)
      + allocated_storage                     = 1500
      + allow_major_version_upgrade           = false
      + apply_immediately                     = false
      + arn                                   = (known after apply)
      + auto_minor_version_upgrade            = false
      + availability_zone                     = (known after apply)
      + backup_retention_period               = 30
      + backup_window                         = (known after apply)
      + ca_cert_identifier                    = "rds-ca-2019"
      + character_set_name                    = (known after apply)
      + copy_tags_to_snapshot                 = false
      + db_name                               = "staging-elastic-sro-stable"
      + db_subnet_group_name                  = "staging-rds-subnet-group"
      + delete_automated_backups              = true
      + deletion_protection                   = false
      + domain                                = "d-XXXXX"
      + domain_iam_role_name                  = "cfn/rds_directory_service_access"
      + endpoint                              = (known after apply)
      + engine                                = "sqlserver-se"
      + engine_version                        = "15.XXXXX"
      + engine_version_actual                 = (known after apply)
      + hosted_zone_id                        = (known after apply)
      + id                                    = (known after apply)
      + identifier                            = (known after apply)
      + identifier_prefix                     = (known after apply)
      + instance_class                        = "db.t3.xlarge"
      + iops                                  = 3000
      + kms_key_id                            = (known after apply)
      + latest_restorable_time                = (known after apply)
      + license_model                         = "license-included"
      + maintenance_window                    = (known after apply)
      + monitoring_interval                   = 10
      + monitoring_role_arn                   = "arn:aws:iam::XXXXXX:role/rds-monitoring-role"
      + multi_az                              = false
      + name                                  = (known after apply)
      + nchar_character_set_name              = (known after apply)
      + network_type                          = (known after apply)
      + option_group_name                     = (known after apply)
      + parameter_group_name                  = (known after apply)
      + password                              = (sensitive value)
      + performance_insights_enabled          = false
      + performance_insights_kms_key_id       = (known after apply)
      + performance_insights_retention_period = (known after apply)
      + port                                  = (known after apply)
      + publicly_accessible                   = false
      + replica_mode                          = (known after apply)
      + replicas                              = (known after apply)
      + resource_id                           = (known after apply)
      + skip_final_snapshot                   = false
      + snapshot_identifier                   = (known after apply)
      + status                                = (known after apply)
      + storage_encrypted                     = true
      + storage_throughput                    = (known after apply)
      + storage_type                          = "gp3"
      + tags                                  = {
          + "cost-center"         = "XX"
          + "cost_center"         = ""
          + "creator"             = ""
          + "environment"         = "staging"
          + "hosting_type"        = "rds"
          + "region"              = "eu-central-1"
          + "rotate-snapshots"    = "true"
          + "service"             = "sql"
          + "template-path"       = ""
          + "vdc"                 = ""
        }
      + tags_all                              = {
          + "cost-center"         = "XX"
          + "cost_center"         = (known after apply)
          + "creator"             = (known after apply)
          + "environment"         = "staging"
          + "hosting_type"        = "rds"
          + "region"              = "eu-central-1"
          + "rotate-snapshots"    = "true"
          + "service"             = "sql"
          + "template-path"       = (known after apply)
          + "vdc"                 = (known after apply)
        }
      + timezone                              = (known after apply)
      + username                              = "testuser"
      + vpc_security_group_ids                = [
          + "sg-XXXX",
        ]

      + restore_to_point_in_time {}
    }

Steps to Reproduce

Debug Output

2023-02-16T16:32:05.424+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5: [DEBUG] setting computed for "replicas" from ComputedKeys
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5: panic: interface conversion: interface {} is nil, not map[string]interface {}
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5: 
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5: goroutine 333 [running]:
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5: github.com/hashicorp/terraform-provider-aws/internal/service/rds.resourceInstanceCreate({0xeef0d20?, 0xc0034fa390}, 0xc003408900, {0xda7a3c0?, 0xc0003f9c00})
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5:    github.com/hashicorp/terraform-provider-aws/internal/service/rds/instance.go:1166 +0x67d1
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5: github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).create(0xeef0d20?, {0xeef0d20?, 0xc0034fa390?}, 0xd?, {0xda7a3c0?, 0xc0003f9c00?})
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5:    github.com/hashicorp/terraform-plugin-sdk/v2@v2.24.1/helper/schema/resource.go:702 +0x84
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5: github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).Apply(0xc0016c10a0, {0xeef0d20, 0xc0034fa390}, 0xc000dbc270, 0xc003408780, {0xda7a3c0, 0xc0003f9c00})
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5:    github.com/hashicorp/terraform-plugin-sdk/v2@v2.24.1/helper/schema/resource.go:837 +0xa85
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5: github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*GRPCProviderServer).ApplyResourceChange(0xc000118f48, {0xeef0d20?, 0xc0034fa210?}, 0xc000da7090)
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5:    github.com/hashicorp/terraform-plugin-sdk/v2@v2.24.1/helper/schema/grpc_provider.go:1021 +0xe8d
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5: github.com/hashicorp/terraform-plugin-mux/tf5muxserver.muxServer.ApplyResourceChange({0xc0033d4990, 0xc0033d49f0, {0xc004bc18c0, 0x2, 0x2}, {0x0, 0x0, 0x0}, {0x0, 0x0, ...}, ...}, ...)
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5:    github.com/hashicorp/terraform-plugin-mux@v0.8.0/tf5muxserver/mux_server_ApplyResourceChange.go:27 +0x102
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5: github.com/hashicorp/terraform-plugin-go/tfprotov5/tf5server.(*server).ApplyResourceChange(0xc0022319a0, {0xeef0d20?, 0xc0034f5050?}, 0xc000aef500)
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5:    github.com/hashicorp/terraform-plugin-go@v0.14.3/tfprotov5/tf5server/server.go:818 +0x574
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5: github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5._Provider_ApplyResourceChange_Handler({0xd797960?, 0xc0022319a0}, {0xeef0d20, 0xc0034f5050}, 0xc000aef490, 0x0)
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5:    github.com/hashicorp/terraform-plugin-go@v0.14.3/tfprotov5/internal/tfplugin5/tfplugin5_grpc.pb.go:385 +0x170
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5: google.golang.org/grpc.(*Server).processUnaryRPC(0xc0045850e0, {0xeeffd60, 0xc000164680}, 0xc005af2120, 0xc004c43b30, 0x1551abc0, 0x0)
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5:    google.golang.org/grpc@v1.53.0/server.go:1336 +0xd23
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5: google.golang.org/grpc.(*Server).handleStream(0xc0045850e0, {0xeeffd60, 0xc000164680}, 0xc005af2120, 0x0)
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5:    google.golang.org/grpc@v1.53.0/server.go:1704 +0xa2f
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5: google.golang.org/grpc.(*Server).serveStreams.func1.2()
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5:    google.golang.org/grpc@v1.53.0/server.go:965 +0x98
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5: created by google.golang.org/grpc.(*Server).serveStreams.func1
2023-02-16T16:32:05.427+0100 [DEBUG] provider.terraform-provider-aws_v4.54.0_x5:    google.golang.org/grpc@v1.53.0/server.go:963 +0x28a
2023-02-16T16:32:05.436+0100 [DEBUG] provider: plugin process exited: path=.terraform/providers/registry.terraform.io/hashicorp/aws/4.54.0/darwin_amd64/terraform-provider-aws_v4.54.0_x5 pid=21296 error="exit status 2"
2023-02-16T16:32:05.437+0100 [DEBUG] provider.stdio: received EOF, stopping recv loop: err="rpc error: code = Unavailable desc = error reading from server: EOF"
2023-02-16T16:32:05.438+0100 [ERROR] plugin.(*GRPCProvider).ApplyResourceChange: error="rpc error: code = Unavailable desc = error reading from server: EOF"
2023-02-16T16:32:05.457+0100 [ERROR] vertex "module.eu-central-1.module.module.rds.aws_db_instance.default" error: Plugin did not respond

Panic Output

No response

Important Factoids

No response

References

No response

Would you like to implement a fix?

Yes

github-actions[bot] commented 1 year ago

Community Note

Voting for Prioritization

Volunteering to Work on This Issue

Liroyalima commented 1 year ago

👀

marceloboeira commented 1 year ago

Investigating it a bit further, it seems I found the problem itself:

https://github.com/hashicorp/terraform-provider-aws/blob/main/internal/service/rds/instance.go#L1165-L1176

 else if v, ok := d.GetOk("restore_to_point_in_time"); ok {
        tfMap := v.([]interface{})[0].(map[string]interface{})

        input := &rds.RestoreDBInstanceToPointInTimeInput{
            AutoMinorVersionUpgrade:    aws.Bool(d.Get("auto_minor_version_upgrade").(bool)),
            CopyTagsToSnapshot:         aws.Bool(d.Get("copy_tags_to_snapshot").(bool)),
            DBInstanceClass:            aws.String(d.Get("instance_class").(string)),
            DeletionProtection:         aws.Bool(d.Get("deletion_protection").(bool)),
            PubliclyAccessible:         aws.Bool(d.Get("publicly_accessible").(bool)),
            Tags:                       Tags(tags.IgnoreAWS()),
            TargetDBInstanceIdentifier: aws.String(identifier),
        }
resource "aws_db_instance" "default" {
  restore_to_point_in_time {
    source_db_instance_identifier = <expression>
   }

Sometimes the expression would return the identifier, but it could also return null.