Compare commits
2 commits
master
...
vl/GenResO
Author | SHA1 | Date | |
---|---|---|---|
5ea14f2442 | |||
3448ec1b1a |
|
@ -499,7 +499,12 @@ func genInputMethods(w io.Writer, name, receiverType, elementType string, ptrMet
|
|||
fmt.Fprintf(w, "}\n\n")
|
||||
|
||||
fmt.Fprintf(w, "func (i %s) To%sOutputWithContext(ctx context.Context) %sOutput {\n", receiverType, Title(name), name)
|
||||
fmt.Fprintf(w, "\treturn pulumi.ToOutputWithContext(ctx, i).(%sOutput)\n", name)
|
||||
if strings.HasSuffix(name, "Ptr") && !ptrMethods {
|
||||
base := name[:len(name)-3]
|
||||
fmt.Fprintf(w, "\treturn pulumi.ToOutputWithContext(ctx, i).(%sOutput).To%sOutput()\n", base, Title(name))
|
||||
} else {
|
||||
fmt.Fprintf(w, "\treturn pulumi.ToOutputWithContext(ctx, i).(%sOutput)\n", name)
|
||||
}
|
||||
fmt.Fprintf(w, "}\n\n")
|
||||
|
||||
if ptrMethods {
|
||||
|
@ -508,7 +513,11 @@ func genInputMethods(w io.Writer, name, receiverType, elementType string, ptrMet
|
|||
fmt.Fprintf(w, "}\n\n")
|
||||
|
||||
fmt.Fprintf(w, "func (i %s) To%sPtrOutputWithContext(ctx context.Context) %sPtrOutput {\n", receiverType, Title(name), name)
|
||||
fmt.Fprintf(w, "\treturn pulumi.ToOutputWithContext(ctx, i).(%[1]sOutput).To%[1]sPtrOutputWithContext(ctx)\n", name)
|
||||
if strings.HasSuffix(receiverType, "Args") {
|
||||
fmt.Fprintf(w, "\treturn pulumi.ToOutputWithContext(ctx, i).(%[1]sOutput).To%[1]sPtrOutput()\n", name)
|
||||
} else {
|
||||
fmt.Fprintf(w, "\treturn pulumi.ToOutputWithContext(ctx, i).(%sPtrOutput)\n", name)
|
||||
}
|
||||
fmt.Fprintf(w, "}\n\n")
|
||||
}
|
||||
}
|
||||
|
@ -1063,16 +1072,27 @@ func (pkg *pkgContext) genResource(w io.Writer, r *schema.Resource) error {
|
|||
fmt.Fprintf(w, "\tTo%[1]sOutput() %[1]sOutput\n", name)
|
||||
fmt.Fprintf(w, "\tTo%[1]sOutputWithContext(ctx context.Context) %[1]sOutput\n", name)
|
||||
fmt.Fprintf(w, "}\n\n")
|
||||
genInputMethods(w, name, "*"+name, name, false, true)
|
||||
genInputMethods(w, name, "*"+name, name, true, true)
|
||||
fmt.Fprintf(w, "type %sPtrInput interface {\n", name)
|
||||
fmt.Fprintf(w, "\tpulumi.Input\n\n")
|
||||
fmt.Fprintf(w, "\tTo%[1]sPtrOutput() %[1]sPtrOutput\n", name)
|
||||
fmt.Fprintf(w, "\tTo%[1]sPtrOutputWithContext(ctx context.Context) %[1]sPtrOutput\n", name)
|
||||
fmt.Fprintf(w, "}\n\n")
|
||||
|
||||
// Emit the resource output type.
|
||||
fmt.Fprintf(w, "type %sOutput struct {\n", name)
|
||||
fmt.Fprintf(w, "\t*pulumi.OutputState\n")
|
||||
fmt.Fprintf(w, "}\n\n")
|
||||
genOutputMethods(w, name, name, true)
|
||||
//genOutputMethods(w, name, name+"Output", true)
|
||||
fmt.Fprintf(w, "type %sPtrOutput struct {\n", name)
|
||||
fmt.Fprintf(w, "\t*pulumi.OutputState\n")
|
||||
fmt.Fprintf(w, "}\n\n")
|
||||
genOutputMethods(w, name+"Ptr", "*"+name, true)
|
||||
fmt.Fprintf(w, "\n")
|
||||
fmt.Fprintf(w, "func init() {\n")
|
||||
fmt.Fprintf(w, "\tpulumi.RegisterOutputType(%sOutput{})\n", name)
|
||||
fmt.Fprintf(w, "\tpulumi.RegisterOutputType(%sPtrOutput{})\n", name)
|
||||
fmt.Fprintf(w, "}\n\n")
|
||||
|
||||
return nil
|
||||
|
|
|
@ -59,6 +59,21 @@ func (i *Provider) ToProviderOutputWithContext(ctx context.Context) ProviderOutp
|
|||
return pulumi.ToOutputWithContext(ctx, i).(ProviderOutput)
|
||||
}
|
||||
|
||||
func (i *Provider) ToProviderPtrOutput() ProviderPtrOutput {
|
||||
return i.ToProviderPtrOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (i *Provider) ToProviderPtrOutputWithContext(ctx context.Context) ProviderPtrOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, i).(ProviderPtrOutput)
|
||||
}
|
||||
|
||||
type ProviderPtrInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToProviderPtrOutput() ProviderPtrOutput
|
||||
ToProviderPtrOutputWithContext(ctx context.Context) ProviderPtrOutput
|
||||
}
|
||||
|
||||
type ProviderOutput struct {
|
||||
*pulumi.OutputState
|
||||
}
|
||||
|
@ -75,6 +90,23 @@ func (o ProviderOutput) ToProviderOutputWithContext(ctx context.Context) Provide
|
|||
return o
|
||||
}
|
||||
|
||||
type ProviderPtrOutput struct {
|
||||
*pulumi.OutputState
|
||||
}
|
||||
|
||||
func (ProviderPtrOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**Provider)(nil))
|
||||
}
|
||||
|
||||
func (o ProviderPtrOutput) ToProviderPtrOutput() ProviderPtrOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o ProviderPtrOutput) ToProviderPtrOutputWithContext(ctx context.Context) ProviderPtrOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func init() {
|
||||
pulumi.RegisterOutputType(ProviderOutput{})
|
||||
pulumi.RegisterOutputType(ProviderPtrOutput{})
|
||||
}
|
||||
|
|
|
@ -52,7 +52,7 @@ func (i ContainerArgs) ToContainerPtrOutput() ContainerPtrOutput {
|
|||
}
|
||||
|
||||
func (i ContainerArgs) ToContainerPtrOutputWithContext(ctx context.Context) ContainerPtrOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, i).(ContainerOutput).ToContainerPtrOutputWithContext(ctx)
|
||||
return pulumi.ToOutputWithContext(ctx, i).(ContainerOutput).ToContainerPtrOutput()
|
||||
}
|
||||
|
||||
// ContainerPtrInput is an input type that accepts ContainerArgs, ContainerPtr and ContainerPtrOutput values.
|
||||
|
@ -85,7 +85,7 @@ func (i *containerPtrType) ToContainerPtrOutput() ContainerPtrOutput {
|
|||
}
|
||||
|
||||
func (i *containerPtrType) ToContainerPtrOutputWithContext(ctx context.Context) ContainerPtrOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, i).(ContainerPtrOutput)
|
||||
return pulumi.ToOutputWithContext(ctx, i).(ContainerOutput).ToContainerPtrOutput()
|
||||
}
|
||||
|
||||
type ContainerOutput struct{ *pulumi.OutputState }
|
||||
|
|
|
@ -100,6 +100,21 @@ func (i *RubberTree) ToRubberTreeOutputWithContext(ctx context.Context) RubberTr
|
|||
return pulumi.ToOutputWithContext(ctx, i).(RubberTreeOutput)
|
||||
}
|
||||
|
||||
func (i *RubberTree) ToRubberTreePtrOutput() RubberTreePtrOutput {
|
||||
return i.ToRubberTreePtrOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (i *RubberTree) ToRubberTreePtrOutputWithContext(ctx context.Context) RubberTreePtrOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, i).(RubberTreePtrOutput)
|
||||
}
|
||||
|
||||
type RubberTreePtrInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToRubberTreePtrOutput() RubberTreePtrOutput
|
||||
ToRubberTreePtrOutputWithContext(ctx context.Context) RubberTreePtrOutput
|
||||
}
|
||||
|
||||
type RubberTreeOutput struct {
|
||||
*pulumi.OutputState
|
||||
}
|
||||
|
@ -116,6 +131,23 @@ func (o RubberTreeOutput) ToRubberTreeOutputWithContext(ctx context.Context) Rub
|
|||
return o
|
||||
}
|
||||
|
||||
type RubberTreePtrOutput struct {
|
||||
*pulumi.OutputState
|
||||
}
|
||||
|
||||
func (RubberTreePtrOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**RubberTree)(nil))
|
||||
}
|
||||
|
||||
func (o RubberTreePtrOutput) ToRubberTreePtrOutput() RubberTreePtrOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o RubberTreePtrOutput) ToRubberTreePtrOutputWithContext(ctx context.Context) RubberTreePtrOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func init() {
|
||||
pulumi.RegisterOutputType(RubberTreeOutput{})
|
||||
pulumi.RegisterOutputType(RubberTreePtrOutput{})
|
||||
}
|
||||
|
|
|
@ -63,6 +63,21 @@ func (i *OtherResource) ToOtherResourceOutputWithContext(ctx context.Context) Ot
|
|||
return pulumi.ToOutputWithContext(ctx, i).(OtherResourceOutput)
|
||||
}
|
||||
|
||||
func (i *OtherResource) ToOtherResourcePtrOutput() OtherResourcePtrOutput {
|
||||
return i.ToOtherResourcePtrOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (i *OtherResource) ToOtherResourcePtrOutputWithContext(ctx context.Context) OtherResourcePtrOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, i).(OtherResourcePtrOutput)
|
||||
}
|
||||
|
||||
type OtherResourcePtrInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToOtherResourcePtrOutput() OtherResourcePtrOutput
|
||||
ToOtherResourcePtrOutputWithContext(ctx context.Context) OtherResourcePtrOutput
|
||||
}
|
||||
|
||||
type OtherResourceOutput struct {
|
||||
*pulumi.OutputState
|
||||
}
|
||||
|
@ -79,6 +94,23 @@ func (o OtherResourceOutput) ToOtherResourceOutputWithContext(ctx context.Contex
|
|||
return o
|
||||
}
|
||||
|
||||
type OtherResourcePtrOutput struct {
|
||||
*pulumi.OutputState
|
||||
}
|
||||
|
||||
func (OtherResourcePtrOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**OtherResource)(nil))
|
||||
}
|
||||
|
||||
func (o OtherResourcePtrOutput) ToOtherResourcePtrOutput() OtherResourcePtrOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o OtherResourcePtrOutput) ToOtherResourcePtrOutputWithContext(ctx context.Context) OtherResourcePtrOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func init() {
|
||||
pulumi.RegisterOutputType(OtherResourceOutput{})
|
||||
pulumi.RegisterOutputType(OtherResourcePtrOutput{})
|
||||
}
|
||||
|
|
|
@ -59,6 +59,21 @@ func (i *Provider) ToProviderOutputWithContext(ctx context.Context) ProviderOutp
|
|||
return pulumi.ToOutputWithContext(ctx, i).(ProviderOutput)
|
||||
}
|
||||
|
||||
func (i *Provider) ToProviderPtrOutput() ProviderPtrOutput {
|
||||
return i.ToProviderPtrOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (i *Provider) ToProviderPtrOutputWithContext(ctx context.Context) ProviderPtrOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, i).(ProviderPtrOutput)
|
||||
}
|
||||
|
||||
type ProviderPtrInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToProviderPtrOutput() ProviderPtrOutput
|
||||
ToProviderPtrOutputWithContext(ctx context.Context) ProviderPtrOutput
|
||||
}
|
||||
|
||||
type ProviderOutput struct {
|
||||
*pulumi.OutputState
|
||||
}
|
||||
|
@ -75,6 +90,23 @@ func (o ProviderOutput) ToProviderOutputWithContext(ctx context.Context) Provide
|
|||
return o
|
||||
}
|
||||
|
||||
type ProviderPtrOutput struct {
|
||||
*pulumi.OutputState
|
||||
}
|
||||
|
||||
func (ProviderPtrOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**Provider)(nil))
|
||||
}
|
||||
|
||||
func (o ProviderPtrOutput) ToProviderPtrOutput() ProviderPtrOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o ProviderPtrOutput) ToProviderPtrOutputWithContext(ctx context.Context) ProviderPtrOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func init() {
|
||||
pulumi.RegisterOutputType(ProviderOutput{})
|
||||
pulumi.RegisterOutputType(ProviderPtrOutput{})
|
||||
}
|
||||
|
|
|
@ -88,6 +88,21 @@ func (i *Resource) ToResourceOutputWithContext(ctx context.Context) ResourceOutp
|
|||
return pulumi.ToOutputWithContext(ctx, i).(ResourceOutput)
|
||||
}
|
||||
|
||||
func (i *Resource) ToResourcePtrOutput() ResourcePtrOutput {
|
||||
return i.ToResourcePtrOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (i *Resource) ToResourcePtrOutputWithContext(ctx context.Context) ResourcePtrOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, i).(ResourcePtrOutput)
|
||||
}
|
||||
|
||||
type ResourcePtrInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToResourcePtrOutput() ResourcePtrOutput
|
||||
ToResourcePtrOutputWithContext(ctx context.Context) ResourcePtrOutput
|
||||
}
|
||||
|
||||
type ResourceOutput struct {
|
||||
*pulumi.OutputState
|
||||
}
|
||||
|
@ -104,6 +119,23 @@ func (o ResourceOutput) ToResourceOutputWithContext(ctx context.Context) Resourc
|
|||
return o
|
||||
}
|
||||
|
||||
type ResourcePtrOutput struct {
|
||||
*pulumi.OutputState
|
||||
}
|
||||
|
||||
func (ResourcePtrOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**Resource)(nil))
|
||||
}
|
||||
|
||||
func (o ResourcePtrOutput) ToResourcePtrOutput() ResourcePtrOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o ResourcePtrOutput) ToResourcePtrOutputWithContext(ctx context.Context) ResourcePtrOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func init() {
|
||||
pulumi.RegisterOutputType(ResourceOutput{})
|
||||
pulumi.RegisterOutputType(ResourcePtrOutput{})
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue