Hello ! :wave: I'm creating Quota for some service...
# google-cloud
v
Hello ! 👋 I'm creating Quota for some service api in GCP, so this command run well using the CLI
Copy code
gcloud alpha services quota  create   --service=distance-matrix-backend.googleapis.com   --metric=distance-matrix-backend.googleapis.com/billable_default   --unit=1/d/{project}   --value=5000   --project=my-project --consumer=projects/my-project
but i'm trying to do the same using pulumi
Copy code
_, err = serviceusage.NewConsumerQuotaOverride(ctx, fmt.Sprintf("%s-distance-matrix-quota-override", environment), &serviceusage.ConsumerQuotaOverrideArgs{
		Metric:        pulumi.String("distance-matrix-backend.googleapis.com/billable_default"),
		Limit:         pulumi.String("1/d/{project}"),
		OverrideValue: pulumi.String("1500"),
		Service:       pulumi.String("distance-matrix-backend.googleapis.com"),
		Force:         pulumi.Bool(true),
		Project:       pulumi.String(googleProjectId),
	})
it's failing with a weird 404 error
Copy code
sdk-v2/provider2.go:566: sdk.helper_schema: Error creating ConsumerQuotaOverride: googleapi: got HTTP response code 404 with body: <!DOCTYPE html>
...
what I'm doing wrong ?
🎉found solution, metric and limit should url encoded and the '1' at the begining of the limit should be removed
Copy code
metricEncoded, err := std.Urlencode(ctx, &std.UrlencodeArgs{
		Input: "<http://distance-matrix-backend.googleapis.com/billable_default|distance-matrix-backend.googleapis.com/billable_default>",
	}, nil)
	if err != nil {
		return err
	}

	limitEncoded, err := std.Urlencode(ctx, &std.UrlencodeArgs{
		Input: "/d/project",
	}, nil)
	if err != nil {
		return err
	}
	_, err = serviceusage.NewConsumerQuotaOverride(ctx, fmt.Sprintf("%s-distance-matrix-quota-override", environment), &serviceusage.ConsumerQuotaOverrideArgs{
		Metric:        pulumi.String(metricEncoded.Result),
		Limit:         pulumi.String(limitEncoded.Result),
		OverrideValue: pulumi.String("300"),
		Service:       pulumi.String("<http://distance-matrix-backend.googleapis.com|distance-matrix-backend.googleapis.com>"),
		Force:         pulumi.Bool(true),
		Project:       pulumi.String(googleProjectId),
	})
s
Pretty obscure, nice fix!