github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/pipes/pipe.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 pipes 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 // Resource for managing an AWS EventBridge Pipes Pipe. 16 // 17 // You can find out more about EventBridge Pipes in the [User Guide](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes.html). 18 // 19 // EventBridge Pipes are very configurable, and may require IAM permissions to work correctly. More information on the configuration options and IAM permissions can be found in the [User Guide](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes.html). 20 // 21 // > **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical. 22 // 23 // ## Example Usage 24 // 25 // ### Basic Usage 26 // 27 // <!--Start PulumiCodeChooser --> 28 // ```go 29 // package main 30 // 31 // import ( 32 // 33 // "encoding/json" 34 // 35 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws" 36 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam" 37 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pipes" 38 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs" 39 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 40 // 41 // ) 42 // 43 // func main() { 44 // pulumi.Run(func(ctx *pulumi.Context) error { 45 // main, err := aws.GetCallerIdentity(ctx, nil, nil) 46 // if err != nil { 47 // return err 48 // } 49 // tmpJSON0, err := json.Marshal(map[string]interface{}{ 50 // "Version": "2012-10-17", 51 // "Statement": map[string]interface{}{ 52 // "Effect": "Allow", 53 // "Action": "sts:AssumeRole", 54 // "Principal": map[string]interface{}{ 55 // "Service": "pipes.amazonaws.com", 56 // }, 57 // "Condition": map[string]interface{}{ 58 // "StringEquals": map[string]interface{}{ 59 // "aws:SourceAccount": main.AccountId, 60 // }, 61 // }, 62 // }, 63 // }) 64 // if err != nil { 65 // return err 66 // } 67 // json0 := string(tmpJSON0) 68 // example, err := iam.NewRole(ctx, "example", &iam.RoleArgs{ 69 // AssumeRolePolicy: pulumi.String(json0), 70 // }) 71 // if err != nil { 72 // return err 73 // } 74 // sourceQueue, err := sqs.NewQueue(ctx, "source", nil) 75 // if err != nil { 76 // return err 77 // } 78 // source, err := iam.NewRolePolicy(ctx, "source", &iam.RolePolicyArgs{ 79 // Role: example.ID(), 80 // Policy: sourceQueue.Arn.ApplyT(func(arn string) (pulumi.String, error) { 81 // var _zero pulumi.String 82 // tmpJSON1, err := json.Marshal(map[string]interface{}{ 83 // "Version": "2012-10-17", 84 // "Statement": []map[string]interface{}{ 85 // map[string]interface{}{ 86 // "Effect": "Allow", 87 // "Action": []string{ 88 // "sqs:DeleteMessage", 89 // "sqs:GetQueueAttributes", 90 // "sqs:ReceiveMessage", 91 // }, 92 // "Resource": []string{ 93 // arn, 94 // }, 95 // }, 96 // }, 97 // }) 98 // if err != nil { 99 // return _zero, err 100 // } 101 // json1 := string(tmpJSON1) 102 // return pulumi.String(json1), nil 103 // }).(pulumi.StringOutput), 104 // }) 105 // if err != nil { 106 // return err 107 // } 108 // targetQueue, err := sqs.NewQueue(ctx, "target", nil) 109 // if err != nil { 110 // return err 111 // } 112 // target, err := iam.NewRolePolicy(ctx, "target", &iam.RolePolicyArgs{ 113 // Role: example.ID(), 114 // Policy: targetQueue.Arn.ApplyT(func(arn string) (pulumi.String, error) { 115 // var _zero pulumi.String 116 // tmpJSON2, err := json.Marshal(map[string]interface{}{ 117 // "Version": "2012-10-17", 118 // "Statement": []map[string]interface{}{ 119 // map[string]interface{}{ 120 // "Effect": "Allow", 121 // "Action": []string{ 122 // "sqs:SendMessage", 123 // }, 124 // "Resource": []string{ 125 // arn, 126 // }, 127 // }, 128 // }, 129 // }) 130 // if err != nil { 131 // return _zero, err 132 // } 133 // json2 := string(tmpJSON2) 134 // return pulumi.String(json2), nil 135 // }).(pulumi.StringOutput), 136 // }) 137 // if err != nil { 138 // return err 139 // } 140 // _, err = pipes.NewPipe(ctx, "example", &pipes.PipeArgs{ 141 // Name: pulumi.String("example-pipe"), 142 // RoleArn: example.Arn, 143 // Source: sourceQueue.Arn, 144 // Target: targetQueue.Arn, 145 // }, pulumi.DependsOn([]pulumi.Resource{ 146 // source, 147 // target, 148 // })) 149 // if err != nil { 150 // return err 151 // } 152 // return nil 153 // }) 154 // } 155 // 156 // ``` 157 // <!--End PulumiCodeChooser --> 158 // 159 // ### Enrichment Usage 160 // 161 // <!--Start PulumiCodeChooser --> 162 // ```go 163 // package main 164 // 165 // import ( 166 // 167 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pipes" 168 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 169 // 170 // ) 171 // 172 // func main() { 173 // pulumi.Run(func(ctx *pulumi.Context) error { 174 // _, err := pipes.NewPipe(ctx, "example", &pipes.PipeArgs{ 175 // Name: pulumi.String("example-pipe"), 176 // RoleArn: pulumi.Any(exampleAwsIamRole.Arn), 177 // Source: pulumi.Any(source.Arn), 178 // Target: pulumi.Any(target.Arn), 179 // Enrichment: pulumi.Any(exampleAwsCloudwatchEventApiDestination.Arn), 180 // EnrichmentParameters: &pipes.PipeEnrichmentParametersArgs{ 181 // HttpParameters: &pipes.PipeEnrichmentParametersHttpParametersArgs{ 182 // PathParameterValues: pulumi.String("example-path-param"), 183 // HeaderParameters: pulumi.StringMap{ 184 // "example-header": pulumi.String("example-value"), 185 // "second-example-header": pulumi.String("second-example-value"), 186 // }, 187 // QueryStringParameters: pulumi.StringMap{ 188 // "example-query-string": pulumi.String("example-value"), 189 // "second-example-query-string": pulumi.String("second-example-value"), 190 // }, 191 // }, 192 // }, 193 // }) 194 // if err != nil { 195 // return err 196 // } 197 // return nil 198 // }) 199 // } 200 // 201 // ``` 202 // <!--End PulumiCodeChooser --> 203 // 204 // ### Filter Usage 205 // 206 // <!--Start PulumiCodeChooser --> 207 // ```go 208 // package main 209 // 210 // import ( 211 // 212 // "encoding/json" 213 // 214 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pipes" 215 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 216 // 217 // ) 218 // 219 // func main() { 220 // pulumi.Run(func(ctx *pulumi.Context) error { 221 // tmpJSON0, err := json.Marshal(map[string]interface{}{ 222 // "source": []string{ 223 // "event-source", 224 // }, 225 // }) 226 // if err != nil { 227 // return err 228 // } 229 // json0 := string(tmpJSON0) 230 // _, err = pipes.NewPipe(ctx, "example", &pipes.PipeArgs{ 231 // Name: pulumi.String("example-pipe"), 232 // RoleArn: pulumi.Any(exampleAwsIamRole.Arn), 233 // Source: pulumi.Any(source.Arn), 234 // Target: pulumi.Any(target.Arn), 235 // SourceParameters: &pipes.PipeSourceParametersArgs{ 236 // FilterCriteria: &pipes.PipeSourceParametersFilterCriteriaArgs{ 237 // Filters: pipes.PipeSourceParametersFilterCriteriaFilterArray{ 238 // &pipes.PipeSourceParametersFilterCriteriaFilterArgs{ 239 // Pattern: pulumi.String(json0), 240 // }, 241 // }, 242 // }, 243 // }, 244 // }) 245 // if err != nil { 246 // return err 247 // } 248 // return nil 249 // }) 250 // } 251 // 252 // ``` 253 // <!--End PulumiCodeChooser --> 254 // 255 // ## Import 256 // 257 // Using `pulumi import`, import pipes using the `name`. For example: 258 // 259 // ```sh 260 // $ pulumi import aws:pipes/pipe:Pipe example my-pipe 261 // ``` 262 type Pipe struct { 263 pulumi.CustomResourceState 264 265 // The ARN of the Amazon SQS queue specified as the target for the dead-letter queue. 266 Arn pulumi.StringOutput `pulumi:"arn"` 267 // A description of the pipe. At most 512 characters. 268 Description pulumi.StringPtrOutput `pulumi:"description"` 269 // The state the pipe should be in. One of: `RUNNING`, `STOPPED`. 270 DesiredState pulumi.StringPtrOutput `pulumi:"desiredState"` 271 // Enrichment resource of the pipe (typically an ARN). Read more about enrichment in the [User Guide](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes.html#pipes-enrichment). 272 Enrichment pulumi.StringPtrOutput `pulumi:"enrichment"` 273 // Parameters to configure enrichment for your pipe. Detailed below. 274 EnrichmentParameters PipeEnrichmentParametersPtrOutput `pulumi:"enrichmentParameters"` 275 // Name of the pipe. If omitted, the provider will assign a random, unique name. Conflicts with `namePrefix`. 276 Name pulumi.StringOutput `pulumi:"name"` 277 // Creates a unique name beginning with the specified prefix. Conflicts with `name`. 278 NamePrefix pulumi.StringOutput `pulumi:"namePrefix"` 279 // ARN of the role that allows the pipe to send data to the target. 280 RoleArn pulumi.StringOutput `pulumi:"roleArn"` 281 // Source resource of the pipe (typically an ARN). 282 Source pulumi.StringOutput `pulumi:"source"` 283 // Parameters to configure a source for the pipe. Detailed below. 284 SourceParameters PipeSourceParametersOutput `pulumi:"sourceParameters"` 285 // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 286 Tags pulumi.StringMapOutput `pulumi:"tags"` 287 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 288 // 289 // Deprecated: Please use `tags` instead. 290 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 291 // Target resource of the pipe (typically an ARN). 292 // 293 // The following arguments are optional: 294 Target pulumi.StringOutput `pulumi:"target"` 295 // Parameters to configure a target for your pipe. Detailed below. 296 TargetParameters PipeTargetParametersPtrOutput `pulumi:"targetParameters"` 297 } 298 299 // NewPipe registers a new resource with the given unique name, arguments, and options. 300 func NewPipe(ctx *pulumi.Context, 301 name string, args *PipeArgs, opts ...pulumi.ResourceOption) (*Pipe, error) { 302 if args == nil { 303 return nil, errors.New("missing one or more required arguments") 304 } 305 306 if args.RoleArn == nil { 307 return nil, errors.New("invalid value for required argument 'RoleArn'") 308 } 309 if args.Source == nil { 310 return nil, errors.New("invalid value for required argument 'Source'") 311 } 312 if args.Target == nil { 313 return nil, errors.New("invalid value for required argument 'Target'") 314 } 315 opts = internal.PkgResourceDefaultOpts(opts) 316 var resource Pipe 317 err := ctx.RegisterResource("aws:pipes/pipe:Pipe", name, args, &resource, opts...) 318 if err != nil { 319 return nil, err 320 } 321 return &resource, nil 322 } 323 324 // GetPipe gets an existing Pipe resource's state with the given name, ID, and optional 325 // state properties that are used to uniquely qualify the lookup (nil if not required). 326 func GetPipe(ctx *pulumi.Context, 327 name string, id pulumi.IDInput, state *PipeState, opts ...pulumi.ResourceOption) (*Pipe, error) { 328 var resource Pipe 329 err := ctx.ReadResource("aws:pipes/pipe:Pipe", name, id, state, &resource, opts...) 330 if err != nil { 331 return nil, err 332 } 333 return &resource, nil 334 } 335 336 // Input properties used for looking up and filtering Pipe resources. 337 type pipeState struct { 338 // The ARN of the Amazon SQS queue specified as the target for the dead-letter queue. 339 Arn *string `pulumi:"arn"` 340 // A description of the pipe. At most 512 characters. 341 Description *string `pulumi:"description"` 342 // The state the pipe should be in. One of: `RUNNING`, `STOPPED`. 343 DesiredState *string `pulumi:"desiredState"` 344 // Enrichment resource of the pipe (typically an ARN). Read more about enrichment in the [User Guide](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes.html#pipes-enrichment). 345 Enrichment *string `pulumi:"enrichment"` 346 // Parameters to configure enrichment for your pipe. Detailed below. 347 EnrichmentParameters *PipeEnrichmentParameters `pulumi:"enrichmentParameters"` 348 // Name of the pipe. If omitted, the provider will assign a random, unique name. Conflicts with `namePrefix`. 349 Name *string `pulumi:"name"` 350 // Creates a unique name beginning with the specified prefix. Conflicts with `name`. 351 NamePrefix *string `pulumi:"namePrefix"` 352 // ARN of the role that allows the pipe to send data to the target. 353 RoleArn *string `pulumi:"roleArn"` 354 // Source resource of the pipe (typically an ARN). 355 Source *string `pulumi:"source"` 356 // Parameters to configure a source for the pipe. Detailed below. 357 SourceParameters *PipeSourceParameters `pulumi:"sourceParameters"` 358 // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 359 Tags map[string]string `pulumi:"tags"` 360 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 361 // 362 // Deprecated: Please use `tags` instead. 363 TagsAll map[string]string `pulumi:"tagsAll"` 364 // Target resource of the pipe (typically an ARN). 365 // 366 // The following arguments are optional: 367 Target *string `pulumi:"target"` 368 // Parameters to configure a target for your pipe. Detailed below. 369 TargetParameters *PipeTargetParameters `pulumi:"targetParameters"` 370 } 371 372 type PipeState struct { 373 // The ARN of the Amazon SQS queue specified as the target for the dead-letter queue. 374 Arn pulumi.StringPtrInput 375 // A description of the pipe. At most 512 characters. 376 Description pulumi.StringPtrInput 377 // The state the pipe should be in. One of: `RUNNING`, `STOPPED`. 378 DesiredState pulumi.StringPtrInput 379 // Enrichment resource of the pipe (typically an ARN). Read more about enrichment in the [User Guide](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes.html#pipes-enrichment). 380 Enrichment pulumi.StringPtrInput 381 // Parameters to configure enrichment for your pipe. Detailed below. 382 EnrichmentParameters PipeEnrichmentParametersPtrInput 383 // Name of the pipe. If omitted, the provider will assign a random, unique name. Conflicts with `namePrefix`. 384 Name pulumi.StringPtrInput 385 // Creates a unique name beginning with the specified prefix. Conflicts with `name`. 386 NamePrefix pulumi.StringPtrInput 387 // ARN of the role that allows the pipe to send data to the target. 388 RoleArn pulumi.StringPtrInput 389 // Source resource of the pipe (typically an ARN). 390 Source pulumi.StringPtrInput 391 // Parameters to configure a source for the pipe. Detailed below. 392 SourceParameters PipeSourceParametersPtrInput 393 // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 394 Tags pulumi.StringMapInput 395 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 396 // 397 // Deprecated: Please use `tags` instead. 398 TagsAll pulumi.StringMapInput 399 // Target resource of the pipe (typically an ARN). 400 // 401 // The following arguments are optional: 402 Target pulumi.StringPtrInput 403 // Parameters to configure a target for your pipe. Detailed below. 404 TargetParameters PipeTargetParametersPtrInput 405 } 406 407 func (PipeState) ElementType() reflect.Type { 408 return reflect.TypeOf((*pipeState)(nil)).Elem() 409 } 410 411 type pipeArgs struct { 412 // A description of the pipe. At most 512 characters. 413 Description *string `pulumi:"description"` 414 // The state the pipe should be in. One of: `RUNNING`, `STOPPED`. 415 DesiredState *string `pulumi:"desiredState"` 416 // Enrichment resource of the pipe (typically an ARN). Read more about enrichment in the [User Guide](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes.html#pipes-enrichment). 417 Enrichment *string `pulumi:"enrichment"` 418 // Parameters to configure enrichment for your pipe. Detailed below. 419 EnrichmentParameters *PipeEnrichmentParameters `pulumi:"enrichmentParameters"` 420 // Name of the pipe. If omitted, the provider will assign a random, unique name. Conflicts with `namePrefix`. 421 Name *string `pulumi:"name"` 422 // Creates a unique name beginning with the specified prefix. Conflicts with `name`. 423 NamePrefix *string `pulumi:"namePrefix"` 424 // ARN of the role that allows the pipe to send data to the target. 425 RoleArn string `pulumi:"roleArn"` 426 // Source resource of the pipe (typically an ARN). 427 Source string `pulumi:"source"` 428 // Parameters to configure a source for the pipe. Detailed below. 429 SourceParameters *PipeSourceParameters `pulumi:"sourceParameters"` 430 // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 431 Tags map[string]string `pulumi:"tags"` 432 // Target resource of the pipe (typically an ARN). 433 // 434 // The following arguments are optional: 435 Target string `pulumi:"target"` 436 // Parameters to configure a target for your pipe. Detailed below. 437 TargetParameters *PipeTargetParameters `pulumi:"targetParameters"` 438 } 439 440 // The set of arguments for constructing a Pipe resource. 441 type PipeArgs struct { 442 // A description of the pipe. At most 512 characters. 443 Description pulumi.StringPtrInput 444 // The state the pipe should be in. One of: `RUNNING`, `STOPPED`. 445 DesiredState pulumi.StringPtrInput 446 // Enrichment resource of the pipe (typically an ARN). Read more about enrichment in the [User Guide](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes.html#pipes-enrichment). 447 Enrichment pulumi.StringPtrInput 448 // Parameters to configure enrichment for your pipe. Detailed below. 449 EnrichmentParameters PipeEnrichmentParametersPtrInput 450 // Name of the pipe. If omitted, the provider will assign a random, unique name. Conflicts with `namePrefix`. 451 Name pulumi.StringPtrInput 452 // Creates a unique name beginning with the specified prefix. Conflicts with `name`. 453 NamePrefix pulumi.StringPtrInput 454 // ARN of the role that allows the pipe to send data to the target. 455 RoleArn pulumi.StringInput 456 // Source resource of the pipe (typically an ARN). 457 Source pulumi.StringInput 458 // Parameters to configure a source for the pipe. Detailed below. 459 SourceParameters PipeSourceParametersPtrInput 460 // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 461 Tags pulumi.StringMapInput 462 // Target resource of the pipe (typically an ARN). 463 // 464 // The following arguments are optional: 465 Target pulumi.StringInput 466 // Parameters to configure a target for your pipe. Detailed below. 467 TargetParameters PipeTargetParametersPtrInput 468 } 469 470 func (PipeArgs) ElementType() reflect.Type { 471 return reflect.TypeOf((*pipeArgs)(nil)).Elem() 472 } 473 474 type PipeInput interface { 475 pulumi.Input 476 477 ToPipeOutput() PipeOutput 478 ToPipeOutputWithContext(ctx context.Context) PipeOutput 479 } 480 481 func (*Pipe) ElementType() reflect.Type { 482 return reflect.TypeOf((**Pipe)(nil)).Elem() 483 } 484 485 func (i *Pipe) ToPipeOutput() PipeOutput { 486 return i.ToPipeOutputWithContext(context.Background()) 487 } 488 489 func (i *Pipe) ToPipeOutputWithContext(ctx context.Context) PipeOutput { 490 return pulumi.ToOutputWithContext(ctx, i).(PipeOutput) 491 } 492 493 // PipeArrayInput is an input type that accepts PipeArray and PipeArrayOutput values. 494 // You can construct a concrete instance of `PipeArrayInput` via: 495 // 496 // PipeArray{ PipeArgs{...} } 497 type PipeArrayInput interface { 498 pulumi.Input 499 500 ToPipeArrayOutput() PipeArrayOutput 501 ToPipeArrayOutputWithContext(context.Context) PipeArrayOutput 502 } 503 504 type PipeArray []PipeInput 505 506 func (PipeArray) ElementType() reflect.Type { 507 return reflect.TypeOf((*[]*Pipe)(nil)).Elem() 508 } 509 510 func (i PipeArray) ToPipeArrayOutput() PipeArrayOutput { 511 return i.ToPipeArrayOutputWithContext(context.Background()) 512 } 513 514 func (i PipeArray) ToPipeArrayOutputWithContext(ctx context.Context) PipeArrayOutput { 515 return pulumi.ToOutputWithContext(ctx, i).(PipeArrayOutput) 516 } 517 518 // PipeMapInput is an input type that accepts PipeMap and PipeMapOutput values. 519 // You can construct a concrete instance of `PipeMapInput` via: 520 // 521 // PipeMap{ "key": PipeArgs{...} } 522 type PipeMapInput interface { 523 pulumi.Input 524 525 ToPipeMapOutput() PipeMapOutput 526 ToPipeMapOutputWithContext(context.Context) PipeMapOutput 527 } 528 529 type PipeMap map[string]PipeInput 530 531 func (PipeMap) ElementType() reflect.Type { 532 return reflect.TypeOf((*map[string]*Pipe)(nil)).Elem() 533 } 534 535 func (i PipeMap) ToPipeMapOutput() PipeMapOutput { 536 return i.ToPipeMapOutputWithContext(context.Background()) 537 } 538 539 func (i PipeMap) ToPipeMapOutputWithContext(ctx context.Context) PipeMapOutput { 540 return pulumi.ToOutputWithContext(ctx, i).(PipeMapOutput) 541 } 542 543 type PipeOutput struct{ *pulumi.OutputState } 544 545 func (PipeOutput) ElementType() reflect.Type { 546 return reflect.TypeOf((**Pipe)(nil)).Elem() 547 } 548 549 func (o PipeOutput) ToPipeOutput() PipeOutput { 550 return o 551 } 552 553 func (o PipeOutput) ToPipeOutputWithContext(ctx context.Context) PipeOutput { 554 return o 555 } 556 557 // The ARN of the Amazon SQS queue specified as the target for the dead-letter queue. 558 func (o PipeOutput) Arn() pulumi.StringOutput { 559 return o.ApplyT(func(v *Pipe) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 560 } 561 562 // A description of the pipe. At most 512 characters. 563 func (o PipeOutput) Description() pulumi.StringPtrOutput { 564 return o.ApplyT(func(v *Pipe) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) 565 } 566 567 // The state the pipe should be in. One of: `RUNNING`, `STOPPED`. 568 func (o PipeOutput) DesiredState() pulumi.StringPtrOutput { 569 return o.ApplyT(func(v *Pipe) pulumi.StringPtrOutput { return v.DesiredState }).(pulumi.StringPtrOutput) 570 } 571 572 // Enrichment resource of the pipe (typically an ARN). Read more about enrichment in the [User Guide](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes.html#pipes-enrichment). 573 func (o PipeOutput) Enrichment() pulumi.StringPtrOutput { 574 return o.ApplyT(func(v *Pipe) pulumi.StringPtrOutput { return v.Enrichment }).(pulumi.StringPtrOutput) 575 } 576 577 // Parameters to configure enrichment for your pipe. Detailed below. 578 func (o PipeOutput) EnrichmentParameters() PipeEnrichmentParametersPtrOutput { 579 return o.ApplyT(func(v *Pipe) PipeEnrichmentParametersPtrOutput { return v.EnrichmentParameters }).(PipeEnrichmentParametersPtrOutput) 580 } 581 582 // Name of the pipe. If omitted, the provider will assign a random, unique name. Conflicts with `namePrefix`. 583 func (o PipeOutput) Name() pulumi.StringOutput { 584 return o.ApplyT(func(v *Pipe) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 585 } 586 587 // Creates a unique name beginning with the specified prefix. Conflicts with `name`. 588 func (o PipeOutput) NamePrefix() pulumi.StringOutput { 589 return o.ApplyT(func(v *Pipe) pulumi.StringOutput { return v.NamePrefix }).(pulumi.StringOutput) 590 } 591 592 // ARN of the role that allows the pipe to send data to the target. 593 func (o PipeOutput) RoleArn() pulumi.StringOutput { 594 return o.ApplyT(func(v *Pipe) pulumi.StringOutput { return v.RoleArn }).(pulumi.StringOutput) 595 } 596 597 // Source resource of the pipe (typically an ARN). 598 func (o PipeOutput) Source() pulumi.StringOutput { 599 return o.ApplyT(func(v *Pipe) pulumi.StringOutput { return v.Source }).(pulumi.StringOutput) 600 } 601 602 // Parameters to configure a source for the pipe. Detailed below. 603 func (o PipeOutput) SourceParameters() PipeSourceParametersOutput { 604 return o.ApplyT(func(v *Pipe) PipeSourceParametersOutput { return v.SourceParameters }).(PipeSourceParametersOutput) 605 } 606 607 // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 608 func (o PipeOutput) Tags() pulumi.StringMapOutput { 609 return o.ApplyT(func(v *Pipe) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 610 } 611 612 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 613 // 614 // Deprecated: Please use `tags` instead. 615 func (o PipeOutput) TagsAll() pulumi.StringMapOutput { 616 return o.ApplyT(func(v *Pipe) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 617 } 618 619 // Target resource of the pipe (typically an ARN). 620 // 621 // The following arguments are optional: 622 func (o PipeOutput) Target() pulumi.StringOutput { 623 return o.ApplyT(func(v *Pipe) pulumi.StringOutput { return v.Target }).(pulumi.StringOutput) 624 } 625 626 // Parameters to configure a target for your pipe. Detailed below. 627 func (o PipeOutput) TargetParameters() PipeTargetParametersPtrOutput { 628 return o.ApplyT(func(v *Pipe) PipeTargetParametersPtrOutput { return v.TargetParameters }).(PipeTargetParametersPtrOutput) 629 } 630 631 type PipeArrayOutput struct{ *pulumi.OutputState } 632 633 func (PipeArrayOutput) ElementType() reflect.Type { 634 return reflect.TypeOf((*[]*Pipe)(nil)).Elem() 635 } 636 637 func (o PipeArrayOutput) ToPipeArrayOutput() PipeArrayOutput { 638 return o 639 } 640 641 func (o PipeArrayOutput) ToPipeArrayOutputWithContext(ctx context.Context) PipeArrayOutput { 642 return o 643 } 644 645 func (o PipeArrayOutput) Index(i pulumi.IntInput) PipeOutput { 646 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Pipe { 647 return vs[0].([]*Pipe)[vs[1].(int)] 648 }).(PipeOutput) 649 } 650 651 type PipeMapOutput struct{ *pulumi.OutputState } 652 653 func (PipeMapOutput) ElementType() reflect.Type { 654 return reflect.TypeOf((*map[string]*Pipe)(nil)).Elem() 655 } 656 657 func (o PipeMapOutput) ToPipeMapOutput() PipeMapOutput { 658 return o 659 } 660 661 func (o PipeMapOutput) ToPipeMapOutputWithContext(ctx context.Context) PipeMapOutput { 662 return o 663 } 664 665 func (o PipeMapOutput) MapIndex(k pulumi.StringInput) PipeOutput { 666 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Pipe { 667 return vs[0].(map[string]*Pipe)[vs[1].(string)] 668 }).(PipeOutput) 669 } 670 671 func init() { 672 pulumi.RegisterInputType(reflect.TypeOf((*PipeInput)(nil)).Elem(), &Pipe{}) 673 pulumi.RegisterInputType(reflect.TypeOf((*PipeArrayInput)(nil)).Elem(), PipeArray{}) 674 pulumi.RegisterInputType(reflect.TypeOf((*PipeMapInput)(nil)).Elem(), PipeMap{}) 675 pulumi.RegisterOutputType(PipeOutput{}) 676 pulumi.RegisterOutputType(PipeArrayOutput{}) 677 pulumi.RegisterOutputType(PipeMapOutput{}) 678 }