github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/elastictranscoder/pipeline.go (about)

     1  // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
     2  // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
     3  
     4  package elastictranscoder
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"errors"
    11  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    12  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    13  )
    14  
    15  // Provides an Elastic Transcoder pipeline resource.
    16  //
    17  // ## Example Usage
    18  //
    19  // <!--Start PulumiCodeChooser -->
    20  // ```go
    21  // package main
    22  //
    23  // import (
    24  //
    25  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elastictranscoder"
    26  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    27  //
    28  // )
    29  //
    30  //	func main() {
    31  //		pulumi.Run(func(ctx *pulumi.Context) error {
    32  //			_, err := elastictranscoder.NewPipeline(ctx, "bar", &elastictranscoder.PipelineArgs{
    33  //				InputBucket: pulumi.Any(inputBucket.Id),
    34  //				Name:        pulumi.String("aws_elastictranscoder_pipeline_my_test_"),
    35  //				Role:        pulumi.Any(testRole.Arn),
    36  //				ContentConfig: &elastictranscoder.PipelineContentConfigArgs{
    37  //					Bucket:       pulumi.Any(contentBucket.Id),
    38  //					StorageClass: pulumi.String("Standard"),
    39  //				},
    40  //				ThumbnailConfig: &elastictranscoder.PipelineThumbnailConfigArgs{
    41  //					Bucket:       pulumi.Any(thumbBucket.Id),
    42  //					StorageClass: pulumi.String("Standard"),
    43  //				},
    44  //			})
    45  //			if err != nil {
    46  //				return err
    47  //			}
    48  //			return nil
    49  //		})
    50  //	}
    51  //
    52  // ```
    53  // <!--End PulumiCodeChooser -->
    54  //
    55  // ## Import
    56  //
    57  // Using `pulumi import`, import Elastic Transcoder pipelines using the `id`. For example:
    58  //
    59  // ```sh
    60  // $ pulumi import aws:elastictranscoder/pipeline:Pipeline basic_pipeline 1407981661351-cttk8b
    61  // ```
    62  type Pipeline struct {
    63  	pulumi.CustomResourceState
    64  
    65  	// The ARN of the Elastictranscoder pipeline.
    66  	Arn pulumi.StringOutput `pulumi:"arn"`
    67  	// The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline.
    68  	AwsKmsKeyArn pulumi.StringPtrOutput `pulumi:"awsKmsKeyArn"`
    69  	// The ContentConfig object specifies information about the Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists. (documented below)
    70  	ContentConfig PipelineContentConfigOutput `pulumi:"contentConfig"`
    71  	// The permissions for the `contentConfig` object. (documented below)
    72  	ContentConfigPermissions PipelineContentConfigPermissionArrayOutput `pulumi:"contentConfigPermissions"`
    73  	// The Amazon S3 bucket in which you saved the media files that you want to transcode and the graphics that you want to use as watermarks.
    74  	InputBucket pulumi.StringOutput `pulumi:"inputBucket"`
    75  	// The name of the pipeline. Maximum 40 characters
    76  	Name pulumi.StringOutput `pulumi:"name"`
    77  	// The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status. (documented below)
    78  	Notifications PipelineNotificationsPtrOutput `pulumi:"notifications"`
    79  	// The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded files.
    80  	OutputBucket pulumi.StringOutput `pulumi:"outputBucket"`
    81  	// The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to use to transcode jobs for this pipeline.
    82  	Role pulumi.StringOutput `pulumi:"role"`
    83  	// The ThumbnailConfig object specifies information about the Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files. (documented below)
    84  	ThumbnailConfig PipelineThumbnailConfigOutput `pulumi:"thumbnailConfig"`
    85  	// The permissions for the `thumbnailConfig` object. (documented below)
    86  	//
    87  	// The `contentConfig` object specifies information about the Amazon S3 bucket in
    88  	// which you want Elastic Transcoder to save transcoded files and playlists: which
    89  	// bucket to use, and the storage class that you want to assign to the files. If
    90  	// you specify values for `contentConfig`, you must also specify values for
    91  	// `thumbnailConfig`. If you specify values for `contentConfig` and
    92  	// `thumbnailConfig`, omit the `outputBucket` object.
    93  	ThumbnailConfigPermissions PipelineThumbnailConfigPermissionArrayOutput `pulumi:"thumbnailConfigPermissions"`
    94  }
    95  
    96  // NewPipeline registers a new resource with the given unique name, arguments, and options.
    97  func NewPipeline(ctx *pulumi.Context,
    98  	name string, args *PipelineArgs, opts ...pulumi.ResourceOption) (*Pipeline, error) {
    99  	if args == nil {
   100  		return nil, errors.New("missing one or more required arguments")
   101  	}
   102  
   103  	if args.InputBucket == nil {
   104  		return nil, errors.New("invalid value for required argument 'InputBucket'")
   105  	}
   106  	if args.Role == nil {
   107  		return nil, errors.New("invalid value for required argument 'Role'")
   108  	}
   109  	opts = internal.PkgResourceDefaultOpts(opts)
   110  	var resource Pipeline
   111  	err := ctx.RegisterResource("aws:elastictranscoder/pipeline:Pipeline", name, args, &resource, opts...)
   112  	if err != nil {
   113  		return nil, err
   114  	}
   115  	return &resource, nil
   116  }
   117  
   118  // GetPipeline gets an existing Pipeline resource's state with the given name, ID, and optional
   119  // state properties that are used to uniquely qualify the lookup (nil if not required).
   120  func GetPipeline(ctx *pulumi.Context,
   121  	name string, id pulumi.IDInput, state *PipelineState, opts ...pulumi.ResourceOption) (*Pipeline, error) {
   122  	var resource Pipeline
   123  	err := ctx.ReadResource("aws:elastictranscoder/pipeline:Pipeline", name, id, state, &resource, opts...)
   124  	if err != nil {
   125  		return nil, err
   126  	}
   127  	return &resource, nil
   128  }
   129  
   130  // Input properties used for looking up and filtering Pipeline resources.
   131  type pipelineState struct {
   132  	// The ARN of the Elastictranscoder pipeline.
   133  	Arn *string `pulumi:"arn"`
   134  	// The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline.
   135  	AwsKmsKeyArn *string `pulumi:"awsKmsKeyArn"`
   136  	// The ContentConfig object specifies information about the Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists. (documented below)
   137  	ContentConfig *PipelineContentConfig `pulumi:"contentConfig"`
   138  	// The permissions for the `contentConfig` object. (documented below)
   139  	ContentConfigPermissions []PipelineContentConfigPermission `pulumi:"contentConfigPermissions"`
   140  	// The Amazon S3 bucket in which you saved the media files that you want to transcode and the graphics that you want to use as watermarks.
   141  	InputBucket *string `pulumi:"inputBucket"`
   142  	// The name of the pipeline. Maximum 40 characters
   143  	Name *string `pulumi:"name"`
   144  	// The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status. (documented below)
   145  	Notifications *PipelineNotifications `pulumi:"notifications"`
   146  	// The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded files.
   147  	OutputBucket *string `pulumi:"outputBucket"`
   148  	// The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to use to transcode jobs for this pipeline.
   149  	Role *string `pulumi:"role"`
   150  	// The ThumbnailConfig object specifies information about the Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files. (documented below)
   151  	ThumbnailConfig *PipelineThumbnailConfig `pulumi:"thumbnailConfig"`
   152  	// The permissions for the `thumbnailConfig` object. (documented below)
   153  	//
   154  	// The `contentConfig` object specifies information about the Amazon S3 bucket in
   155  	// which you want Elastic Transcoder to save transcoded files and playlists: which
   156  	// bucket to use, and the storage class that you want to assign to the files. If
   157  	// you specify values for `contentConfig`, you must also specify values for
   158  	// `thumbnailConfig`. If you specify values for `contentConfig` and
   159  	// `thumbnailConfig`, omit the `outputBucket` object.
   160  	ThumbnailConfigPermissions []PipelineThumbnailConfigPermission `pulumi:"thumbnailConfigPermissions"`
   161  }
   162  
   163  type PipelineState struct {
   164  	// The ARN of the Elastictranscoder pipeline.
   165  	Arn pulumi.StringPtrInput
   166  	// The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline.
   167  	AwsKmsKeyArn pulumi.StringPtrInput
   168  	// The ContentConfig object specifies information about the Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists. (documented below)
   169  	ContentConfig PipelineContentConfigPtrInput
   170  	// The permissions for the `contentConfig` object. (documented below)
   171  	ContentConfigPermissions PipelineContentConfigPermissionArrayInput
   172  	// The Amazon S3 bucket in which you saved the media files that you want to transcode and the graphics that you want to use as watermarks.
   173  	InputBucket pulumi.StringPtrInput
   174  	// The name of the pipeline. Maximum 40 characters
   175  	Name pulumi.StringPtrInput
   176  	// The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status. (documented below)
   177  	Notifications PipelineNotificationsPtrInput
   178  	// The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded files.
   179  	OutputBucket pulumi.StringPtrInput
   180  	// The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to use to transcode jobs for this pipeline.
   181  	Role pulumi.StringPtrInput
   182  	// The ThumbnailConfig object specifies information about the Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files. (documented below)
   183  	ThumbnailConfig PipelineThumbnailConfigPtrInput
   184  	// The permissions for the `thumbnailConfig` object. (documented below)
   185  	//
   186  	// The `contentConfig` object specifies information about the Amazon S3 bucket in
   187  	// which you want Elastic Transcoder to save transcoded files and playlists: which
   188  	// bucket to use, and the storage class that you want to assign to the files. If
   189  	// you specify values for `contentConfig`, you must also specify values for
   190  	// `thumbnailConfig`. If you specify values for `contentConfig` and
   191  	// `thumbnailConfig`, omit the `outputBucket` object.
   192  	ThumbnailConfigPermissions PipelineThumbnailConfigPermissionArrayInput
   193  }
   194  
   195  func (PipelineState) ElementType() reflect.Type {
   196  	return reflect.TypeOf((*pipelineState)(nil)).Elem()
   197  }
   198  
   199  type pipelineArgs struct {
   200  	// The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline.
   201  	AwsKmsKeyArn *string `pulumi:"awsKmsKeyArn"`
   202  	// The ContentConfig object specifies information about the Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists. (documented below)
   203  	ContentConfig *PipelineContentConfig `pulumi:"contentConfig"`
   204  	// The permissions for the `contentConfig` object. (documented below)
   205  	ContentConfigPermissions []PipelineContentConfigPermission `pulumi:"contentConfigPermissions"`
   206  	// The Amazon S3 bucket in which you saved the media files that you want to transcode and the graphics that you want to use as watermarks.
   207  	InputBucket string `pulumi:"inputBucket"`
   208  	// The name of the pipeline. Maximum 40 characters
   209  	Name *string `pulumi:"name"`
   210  	// The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status. (documented below)
   211  	Notifications *PipelineNotifications `pulumi:"notifications"`
   212  	// The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded files.
   213  	OutputBucket *string `pulumi:"outputBucket"`
   214  	// The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to use to transcode jobs for this pipeline.
   215  	Role string `pulumi:"role"`
   216  	// The ThumbnailConfig object specifies information about the Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files. (documented below)
   217  	ThumbnailConfig *PipelineThumbnailConfig `pulumi:"thumbnailConfig"`
   218  	// The permissions for the `thumbnailConfig` object. (documented below)
   219  	//
   220  	// The `contentConfig` object specifies information about the Amazon S3 bucket in
   221  	// which you want Elastic Transcoder to save transcoded files and playlists: which
   222  	// bucket to use, and the storage class that you want to assign to the files. If
   223  	// you specify values for `contentConfig`, you must also specify values for
   224  	// `thumbnailConfig`. If you specify values for `contentConfig` and
   225  	// `thumbnailConfig`, omit the `outputBucket` object.
   226  	ThumbnailConfigPermissions []PipelineThumbnailConfigPermission `pulumi:"thumbnailConfigPermissions"`
   227  }
   228  
   229  // The set of arguments for constructing a Pipeline resource.
   230  type PipelineArgs struct {
   231  	// The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline.
   232  	AwsKmsKeyArn pulumi.StringPtrInput
   233  	// The ContentConfig object specifies information about the Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists. (documented below)
   234  	ContentConfig PipelineContentConfigPtrInput
   235  	// The permissions for the `contentConfig` object. (documented below)
   236  	ContentConfigPermissions PipelineContentConfigPermissionArrayInput
   237  	// The Amazon S3 bucket in which you saved the media files that you want to transcode and the graphics that you want to use as watermarks.
   238  	InputBucket pulumi.StringInput
   239  	// The name of the pipeline. Maximum 40 characters
   240  	Name pulumi.StringPtrInput
   241  	// The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status. (documented below)
   242  	Notifications PipelineNotificationsPtrInput
   243  	// The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded files.
   244  	OutputBucket pulumi.StringPtrInput
   245  	// The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to use to transcode jobs for this pipeline.
   246  	Role pulumi.StringInput
   247  	// The ThumbnailConfig object specifies information about the Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files. (documented below)
   248  	ThumbnailConfig PipelineThumbnailConfigPtrInput
   249  	// The permissions for the `thumbnailConfig` object. (documented below)
   250  	//
   251  	// The `contentConfig` object specifies information about the Amazon S3 bucket in
   252  	// which you want Elastic Transcoder to save transcoded files and playlists: which
   253  	// bucket to use, and the storage class that you want to assign to the files. If
   254  	// you specify values for `contentConfig`, you must also specify values for
   255  	// `thumbnailConfig`. If you specify values for `contentConfig` and
   256  	// `thumbnailConfig`, omit the `outputBucket` object.
   257  	ThumbnailConfigPermissions PipelineThumbnailConfigPermissionArrayInput
   258  }
   259  
   260  func (PipelineArgs) ElementType() reflect.Type {
   261  	return reflect.TypeOf((*pipelineArgs)(nil)).Elem()
   262  }
   263  
   264  type PipelineInput interface {
   265  	pulumi.Input
   266  
   267  	ToPipelineOutput() PipelineOutput
   268  	ToPipelineOutputWithContext(ctx context.Context) PipelineOutput
   269  }
   270  
   271  func (*Pipeline) ElementType() reflect.Type {
   272  	return reflect.TypeOf((**Pipeline)(nil)).Elem()
   273  }
   274  
   275  func (i *Pipeline) ToPipelineOutput() PipelineOutput {
   276  	return i.ToPipelineOutputWithContext(context.Background())
   277  }
   278  
   279  func (i *Pipeline) ToPipelineOutputWithContext(ctx context.Context) PipelineOutput {
   280  	return pulumi.ToOutputWithContext(ctx, i).(PipelineOutput)
   281  }
   282  
   283  // PipelineArrayInput is an input type that accepts PipelineArray and PipelineArrayOutput values.
   284  // You can construct a concrete instance of `PipelineArrayInput` via:
   285  //
   286  //	PipelineArray{ PipelineArgs{...} }
   287  type PipelineArrayInput interface {
   288  	pulumi.Input
   289  
   290  	ToPipelineArrayOutput() PipelineArrayOutput
   291  	ToPipelineArrayOutputWithContext(context.Context) PipelineArrayOutput
   292  }
   293  
   294  type PipelineArray []PipelineInput
   295  
   296  func (PipelineArray) ElementType() reflect.Type {
   297  	return reflect.TypeOf((*[]*Pipeline)(nil)).Elem()
   298  }
   299  
   300  func (i PipelineArray) ToPipelineArrayOutput() PipelineArrayOutput {
   301  	return i.ToPipelineArrayOutputWithContext(context.Background())
   302  }
   303  
   304  func (i PipelineArray) ToPipelineArrayOutputWithContext(ctx context.Context) PipelineArrayOutput {
   305  	return pulumi.ToOutputWithContext(ctx, i).(PipelineArrayOutput)
   306  }
   307  
   308  // PipelineMapInput is an input type that accepts PipelineMap and PipelineMapOutput values.
   309  // You can construct a concrete instance of `PipelineMapInput` via:
   310  //
   311  //	PipelineMap{ "key": PipelineArgs{...} }
   312  type PipelineMapInput interface {
   313  	pulumi.Input
   314  
   315  	ToPipelineMapOutput() PipelineMapOutput
   316  	ToPipelineMapOutputWithContext(context.Context) PipelineMapOutput
   317  }
   318  
   319  type PipelineMap map[string]PipelineInput
   320  
   321  func (PipelineMap) ElementType() reflect.Type {
   322  	return reflect.TypeOf((*map[string]*Pipeline)(nil)).Elem()
   323  }
   324  
   325  func (i PipelineMap) ToPipelineMapOutput() PipelineMapOutput {
   326  	return i.ToPipelineMapOutputWithContext(context.Background())
   327  }
   328  
   329  func (i PipelineMap) ToPipelineMapOutputWithContext(ctx context.Context) PipelineMapOutput {
   330  	return pulumi.ToOutputWithContext(ctx, i).(PipelineMapOutput)
   331  }
   332  
   333  type PipelineOutput struct{ *pulumi.OutputState }
   334  
   335  func (PipelineOutput) ElementType() reflect.Type {
   336  	return reflect.TypeOf((**Pipeline)(nil)).Elem()
   337  }
   338  
   339  func (o PipelineOutput) ToPipelineOutput() PipelineOutput {
   340  	return o
   341  }
   342  
   343  func (o PipelineOutput) ToPipelineOutputWithContext(ctx context.Context) PipelineOutput {
   344  	return o
   345  }
   346  
   347  // The ARN of the Elastictranscoder pipeline.
   348  func (o PipelineOutput) Arn() pulumi.StringOutput {
   349  	return o.ApplyT(func(v *Pipeline) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   350  }
   351  
   352  // The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline.
   353  func (o PipelineOutput) AwsKmsKeyArn() pulumi.StringPtrOutput {
   354  	return o.ApplyT(func(v *Pipeline) pulumi.StringPtrOutput { return v.AwsKmsKeyArn }).(pulumi.StringPtrOutput)
   355  }
   356  
   357  // The ContentConfig object specifies information about the Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists. (documented below)
   358  func (o PipelineOutput) ContentConfig() PipelineContentConfigOutput {
   359  	return o.ApplyT(func(v *Pipeline) PipelineContentConfigOutput { return v.ContentConfig }).(PipelineContentConfigOutput)
   360  }
   361  
   362  // The permissions for the `contentConfig` object. (documented below)
   363  func (o PipelineOutput) ContentConfigPermissions() PipelineContentConfigPermissionArrayOutput {
   364  	return o.ApplyT(func(v *Pipeline) PipelineContentConfigPermissionArrayOutput { return v.ContentConfigPermissions }).(PipelineContentConfigPermissionArrayOutput)
   365  }
   366  
   367  // The Amazon S3 bucket in which you saved the media files that you want to transcode and the graphics that you want to use as watermarks.
   368  func (o PipelineOutput) InputBucket() pulumi.StringOutput {
   369  	return o.ApplyT(func(v *Pipeline) pulumi.StringOutput { return v.InputBucket }).(pulumi.StringOutput)
   370  }
   371  
   372  // The name of the pipeline. Maximum 40 characters
   373  func (o PipelineOutput) Name() pulumi.StringOutput {
   374  	return o.ApplyT(func(v *Pipeline) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
   375  }
   376  
   377  // The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status. (documented below)
   378  func (o PipelineOutput) Notifications() PipelineNotificationsPtrOutput {
   379  	return o.ApplyT(func(v *Pipeline) PipelineNotificationsPtrOutput { return v.Notifications }).(PipelineNotificationsPtrOutput)
   380  }
   381  
   382  // The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded files.
   383  func (o PipelineOutput) OutputBucket() pulumi.StringOutput {
   384  	return o.ApplyT(func(v *Pipeline) pulumi.StringOutput { return v.OutputBucket }).(pulumi.StringOutput)
   385  }
   386  
   387  // The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to use to transcode jobs for this pipeline.
   388  func (o PipelineOutput) Role() pulumi.StringOutput {
   389  	return o.ApplyT(func(v *Pipeline) pulumi.StringOutput { return v.Role }).(pulumi.StringOutput)
   390  }
   391  
   392  // The ThumbnailConfig object specifies information about the Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files. (documented below)
   393  func (o PipelineOutput) ThumbnailConfig() PipelineThumbnailConfigOutput {
   394  	return o.ApplyT(func(v *Pipeline) PipelineThumbnailConfigOutput { return v.ThumbnailConfig }).(PipelineThumbnailConfigOutput)
   395  }
   396  
   397  // The permissions for the `thumbnailConfig` object. (documented below)
   398  //
   399  // The `contentConfig` object specifies information about the Amazon S3 bucket in
   400  // which you want Elastic Transcoder to save transcoded files and playlists: which
   401  // bucket to use, and the storage class that you want to assign to the files. If
   402  // you specify values for `contentConfig`, you must also specify values for
   403  // `thumbnailConfig`. If you specify values for `contentConfig` and
   404  // `thumbnailConfig`, omit the `outputBucket` object.
   405  func (o PipelineOutput) ThumbnailConfigPermissions() PipelineThumbnailConfigPermissionArrayOutput {
   406  	return o.ApplyT(func(v *Pipeline) PipelineThumbnailConfigPermissionArrayOutput { return v.ThumbnailConfigPermissions }).(PipelineThumbnailConfigPermissionArrayOutput)
   407  }
   408  
   409  type PipelineArrayOutput struct{ *pulumi.OutputState }
   410  
   411  func (PipelineArrayOutput) ElementType() reflect.Type {
   412  	return reflect.TypeOf((*[]*Pipeline)(nil)).Elem()
   413  }
   414  
   415  func (o PipelineArrayOutput) ToPipelineArrayOutput() PipelineArrayOutput {
   416  	return o
   417  }
   418  
   419  func (o PipelineArrayOutput) ToPipelineArrayOutputWithContext(ctx context.Context) PipelineArrayOutput {
   420  	return o
   421  }
   422  
   423  func (o PipelineArrayOutput) Index(i pulumi.IntInput) PipelineOutput {
   424  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Pipeline {
   425  		return vs[0].([]*Pipeline)[vs[1].(int)]
   426  	}).(PipelineOutput)
   427  }
   428  
   429  type PipelineMapOutput struct{ *pulumi.OutputState }
   430  
   431  func (PipelineMapOutput) ElementType() reflect.Type {
   432  	return reflect.TypeOf((*map[string]*Pipeline)(nil)).Elem()
   433  }
   434  
   435  func (o PipelineMapOutput) ToPipelineMapOutput() PipelineMapOutput {
   436  	return o
   437  }
   438  
   439  func (o PipelineMapOutput) ToPipelineMapOutputWithContext(ctx context.Context) PipelineMapOutput {
   440  	return o
   441  }
   442  
   443  func (o PipelineMapOutput) MapIndex(k pulumi.StringInput) PipelineOutput {
   444  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Pipeline {
   445  		return vs[0].(map[string]*Pipeline)[vs[1].(string)]
   446  	}).(PipelineOutput)
   447  }
   448  
   449  func init() {
   450  	pulumi.RegisterInputType(reflect.TypeOf((*PipelineInput)(nil)).Elem(), &Pipeline{})
   451  	pulumi.RegisterInputType(reflect.TypeOf((*PipelineArrayInput)(nil)).Elem(), PipelineArray{})
   452  	pulumi.RegisterInputType(reflect.TypeOf((*PipelineMapInput)(nil)).Elem(), PipelineMap{})
   453  	pulumi.RegisterOutputType(PipelineOutput{})
   454  	pulumi.RegisterOutputType(PipelineArrayOutput{})
   455  	pulumi.RegisterOutputType(PipelineMapOutput{})
   456  }