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 }