github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/datapipeline/pipelineDefinition.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 datapipeline
     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 a DataPipeline Pipeline Definition 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/datapipeline"
    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 := datapipeline.NewPipeline(ctx, "default", &datapipeline.PipelineArgs{
    33  //				Name: pulumi.String("tf-pipeline-default"),
    34  //			})
    35  //			if err != nil {
    36  //				return err
    37  //			}
    38  //			_, err = datapipeline.NewPipelineDefinition(ctx, "example", &datapipeline.PipelineDefinitionArgs{
    39  //				PipelineId: _default.ID(),
    40  //				PipelineObjects: datapipeline.PipelineDefinitionPipelineObjectArray{
    41  //					&datapipeline.PipelineDefinitionPipelineObjectArgs{
    42  //						Id:   pulumi.String("Default"),
    43  //						Name: pulumi.String("Default"),
    44  //						Fields: datapipeline.PipelineDefinitionPipelineObjectFieldArray{
    45  //							&datapipeline.PipelineDefinitionPipelineObjectFieldArgs{
    46  //								Key:         pulumi.String("workerGroup"),
    47  //								StringValue: pulumi.String("workerGroup"),
    48  //							},
    49  //						},
    50  //					},
    51  //					&datapipeline.PipelineDefinitionPipelineObjectArgs{
    52  //						Id:   pulumi.String("Schedule"),
    53  //						Name: pulumi.String("Schedule"),
    54  //						Fields: datapipeline.PipelineDefinitionPipelineObjectFieldArray{
    55  //							&datapipeline.PipelineDefinitionPipelineObjectFieldArgs{
    56  //								Key:         pulumi.String("startDateTime"),
    57  //								StringValue: pulumi.String("2012-12-12T00:00:00"),
    58  //							},
    59  //							&datapipeline.PipelineDefinitionPipelineObjectFieldArgs{
    60  //								Key:         pulumi.String("type"),
    61  //								StringValue: pulumi.String("Schedule"),
    62  //							},
    63  //							&datapipeline.PipelineDefinitionPipelineObjectFieldArgs{
    64  //								Key:         pulumi.String("period"),
    65  //								StringValue: pulumi.String("1 hour"),
    66  //							},
    67  //							&datapipeline.PipelineDefinitionPipelineObjectFieldArgs{
    68  //								Key:         pulumi.String("endDateTime"),
    69  //								StringValue: pulumi.String("2012-12-21T18:00:00"),
    70  //							},
    71  //						},
    72  //					},
    73  //					&datapipeline.PipelineDefinitionPipelineObjectArgs{
    74  //						Id:   pulumi.String("SayHello"),
    75  //						Name: pulumi.String("SayHello"),
    76  //						Fields: datapipeline.PipelineDefinitionPipelineObjectFieldArray{
    77  //							&datapipeline.PipelineDefinitionPipelineObjectFieldArgs{
    78  //								Key:         pulumi.String("type"),
    79  //								StringValue: pulumi.String("ShellCommandActivity"),
    80  //							},
    81  //							&datapipeline.PipelineDefinitionPipelineObjectFieldArgs{
    82  //								Key:         pulumi.String("command"),
    83  //								StringValue: pulumi.String("echo hello"),
    84  //							},
    85  //							&datapipeline.PipelineDefinitionPipelineObjectFieldArgs{
    86  //								Key:         pulumi.String("parent"),
    87  //								StringValue: pulumi.String("Default"),
    88  //							},
    89  //							&datapipeline.PipelineDefinitionPipelineObjectFieldArgs{
    90  //								Key:         pulumi.String("schedule"),
    91  //								StringValue: pulumi.String("Schedule"),
    92  //							},
    93  //						},
    94  //					},
    95  //				},
    96  //			})
    97  //			if err != nil {
    98  //				return err
    99  //			}
   100  //			return nil
   101  //		})
   102  //	}
   103  //
   104  // ```
   105  // <!--End PulumiCodeChooser -->
   106  //
   107  // ## Import
   108  //
   109  // Using `pulumi import`, import `aws_datapipeline_pipeline_definition` using the id. For example:
   110  //
   111  // ```sh
   112  // $ pulumi import aws:datapipeline/pipelineDefinition:PipelineDefinition example df-1234567890
   113  // ```
   114  type PipelineDefinition struct {
   115  	pulumi.CustomResourceState
   116  
   117  	// Configuration block for the parameter objects used in the pipeline definition. See below
   118  	ParameterObjects PipelineDefinitionParameterObjectArrayOutput `pulumi:"parameterObjects"`
   119  	// Configuration block for the parameter values used in the pipeline definition. See below
   120  	ParameterValues PipelineDefinitionParameterValueArrayOutput `pulumi:"parameterValues"`
   121  	// ID of the pipeline.
   122  	PipelineId pulumi.StringOutput `pulumi:"pipelineId"`
   123  	// Configuration block for the objects that define the pipeline. See below
   124  	//
   125  	// The following arguments are optional:
   126  	PipelineObjects PipelineDefinitionPipelineObjectArrayOutput `pulumi:"pipelineObjects"`
   127  }
   128  
   129  // NewPipelineDefinition registers a new resource with the given unique name, arguments, and options.
   130  func NewPipelineDefinition(ctx *pulumi.Context,
   131  	name string, args *PipelineDefinitionArgs, opts ...pulumi.ResourceOption) (*PipelineDefinition, error) {
   132  	if args == nil {
   133  		return nil, errors.New("missing one or more required arguments")
   134  	}
   135  
   136  	if args.PipelineId == nil {
   137  		return nil, errors.New("invalid value for required argument 'PipelineId'")
   138  	}
   139  	if args.PipelineObjects == nil {
   140  		return nil, errors.New("invalid value for required argument 'PipelineObjects'")
   141  	}
   142  	opts = internal.PkgResourceDefaultOpts(opts)
   143  	var resource PipelineDefinition
   144  	err := ctx.RegisterResource("aws:datapipeline/pipelineDefinition:PipelineDefinition", name, args, &resource, opts...)
   145  	if err != nil {
   146  		return nil, err
   147  	}
   148  	return &resource, nil
   149  }
   150  
   151  // GetPipelineDefinition gets an existing PipelineDefinition resource's state with the given name, ID, and optional
   152  // state properties that are used to uniquely qualify the lookup (nil if not required).
   153  func GetPipelineDefinition(ctx *pulumi.Context,
   154  	name string, id pulumi.IDInput, state *PipelineDefinitionState, opts ...pulumi.ResourceOption) (*PipelineDefinition, error) {
   155  	var resource PipelineDefinition
   156  	err := ctx.ReadResource("aws:datapipeline/pipelineDefinition:PipelineDefinition", name, id, state, &resource, opts...)
   157  	if err != nil {
   158  		return nil, err
   159  	}
   160  	return &resource, nil
   161  }
   162  
   163  // Input properties used for looking up and filtering PipelineDefinition resources.
   164  type pipelineDefinitionState struct {
   165  	// Configuration block for the parameter objects used in the pipeline definition. See below
   166  	ParameterObjects []PipelineDefinitionParameterObject `pulumi:"parameterObjects"`
   167  	// Configuration block for the parameter values used in the pipeline definition. See below
   168  	ParameterValues []PipelineDefinitionParameterValue `pulumi:"parameterValues"`
   169  	// ID of the pipeline.
   170  	PipelineId *string `pulumi:"pipelineId"`
   171  	// Configuration block for the objects that define the pipeline. See below
   172  	//
   173  	// The following arguments are optional:
   174  	PipelineObjects []PipelineDefinitionPipelineObject `pulumi:"pipelineObjects"`
   175  }
   176  
   177  type PipelineDefinitionState struct {
   178  	// Configuration block for the parameter objects used in the pipeline definition. See below
   179  	ParameterObjects PipelineDefinitionParameterObjectArrayInput
   180  	// Configuration block for the parameter values used in the pipeline definition. See below
   181  	ParameterValues PipelineDefinitionParameterValueArrayInput
   182  	// ID of the pipeline.
   183  	PipelineId pulumi.StringPtrInput
   184  	// Configuration block for the objects that define the pipeline. See below
   185  	//
   186  	// The following arguments are optional:
   187  	PipelineObjects PipelineDefinitionPipelineObjectArrayInput
   188  }
   189  
   190  func (PipelineDefinitionState) ElementType() reflect.Type {
   191  	return reflect.TypeOf((*pipelineDefinitionState)(nil)).Elem()
   192  }
   193  
   194  type pipelineDefinitionArgs struct {
   195  	// Configuration block for the parameter objects used in the pipeline definition. See below
   196  	ParameterObjects []PipelineDefinitionParameterObject `pulumi:"parameterObjects"`
   197  	// Configuration block for the parameter values used in the pipeline definition. See below
   198  	ParameterValues []PipelineDefinitionParameterValue `pulumi:"parameterValues"`
   199  	// ID of the pipeline.
   200  	PipelineId string `pulumi:"pipelineId"`
   201  	// Configuration block for the objects that define the pipeline. See below
   202  	//
   203  	// The following arguments are optional:
   204  	PipelineObjects []PipelineDefinitionPipelineObject `pulumi:"pipelineObjects"`
   205  }
   206  
   207  // The set of arguments for constructing a PipelineDefinition resource.
   208  type PipelineDefinitionArgs struct {
   209  	// Configuration block for the parameter objects used in the pipeline definition. See below
   210  	ParameterObjects PipelineDefinitionParameterObjectArrayInput
   211  	// Configuration block for the parameter values used in the pipeline definition. See below
   212  	ParameterValues PipelineDefinitionParameterValueArrayInput
   213  	// ID of the pipeline.
   214  	PipelineId pulumi.StringInput
   215  	// Configuration block for the objects that define the pipeline. See below
   216  	//
   217  	// The following arguments are optional:
   218  	PipelineObjects PipelineDefinitionPipelineObjectArrayInput
   219  }
   220  
   221  func (PipelineDefinitionArgs) ElementType() reflect.Type {
   222  	return reflect.TypeOf((*pipelineDefinitionArgs)(nil)).Elem()
   223  }
   224  
   225  type PipelineDefinitionInput interface {
   226  	pulumi.Input
   227  
   228  	ToPipelineDefinitionOutput() PipelineDefinitionOutput
   229  	ToPipelineDefinitionOutputWithContext(ctx context.Context) PipelineDefinitionOutput
   230  }
   231  
   232  func (*PipelineDefinition) ElementType() reflect.Type {
   233  	return reflect.TypeOf((**PipelineDefinition)(nil)).Elem()
   234  }
   235  
   236  func (i *PipelineDefinition) ToPipelineDefinitionOutput() PipelineDefinitionOutput {
   237  	return i.ToPipelineDefinitionOutputWithContext(context.Background())
   238  }
   239  
   240  func (i *PipelineDefinition) ToPipelineDefinitionOutputWithContext(ctx context.Context) PipelineDefinitionOutput {
   241  	return pulumi.ToOutputWithContext(ctx, i).(PipelineDefinitionOutput)
   242  }
   243  
   244  // PipelineDefinitionArrayInput is an input type that accepts PipelineDefinitionArray and PipelineDefinitionArrayOutput values.
   245  // You can construct a concrete instance of `PipelineDefinitionArrayInput` via:
   246  //
   247  //	PipelineDefinitionArray{ PipelineDefinitionArgs{...} }
   248  type PipelineDefinitionArrayInput interface {
   249  	pulumi.Input
   250  
   251  	ToPipelineDefinitionArrayOutput() PipelineDefinitionArrayOutput
   252  	ToPipelineDefinitionArrayOutputWithContext(context.Context) PipelineDefinitionArrayOutput
   253  }
   254  
   255  type PipelineDefinitionArray []PipelineDefinitionInput
   256  
   257  func (PipelineDefinitionArray) ElementType() reflect.Type {
   258  	return reflect.TypeOf((*[]*PipelineDefinition)(nil)).Elem()
   259  }
   260  
   261  func (i PipelineDefinitionArray) ToPipelineDefinitionArrayOutput() PipelineDefinitionArrayOutput {
   262  	return i.ToPipelineDefinitionArrayOutputWithContext(context.Background())
   263  }
   264  
   265  func (i PipelineDefinitionArray) ToPipelineDefinitionArrayOutputWithContext(ctx context.Context) PipelineDefinitionArrayOutput {
   266  	return pulumi.ToOutputWithContext(ctx, i).(PipelineDefinitionArrayOutput)
   267  }
   268  
   269  // PipelineDefinitionMapInput is an input type that accepts PipelineDefinitionMap and PipelineDefinitionMapOutput values.
   270  // You can construct a concrete instance of `PipelineDefinitionMapInput` via:
   271  //
   272  //	PipelineDefinitionMap{ "key": PipelineDefinitionArgs{...} }
   273  type PipelineDefinitionMapInput interface {
   274  	pulumi.Input
   275  
   276  	ToPipelineDefinitionMapOutput() PipelineDefinitionMapOutput
   277  	ToPipelineDefinitionMapOutputWithContext(context.Context) PipelineDefinitionMapOutput
   278  }
   279  
   280  type PipelineDefinitionMap map[string]PipelineDefinitionInput
   281  
   282  func (PipelineDefinitionMap) ElementType() reflect.Type {
   283  	return reflect.TypeOf((*map[string]*PipelineDefinition)(nil)).Elem()
   284  }
   285  
   286  func (i PipelineDefinitionMap) ToPipelineDefinitionMapOutput() PipelineDefinitionMapOutput {
   287  	return i.ToPipelineDefinitionMapOutputWithContext(context.Background())
   288  }
   289  
   290  func (i PipelineDefinitionMap) ToPipelineDefinitionMapOutputWithContext(ctx context.Context) PipelineDefinitionMapOutput {
   291  	return pulumi.ToOutputWithContext(ctx, i).(PipelineDefinitionMapOutput)
   292  }
   293  
   294  type PipelineDefinitionOutput struct{ *pulumi.OutputState }
   295  
   296  func (PipelineDefinitionOutput) ElementType() reflect.Type {
   297  	return reflect.TypeOf((**PipelineDefinition)(nil)).Elem()
   298  }
   299  
   300  func (o PipelineDefinitionOutput) ToPipelineDefinitionOutput() PipelineDefinitionOutput {
   301  	return o
   302  }
   303  
   304  func (o PipelineDefinitionOutput) ToPipelineDefinitionOutputWithContext(ctx context.Context) PipelineDefinitionOutput {
   305  	return o
   306  }
   307  
   308  // Configuration block for the parameter objects used in the pipeline definition. See below
   309  func (o PipelineDefinitionOutput) ParameterObjects() PipelineDefinitionParameterObjectArrayOutput {
   310  	return o.ApplyT(func(v *PipelineDefinition) PipelineDefinitionParameterObjectArrayOutput { return v.ParameterObjects }).(PipelineDefinitionParameterObjectArrayOutput)
   311  }
   312  
   313  // Configuration block for the parameter values used in the pipeline definition. See below
   314  func (o PipelineDefinitionOutput) ParameterValues() PipelineDefinitionParameterValueArrayOutput {
   315  	return o.ApplyT(func(v *PipelineDefinition) PipelineDefinitionParameterValueArrayOutput { return v.ParameterValues }).(PipelineDefinitionParameterValueArrayOutput)
   316  }
   317  
   318  // ID of the pipeline.
   319  func (o PipelineDefinitionOutput) PipelineId() pulumi.StringOutput {
   320  	return o.ApplyT(func(v *PipelineDefinition) pulumi.StringOutput { return v.PipelineId }).(pulumi.StringOutput)
   321  }
   322  
   323  // Configuration block for the objects that define the pipeline. See below
   324  //
   325  // The following arguments are optional:
   326  func (o PipelineDefinitionOutput) PipelineObjects() PipelineDefinitionPipelineObjectArrayOutput {
   327  	return o.ApplyT(func(v *PipelineDefinition) PipelineDefinitionPipelineObjectArrayOutput { return v.PipelineObjects }).(PipelineDefinitionPipelineObjectArrayOutput)
   328  }
   329  
   330  type PipelineDefinitionArrayOutput struct{ *pulumi.OutputState }
   331  
   332  func (PipelineDefinitionArrayOutput) ElementType() reflect.Type {
   333  	return reflect.TypeOf((*[]*PipelineDefinition)(nil)).Elem()
   334  }
   335  
   336  func (o PipelineDefinitionArrayOutput) ToPipelineDefinitionArrayOutput() PipelineDefinitionArrayOutput {
   337  	return o
   338  }
   339  
   340  func (o PipelineDefinitionArrayOutput) ToPipelineDefinitionArrayOutputWithContext(ctx context.Context) PipelineDefinitionArrayOutput {
   341  	return o
   342  }
   343  
   344  func (o PipelineDefinitionArrayOutput) Index(i pulumi.IntInput) PipelineDefinitionOutput {
   345  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *PipelineDefinition {
   346  		return vs[0].([]*PipelineDefinition)[vs[1].(int)]
   347  	}).(PipelineDefinitionOutput)
   348  }
   349  
   350  type PipelineDefinitionMapOutput struct{ *pulumi.OutputState }
   351  
   352  func (PipelineDefinitionMapOutput) ElementType() reflect.Type {
   353  	return reflect.TypeOf((*map[string]*PipelineDefinition)(nil)).Elem()
   354  }
   355  
   356  func (o PipelineDefinitionMapOutput) ToPipelineDefinitionMapOutput() PipelineDefinitionMapOutput {
   357  	return o
   358  }
   359  
   360  func (o PipelineDefinitionMapOutput) ToPipelineDefinitionMapOutputWithContext(ctx context.Context) PipelineDefinitionMapOutput {
   361  	return o
   362  }
   363  
   364  func (o PipelineDefinitionMapOutput) MapIndex(k pulumi.StringInput) PipelineDefinitionOutput {
   365  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *PipelineDefinition {
   366  		return vs[0].(map[string]*PipelineDefinition)[vs[1].(string)]
   367  	}).(PipelineDefinitionOutput)
   368  }
   369  
   370  func init() {
   371  	pulumi.RegisterInputType(reflect.TypeOf((*PipelineDefinitionInput)(nil)).Elem(), &PipelineDefinition{})
   372  	pulumi.RegisterInputType(reflect.TypeOf((*PipelineDefinitionArrayInput)(nil)).Elem(), PipelineDefinitionArray{})
   373  	pulumi.RegisterInputType(reflect.TypeOf((*PipelineDefinitionMapInput)(nil)).Elem(), PipelineDefinitionMap{})
   374  	pulumi.RegisterOutputType(PipelineDefinitionOutput{})
   375  	pulumi.RegisterOutputType(PipelineDefinitionArrayOutput{})
   376  	pulumi.RegisterOutputType(PipelineDefinitionMapOutput{})
   377  }