Programgen support for fn_output forms in Python (#7949) (#8433)

* Update Python programgen to use fn_output forms

* Fix skips

* Fix CHANGELOG

* Accept changes, backing out Fargate change
This commit is contained in:
Anton Tayanovskyy 2021-11-18 17:43:13 -05:00 committed by GitHub
parent 3e2f36548e
commit 1cedb29193
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 36 additions and 2 deletions

View file

@ -1,5 +1,9 @@
### Improvements
- [codegen/python] - Program generator now uses `fn_output` forms where
appropriate, simplifying auto-generated examples.
[#8433](https://github.com/pulumi/pulumi/pull/8433)
### Bug Fixes
- [codegen/typescript] - Respect default values in Pulumi object types.

View file

@ -50,7 +50,7 @@ var programTests = []programTest{
Name: "aws-fargate",
Description: "AWS Fargate",
SkipCompile: codegen.NewStringSet("go"),
Skip: codegen.NewStringSet("go", "python", "dotnet"),
Skip: codegen.NewStringSet("go", "dotnet"),
},
{
Name: "aws-s3-logging",
@ -127,7 +127,7 @@ var programTests = []programTest{
{
Name: "output-funcs-aws",
Description: "Output Versioned Functions",
Skip: codegen.NewStringSet("go", "python", "dotnet"),
Skip: codegen.NewStringSet("go", "dotnet"),
},
}

View file

@ -0,0 +1,25 @@
import pulumi
import pulumi_aws as aws
aws_vpc = aws.ec2.Vpc("aws_vpc",
cidr_block="10.0.0.0/16",
instance_tenancy="default")
private_s3_vpc_endpoint = aws.ec2.VpcEndpoint("privateS3VpcEndpoint",
vpc_id=aws_vpc.id,
service_name="com.amazonaws.us-west-2.s3")
private_s3_prefix_list = aws.ec2.get_prefix_list_output(prefix_list_id=private_s3_vpc_endpoint.prefix_list_id)
bar = aws.ec2.NetworkAcl("bar", vpc_id=aws_vpc.id)
private_s3_network_acl_rule = aws.ec2.NetworkAclRule("privateS3NetworkAclRule",
network_acl_id=bar.id,
rule_number=200,
egress=False,
protocol="tcp",
rule_action="allow",
cidr_block=private_s3_prefix_list.cidr_blocks[0],
from_port=443,
to_port=443)
amis = aws.ec2.get_ami_ids_output(owners=[bar.id],
filters=[aws.ec2.GetAmiIdsFilterArgs(
name=bar.id,
values=["pulumi*"],
)])

View file

@ -230,6 +230,11 @@ func (g *generator) GenFunctionCallExpression(w io.Writer, expr *model.FunctionC
}
name := fmt.Sprintf("%s%s.%s", pkg, module, PyName(fn))
isOut := pcl.IsOutputVersionInvokeCall(expr)
if isOut {
name = fmt.Sprintf("%s_output", name)
}
if len(expr.Args) == 1 {
g.Fprintf(w, "%s()", name)
return