localstack/pulumi-local

Including the Mobile Analytics endpoint causes Pulumi to fail to validate the provider configuration

tuttinator opened this issue · 4 comments

It appears that including the mobileanalytics endpoint in Pulumi.localstack.yml causes Pulumi to fail. This may be related to AWS sunsetting that service and integrating with the Pinpoint service.

Reproduction example:

Given an aws-typescript project with an index.ts like so:

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
import * as awsx from "@pulumi/awsx";

// Create an AWS resource (S3 Bucket)
const bucket = new aws.s3.Bucket("example-bucket");

and localstack running.

Expected behaviour:

Running pulumilocal up would complete successfully

Actual behaviour:

Running pulumilocal up fails with an error Invalid or unknown key.

$ pulumilocal up
Previewing update (localstack)

View Live: https://app.pulumi.com/tuttinator/job-pipeline/localstack/previews/cc8a0a0a-0181-4a07-bf69-21e8ce899c8c

     Type                 Name                     Plan       Info
 +   pulumi:pulumi:Stack  job-pipeline-localstack  create     1 warning
     └─ aws:s3:Bucket     example-bucket               1 error


Diagnostics:
  pulumi:pulumi:Stack (job-pipeline-localstack):
    warning: provider config warning: Use s3_use_path_style instead.

  aws:s3:Bucket (example-bucket):
    error: could not validate provider configuration: 1 error occurred:
    	* Invalid or unknown key

Running pulumilocal up -s localstack --verbose 3 --logtostderr --logflow -v=9 2> out.txt includes some hints that this is within the parsing of the configuration.

I1114 14:44:47.355483   88138 eventsink.go:59] Truncating attribute path of 1 diagnostics for TypeSet
I1114 14:44:47.355503   88138 eventsink.go:62] eventSink::Debug(<{%reset%}>Truncating attribute path of 1 diagnostics for TypeSet<{%reset%}>)
I1114 14:44:47.355693   88138 eventsink.go:94] eventSink::Warning(<{%reset%}>provider config warning: Use s3_use_path_style instead.<{%reset%}>)
I1114 14:44:47.356100   88138 provider_plugin.go:614] Provider[aws, 0x140015e2f00].Configure() failed: err=could not validate provider configuration: 1 error occurred:
	* Invalid or unknown key

I1114 14:44:47.356112   88138 deployment_executor.go:258] deploymentExecutor.Execute(...): error handling event: could not validate provider configuration: 1 error occurred:
	* Invalid or unknown key

I1114 14:44:47.356120   88138 eventsink.go:86] eventSink::Error(<{%reset%}>could not validate provider configuration: 1 error occurred:
	* Invalid or unknown key

Referencing localstack/localstack#7059 seems to indicate the same issue.

I will submit a PR which just removes this line

'mobileanalytics',

ToddG commented

I ran into this same issue today. Pulumi thread:

https://pulumi-community.slack.com/archives/C026EE6N2VB/p1668542984295379

ToddG commented

Created issue in pulumi here: pulumi/pulumi-terraform-bridge#651

Thanks @tuttinator @ToddG , the PR is now merged, and a new version 0.5 published to pypi 👍