github.com/myhau/pulumi/pkg/v3@v3.70.2-0.20221116134521-f2775972e587/codegen/testing/test/testdata/plain-schema-gh6957/go/xyz/staticPage.go (about)

     1  // Code generated by test DO NOT EDIT.
     2  // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
     3  
     4  package xyz
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"github.com/pkg/errors"
    11  	"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/s3"
    12  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    13  )
    14  
    15  type StaticPage struct {
    16  	pulumi.ResourceState
    17  
    18  	// The bucket resource.
    19  	Bucket s3.BucketOutput `pulumi:"bucket"`
    20  	// The website URL.
    21  	WebsiteUrl pulumi.StringOutput `pulumi:"websiteUrl"`
    22  }
    23  
    24  // NewStaticPage registers a new resource with the given unique name, arguments, and options.
    25  func NewStaticPage(ctx *pulumi.Context,
    26  	name string, args *StaticPageArgs, opts ...pulumi.ResourceOption) (*StaticPage, error) {
    27  	if args == nil {
    28  		return nil, errors.New("missing one or more required arguments")
    29  	}
    30  
    31  	if args.IndexContent == nil {
    32  		return nil, errors.New("invalid value for required argument 'IndexContent'")
    33  	}
    34  	var resource StaticPage
    35  	err := ctx.RegisterRemoteComponentResource("xyz:index:StaticPage", name, args, &resource, opts...)
    36  	if err != nil {
    37  		return nil, err
    38  	}
    39  	return &resource, nil
    40  }
    41  
    42  type staticPageArgs struct {
    43  	Foo *Foo `pulumi:"foo"`
    44  	// The HTML content for index.html.
    45  	IndexContent string `pulumi:"indexContent"`
    46  }
    47  
    48  // The set of arguments for constructing a StaticPage resource.
    49  type StaticPageArgs struct {
    50  	Foo *FooArgs
    51  	// The HTML content for index.html.
    52  	IndexContent pulumi.StringInput
    53  }
    54  
    55  func (StaticPageArgs) ElementType() reflect.Type {
    56  	return reflect.TypeOf((*staticPageArgs)(nil)).Elem()
    57  }
    58  
    59  type StaticPageInput interface {
    60  	pulumi.Input
    61  
    62  	ToStaticPageOutput() StaticPageOutput
    63  	ToStaticPageOutputWithContext(ctx context.Context) StaticPageOutput
    64  }
    65  
    66  func (*StaticPage) ElementType() reflect.Type {
    67  	return reflect.TypeOf((**StaticPage)(nil)).Elem()
    68  }
    69  
    70  func (i *StaticPage) ToStaticPageOutput() StaticPageOutput {
    71  	return i.ToStaticPageOutputWithContext(context.Background())
    72  }
    73  
    74  func (i *StaticPage) ToStaticPageOutputWithContext(ctx context.Context) StaticPageOutput {
    75  	return pulumi.ToOutputWithContext(ctx, i).(StaticPageOutput)
    76  }
    77  
    78  // StaticPageArrayInput is an input type that accepts StaticPageArray and StaticPageArrayOutput values.
    79  // You can construct a concrete instance of `StaticPageArrayInput` via:
    80  //
    81  //	StaticPageArray{ StaticPageArgs{...} }
    82  type StaticPageArrayInput interface {
    83  	pulumi.Input
    84  
    85  	ToStaticPageArrayOutput() StaticPageArrayOutput
    86  	ToStaticPageArrayOutputWithContext(context.Context) StaticPageArrayOutput
    87  }
    88  
    89  type StaticPageArray []StaticPageInput
    90  
    91  func (StaticPageArray) ElementType() reflect.Type {
    92  	return reflect.TypeOf((*[]*StaticPage)(nil)).Elem()
    93  }
    94  
    95  func (i StaticPageArray) ToStaticPageArrayOutput() StaticPageArrayOutput {
    96  	return i.ToStaticPageArrayOutputWithContext(context.Background())
    97  }
    98  
    99  func (i StaticPageArray) ToStaticPageArrayOutputWithContext(ctx context.Context) StaticPageArrayOutput {
   100  	return pulumi.ToOutputWithContext(ctx, i).(StaticPageArrayOutput)
   101  }
   102  
   103  // StaticPageMapInput is an input type that accepts StaticPageMap and StaticPageMapOutput values.
   104  // You can construct a concrete instance of `StaticPageMapInput` via:
   105  //
   106  //	StaticPageMap{ "key": StaticPageArgs{...} }
   107  type StaticPageMapInput interface {
   108  	pulumi.Input
   109  
   110  	ToStaticPageMapOutput() StaticPageMapOutput
   111  	ToStaticPageMapOutputWithContext(context.Context) StaticPageMapOutput
   112  }
   113  
   114  type StaticPageMap map[string]StaticPageInput
   115  
   116  func (StaticPageMap) ElementType() reflect.Type {
   117  	return reflect.TypeOf((*map[string]*StaticPage)(nil)).Elem()
   118  }
   119  
   120  func (i StaticPageMap) ToStaticPageMapOutput() StaticPageMapOutput {
   121  	return i.ToStaticPageMapOutputWithContext(context.Background())
   122  }
   123  
   124  func (i StaticPageMap) ToStaticPageMapOutputWithContext(ctx context.Context) StaticPageMapOutput {
   125  	return pulumi.ToOutputWithContext(ctx, i).(StaticPageMapOutput)
   126  }
   127  
   128  type StaticPageOutput struct{ *pulumi.OutputState }
   129  
   130  func (StaticPageOutput) ElementType() reflect.Type {
   131  	return reflect.TypeOf((**StaticPage)(nil)).Elem()
   132  }
   133  
   134  func (o StaticPageOutput) ToStaticPageOutput() StaticPageOutput {
   135  	return o
   136  }
   137  
   138  func (o StaticPageOutput) ToStaticPageOutputWithContext(ctx context.Context) StaticPageOutput {
   139  	return o
   140  }
   141  
   142  // The bucket resource.
   143  func (o StaticPageOutput) Bucket() s3.BucketOutput {
   144  	return o.ApplyT(func(v *StaticPage) s3.BucketOutput { return v.Bucket }).(s3.BucketOutput)
   145  }
   146  
   147  // The website URL.
   148  func (o StaticPageOutput) WebsiteUrl() pulumi.StringOutput {
   149  	return o.ApplyT(func(v *StaticPage) pulumi.StringOutput { return v.WebsiteUrl }).(pulumi.StringOutput)
   150  }
   151  
   152  type StaticPageArrayOutput struct{ *pulumi.OutputState }
   153  
   154  func (StaticPageArrayOutput) ElementType() reflect.Type {
   155  	return reflect.TypeOf((*[]*StaticPage)(nil)).Elem()
   156  }
   157  
   158  func (o StaticPageArrayOutput) ToStaticPageArrayOutput() StaticPageArrayOutput {
   159  	return o
   160  }
   161  
   162  func (o StaticPageArrayOutput) ToStaticPageArrayOutputWithContext(ctx context.Context) StaticPageArrayOutput {
   163  	return o
   164  }
   165  
   166  func (o StaticPageArrayOutput) Index(i pulumi.IntInput) StaticPageOutput {
   167  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *StaticPage {
   168  		return vs[0].([]*StaticPage)[vs[1].(int)]
   169  	}).(StaticPageOutput)
   170  }
   171  
   172  type StaticPageMapOutput struct{ *pulumi.OutputState }
   173  
   174  func (StaticPageMapOutput) ElementType() reflect.Type {
   175  	return reflect.TypeOf((*map[string]*StaticPage)(nil)).Elem()
   176  }
   177  
   178  func (o StaticPageMapOutput) ToStaticPageMapOutput() StaticPageMapOutput {
   179  	return o
   180  }
   181  
   182  func (o StaticPageMapOutput) ToStaticPageMapOutputWithContext(ctx context.Context) StaticPageMapOutput {
   183  	return o
   184  }
   185  
   186  func (o StaticPageMapOutput) MapIndex(k pulumi.StringInput) StaticPageOutput {
   187  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *StaticPage {
   188  		return vs[0].(map[string]*StaticPage)[vs[1].(string)]
   189  	}).(StaticPageOutput)
   190  }
   191  
   192  func init() {
   193  	pulumi.RegisterInputType(reflect.TypeOf((*StaticPageInput)(nil)).Elem(), &StaticPage{})
   194  	pulumi.RegisterInputType(reflect.TypeOf((*StaticPageArrayInput)(nil)).Elem(), StaticPageArray{})
   195  	pulumi.RegisterInputType(reflect.TypeOf((*StaticPageMapInput)(nil)).Elem(), StaticPageMap{})
   196  	pulumi.RegisterOutputType(StaticPageOutput{})
   197  	pulumi.RegisterOutputType(StaticPageArrayOutput{})
   198  	pulumi.RegisterOutputType(StaticPageMapOutput{})
   199  }