// Code generated by test DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** package example import ( "context" "reflect" "assets-and-archives-go-generics-only/example/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) func GetAssets(ctx *pulumi.Context, args *GetAssetsArgs, opts ...pulumi.InvokeOption) (*GetAssetsResult, error) { opts = internal.PkgInvokeDefaultOpts(opts) var rv GetAssetsResult err := ctx.Invoke("example::GetAssets", args, &rv, opts...) if err != nil { return nil, err } return &rv, nil } type GetAssetsArgs struct { Archive pulumi.Archive `pulumi:"archive"` Source pulumi.AssetOrArchive `pulumi:"source"` } type GetAssetsResult struct { Archive pulumi.Archive `pulumi:"archive"` Source pulumi.AssetOrArchive `pulumi:"source"` } func GetAssetsOutput(ctx *pulumi.Context, args GetAssetsOutputArgs, opts ...pulumi.InvokeOption) GetAssetsResultOutput { outputResult := pulumix.ApplyErr[*GetAssetsArgs](args.ToOutput(), func(plainArgs *GetAssetsArgs) (*GetAssetsResult, error) { return GetAssets(ctx, plainArgs, opts...) }) return pulumix.Cast[GetAssetsResultOutput, *GetAssetsResult](outputResult) } type GetAssetsOutputArgs struct { Archive pulumix.Input[pulumi.Archive] `pulumi:"archive"` Source pulumix.Input[pulumi.AssetOrArchive] `pulumi:"source"` } func (args GetAssetsOutputArgs) ToOutput() pulumix.Output[*GetAssetsArgs] { allArgs := pulumix.All( args.Archive.ToOutput(context.Background()).AsAny(), args.Source.ToOutput(context.Background()).AsAny()) return pulumix.Apply[[]any](allArgs, func(resolvedArgs []interface{}) *GetAssetsArgs { return &GetAssetsArgs{ Archive: resolvedArgs[0].(pulumi.Archive), Source: resolvedArgs[1].(pulumi.AssetOrArchive), } }) } type GetAssetsResultOutput struct{ *pulumi.OutputState } func (GetAssetsResultOutput) ElementType() reflect.Type { return reflect.TypeOf((*GetAssetsResult)(nil)).Elem() } func (o GetAssetsResultOutput) ToOutput(context.Context) pulumix.Output[*GetAssetsResult] { return pulumix.Output[*GetAssetsResult]{ OutputState: o.OutputState, } } func (o GetAssetsResultOutput) Archive() pulumix.Output[pulumi.Archive] { return pulumix.Apply[*GetAssetsResult](o, func(v *GetAssetsResult) pulumi.Archive { return v.Archive }) } func (o GetAssetsResultOutput) Source() pulumix.Output[pulumi.AssetOrArchive] { return pulumix.Apply[*GetAssetsResult](o, func(v *GetAssetsResult) pulumi.AssetOrArchive { return v.Source }) }