github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/opensearchingest/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 opensearchingest 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 OpenSearch Ingestion Pipeline. 16 // 17 // ## Example Usage 18 // 19 // ### Basic Usage 20 // 21 // <!--Start PulumiCodeChooser --> 22 // ```go 23 // package main 24 // 25 // import ( 26 // 27 // "encoding/json" 28 // "fmt" 29 // 30 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws" 31 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam" 32 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearchingest" 33 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 34 // 35 // ) 36 // 37 // func main() { 38 // pulumi.Run(func(ctx *pulumi.Context) error { 39 // current, err := aws.GetRegion(ctx, nil, nil) 40 // if err != nil { 41 // return err 42 // } 43 // tmpJSON0, err := json.Marshal(map[string]interface{}{ 44 // "Version": "2012-10-17", 45 // "Statement": []map[string]interface{}{ 46 // map[string]interface{}{ 47 // "Action": "sts:AssumeRole", 48 // "Effect": "Allow", 49 // "Sid": "", 50 // "Principal": map[string]interface{}{ 51 // "Service": "osis-pipelines.amazonaws.com", 52 // }, 53 // }, 54 // }, 55 // }) 56 // if err != nil { 57 // return err 58 // } 59 // json0 := string(tmpJSON0) 60 // example, err := iam.NewRole(ctx, "example", &iam.RoleArgs{ 61 // AssumeRolePolicy: pulumi.String(json0), 62 // }) 63 // if err != nil { 64 // return err 65 // } 66 // _, err = opensearchingest.NewPipeline(ctx, "example", &opensearchingest.PipelineArgs{ 67 // PipelineName: pulumi.String("example"), 68 // PipelineConfigurationBody: example.Arn.ApplyT(func(arn string) (string, error) { 69 // return fmt.Sprintf(`version: "2" 70 // 71 // example-pipeline: 72 // 73 // source: 74 // http: 75 // path: "/example" 76 // sink: 77 // - s3: 78 // aws: 79 // sts_role_arn: "%v" 80 // region: "%v" 81 // bucket: "example" 82 // threshold: 83 // event_collect_timeout: "60s" 84 // codec: 85 // ndjson: 86 // 87 // `, arn, current.Name), nil 88 // 89 // }).(pulumi.StringOutput), 90 // MaxUnits: pulumi.Int(1), 91 // MinUnits: pulumi.Int(1), 92 // }) 93 // if err != nil { 94 // return err 95 // } 96 // return nil 97 // }) 98 // } 99 // 100 // ``` 101 // <!--End PulumiCodeChooser --> 102 // 103 // ### Using file function 104 // 105 // <!--Start PulumiCodeChooser --> 106 // ```go 107 // package main 108 // 109 // import ( 110 // 111 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearchingest" 112 // "github.com/pulumi/pulumi-std/sdk/go/std" 113 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 114 // 115 // ) 116 // 117 // func main() { 118 // pulumi.Run(func(ctx *pulumi.Context) error { 119 // invokeFile, err := std.File(ctx, &std.FileArgs{ 120 // Input: "example.yaml", 121 // }, nil) 122 // if err != nil { 123 // return err 124 // } 125 // _, err = opensearchingest.NewPipeline(ctx, "example", &opensearchingest.PipelineArgs{ 126 // PipelineName: pulumi.String("example"), 127 // PipelineConfigurationBody: invokeFile.Result, 128 // MaxUnits: pulumi.Int(1), 129 // MinUnits: pulumi.Int(1), 130 // }) 131 // if err != nil { 132 // return err 133 // } 134 // return nil 135 // }) 136 // } 137 // 138 // ``` 139 // <!--End PulumiCodeChooser --> 140 // 141 // ## Import 142 // 143 // Using `pulumi import`, import OpenSearch Ingestion Pipeline using the `id`. For example: 144 // 145 // ```sh 146 // $ pulumi import aws:opensearchingest/pipeline:Pipeline example example 147 // ``` 148 type Pipeline struct { 149 pulumi.CustomResourceState 150 151 // Key-value pairs to configure persistent buffering for the pipeline. See `bufferOptions` below. 152 BufferOptions PipelineBufferOptionsPtrOutput `pulumi:"bufferOptions"` 153 // Key-value pairs to configure encryption for data that is written to a persistent buffer. See `encryptionAtRestOptions` below. 154 EncryptionAtRestOptions PipelineEncryptionAtRestOptionsPtrOutput `pulumi:"encryptionAtRestOptions"` 155 // The list of ingestion endpoints for the pipeline, which you can send data to. 156 IngestEndpointUrls pulumi.StringArrayOutput `pulumi:"ingestEndpointUrls"` 157 // Key-value pairs to configure log publishing. See `logPublishingOptions` below. 158 LogPublishingOptions PipelineLogPublishingOptionsPtrOutput `pulumi:"logPublishingOptions"` 159 // The maximum pipeline capacity, in Ingestion Compute Units (ICUs). 160 MaxUnits pulumi.IntOutput `pulumi:"maxUnits"` 161 // The minimum pipeline capacity, in Ingestion Compute Units (ICUs). 162 MinUnits pulumi.IntOutput `pulumi:"minUnits"` 163 // Amazon Resource Name (ARN) of the pipeline. 164 PipelineArn pulumi.StringOutput `pulumi:"pipelineArn"` 165 // The pipeline configuration in YAML format. This argument accepts the pipeline configuration as a string or within a .yaml file. If you provide the configuration as a string, each new line must be escaped with \n. 166 PipelineConfigurationBody pulumi.StringOutput `pulumi:"pipelineConfigurationBody"` 167 // The name of the OpenSearch Ingestion pipeline to create. Pipeline names are unique across the pipelines owned by an account within an AWS Region. 168 // 169 // The following arguments are optional: 170 PipelineName pulumi.StringOutput `pulumi:"pipelineName"` 171 // A map of tags to assign to the pipeline. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 172 Tags pulumi.StringMapOutput `pulumi:"tags"` 173 // Deprecated: Please use `tags` instead. 174 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 175 Timeouts PipelineTimeoutsPtrOutput `pulumi:"timeouts"` 176 // Container for the values required to configure VPC access for the pipeline. If you don't specify these values, OpenSearch Ingestion creates the pipeline with a public endpoint. See `vpcOptions` below. 177 VpcOptions PipelineVpcOptionsPtrOutput `pulumi:"vpcOptions"` 178 } 179 180 // NewPipeline registers a new resource with the given unique name, arguments, and options. 181 func NewPipeline(ctx *pulumi.Context, 182 name string, args *PipelineArgs, opts ...pulumi.ResourceOption) (*Pipeline, error) { 183 if args == nil { 184 return nil, errors.New("missing one or more required arguments") 185 } 186 187 if args.MaxUnits == nil { 188 return nil, errors.New("invalid value for required argument 'MaxUnits'") 189 } 190 if args.MinUnits == nil { 191 return nil, errors.New("invalid value for required argument 'MinUnits'") 192 } 193 if args.PipelineConfigurationBody == nil { 194 return nil, errors.New("invalid value for required argument 'PipelineConfigurationBody'") 195 } 196 if args.PipelineName == nil { 197 return nil, errors.New("invalid value for required argument 'PipelineName'") 198 } 199 opts = internal.PkgResourceDefaultOpts(opts) 200 var resource Pipeline 201 err := ctx.RegisterResource("aws:opensearchingest/pipeline:Pipeline", name, args, &resource, opts...) 202 if err != nil { 203 return nil, err 204 } 205 return &resource, nil 206 } 207 208 // GetPipeline gets an existing Pipeline resource's state with the given name, ID, and optional 209 // state properties that are used to uniquely qualify the lookup (nil if not required). 210 func GetPipeline(ctx *pulumi.Context, 211 name string, id pulumi.IDInput, state *PipelineState, opts ...pulumi.ResourceOption) (*Pipeline, error) { 212 var resource Pipeline 213 err := ctx.ReadResource("aws:opensearchingest/pipeline:Pipeline", name, id, state, &resource, opts...) 214 if err != nil { 215 return nil, err 216 } 217 return &resource, nil 218 } 219 220 // Input properties used for looking up and filtering Pipeline resources. 221 type pipelineState struct { 222 // Key-value pairs to configure persistent buffering for the pipeline. See `bufferOptions` below. 223 BufferOptions *PipelineBufferOptions `pulumi:"bufferOptions"` 224 // Key-value pairs to configure encryption for data that is written to a persistent buffer. See `encryptionAtRestOptions` below. 225 EncryptionAtRestOptions *PipelineEncryptionAtRestOptions `pulumi:"encryptionAtRestOptions"` 226 // The list of ingestion endpoints for the pipeline, which you can send data to. 227 IngestEndpointUrls []string `pulumi:"ingestEndpointUrls"` 228 // Key-value pairs to configure log publishing. See `logPublishingOptions` below. 229 LogPublishingOptions *PipelineLogPublishingOptions `pulumi:"logPublishingOptions"` 230 // The maximum pipeline capacity, in Ingestion Compute Units (ICUs). 231 MaxUnits *int `pulumi:"maxUnits"` 232 // The minimum pipeline capacity, in Ingestion Compute Units (ICUs). 233 MinUnits *int `pulumi:"minUnits"` 234 // Amazon Resource Name (ARN) of the pipeline. 235 PipelineArn *string `pulumi:"pipelineArn"` 236 // The pipeline configuration in YAML format. This argument accepts the pipeline configuration as a string or within a .yaml file. If you provide the configuration as a string, each new line must be escaped with \n. 237 PipelineConfigurationBody *string `pulumi:"pipelineConfigurationBody"` 238 // The name of the OpenSearch Ingestion pipeline to create. Pipeline names are unique across the pipelines owned by an account within an AWS Region. 239 // 240 // The following arguments are optional: 241 PipelineName *string `pulumi:"pipelineName"` 242 // A map of tags to assign to the pipeline. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 243 Tags map[string]string `pulumi:"tags"` 244 // Deprecated: Please use `tags` instead. 245 TagsAll map[string]string `pulumi:"tagsAll"` 246 Timeouts *PipelineTimeouts `pulumi:"timeouts"` 247 // Container for the values required to configure VPC access for the pipeline. If you don't specify these values, OpenSearch Ingestion creates the pipeline with a public endpoint. See `vpcOptions` below. 248 VpcOptions *PipelineVpcOptions `pulumi:"vpcOptions"` 249 } 250 251 type PipelineState struct { 252 // Key-value pairs to configure persistent buffering for the pipeline. See `bufferOptions` below. 253 BufferOptions PipelineBufferOptionsPtrInput 254 // Key-value pairs to configure encryption for data that is written to a persistent buffer. See `encryptionAtRestOptions` below. 255 EncryptionAtRestOptions PipelineEncryptionAtRestOptionsPtrInput 256 // The list of ingestion endpoints for the pipeline, which you can send data to. 257 IngestEndpointUrls pulumi.StringArrayInput 258 // Key-value pairs to configure log publishing. See `logPublishingOptions` below. 259 LogPublishingOptions PipelineLogPublishingOptionsPtrInput 260 // The maximum pipeline capacity, in Ingestion Compute Units (ICUs). 261 MaxUnits pulumi.IntPtrInput 262 // The minimum pipeline capacity, in Ingestion Compute Units (ICUs). 263 MinUnits pulumi.IntPtrInput 264 // Amazon Resource Name (ARN) of the pipeline. 265 PipelineArn pulumi.StringPtrInput 266 // The pipeline configuration in YAML format. This argument accepts the pipeline configuration as a string or within a .yaml file. If you provide the configuration as a string, each new line must be escaped with \n. 267 PipelineConfigurationBody pulumi.StringPtrInput 268 // The name of the OpenSearch Ingestion pipeline to create. Pipeline names are unique across the pipelines owned by an account within an AWS Region. 269 // 270 // The following arguments are optional: 271 PipelineName pulumi.StringPtrInput 272 // A map of tags to assign to the pipeline. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 273 Tags pulumi.StringMapInput 274 // Deprecated: Please use `tags` instead. 275 TagsAll pulumi.StringMapInput 276 Timeouts PipelineTimeoutsPtrInput 277 // Container for the values required to configure VPC access for the pipeline. If you don't specify these values, OpenSearch Ingestion creates the pipeline with a public endpoint. See `vpcOptions` below. 278 VpcOptions PipelineVpcOptionsPtrInput 279 } 280 281 func (PipelineState) ElementType() reflect.Type { 282 return reflect.TypeOf((*pipelineState)(nil)).Elem() 283 } 284 285 type pipelineArgs struct { 286 // Key-value pairs to configure persistent buffering for the pipeline. See `bufferOptions` below. 287 BufferOptions *PipelineBufferOptions `pulumi:"bufferOptions"` 288 // Key-value pairs to configure encryption for data that is written to a persistent buffer. See `encryptionAtRestOptions` below. 289 EncryptionAtRestOptions *PipelineEncryptionAtRestOptions `pulumi:"encryptionAtRestOptions"` 290 // Key-value pairs to configure log publishing. See `logPublishingOptions` below. 291 LogPublishingOptions *PipelineLogPublishingOptions `pulumi:"logPublishingOptions"` 292 // The maximum pipeline capacity, in Ingestion Compute Units (ICUs). 293 MaxUnits int `pulumi:"maxUnits"` 294 // The minimum pipeline capacity, in Ingestion Compute Units (ICUs). 295 MinUnits int `pulumi:"minUnits"` 296 // The pipeline configuration in YAML format. This argument accepts the pipeline configuration as a string or within a .yaml file. If you provide the configuration as a string, each new line must be escaped with \n. 297 PipelineConfigurationBody string `pulumi:"pipelineConfigurationBody"` 298 // The name of the OpenSearch Ingestion pipeline to create. Pipeline names are unique across the pipelines owned by an account within an AWS Region. 299 // 300 // The following arguments are optional: 301 PipelineName string `pulumi:"pipelineName"` 302 // A map of tags to assign to the pipeline. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 303 Tags map[string]string `pulumi:"tags"` 304 Timeouts *PipelineTimeouts `pulumi:"timeouts"` 305 // Container for the values required to configure VPC access for the pipeline. If you don't specify these values, OpenSearch Ingestion creates the pipeline with a public endpoint. See `vpcOptions` below. 306 VpcOptions *PipelineVpcOptions `pulumi:"vpcOptions"` 307 } 308 309 // The set of arguments for constructing a Pipeline resource. 310 type PipelineArgs struct { 311 // Key-value pairs to configure persistent buffering for the pipeline. See `bufferOptions` below. 312 BufferOptions PipelineBufferOptionsPtrInput 313 // Key-value pairs to configure encryption for data that is written to a persistent buffer. See `encryptionAtRestOptions` below. 314 EncryptionAtRestOptions PipelineEncryptionAtRestOptionsPtrInput 315 // Key-value pairs to configure log publishing. See `logPublishingOptions` below. 316 LogPublishingOptions PipelineLogPublishingOptionsPtrInput 317 // The maximum pipeline capacity, in Ingestion Compute Units (ICUs). 318 MaxUnits pulumi.IntInput 319 // The minimum pipeline capacity, in Ingestion Compute Units (ICUs). 320 MinUnits pulumi.IntInput 321 // The pipeline configuration in YAML format. This argument accepts the pipeline configuration as a string or within a .yaml file. If you provide the configuration as a string, each new line must be escaped with \n. 322 PipelineConfigurationBody pulumi.StringInput 323 // The name of the OpenSearch Ingestion pipeline to create. Pipeline names are unique across the pipelines owned by an account within an AWS Region. 324 // 325 // The following arguments are optional: 326 PipelineName pulumi.StringInput 327 // A map of tags to assign to the pipeline. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 328 Tags pulumi.StringMapInput 329 Timeouts PipelineTimeoutsPtrInput 330 // Container for the values required to configure VPC access for the pipeline. If you don't specify these values, OpenSearch Ingestion creates the pipeline with a public endpoint. See `vpcOptions` below. 331 VpcOptions PipelineVpcOptionsPtrInput 332 } 333 334 func (PipelineArgs) ElementType() reflect.Type { 335 return reflect.TypeOf((*pipelineArgs)(nil)).Elem() 336 } 337 338 type PipelineInput interface { 339 pulumi.Input 340 341 ToPipelineOutput() PipelineOutput 342 ToPipelineOutputWithContext(ctx context.Context) PipelineOutput 343 } 344 345 func (*Pipeline) ElementType() reflect.Type { 346 return reflect.TypeOf((**Pipeline)(nil)).Elem() 347 } 348 349 func (i *Pipeline) ToPipelineOutput() PipelineOutput { 350 return i.ToPipelineOutputWithContext(context.Background()) 351 } 352 353 func (i *Pipeline) ToPipelineOutputWithContext(ctx context.Context) PipelineOutput { 354 return pulumi.ToOutputWithContext(ctx, i).(PipelineOutput) 355 } 356 357 // PipelineArrayInput is an input type that accepts PipelineArray and PipelineArrayOutput values. 358 // You can construct a concrete instance of `PipelineArrayInput` via: 359 // 360 // PipelineArray{ PipelineArgs{...} } 361 type PipelineArrayInput interface { 362 pulumi.Input 363 364 ToPipelineArrayOutput() PipelineArrayOutput 365 ToPipelineArrayOutputWithContext(context.Context) PipelineArrayOutput 366 } 367 368 type PipelineArray []PipelineInput 369 370 func (PipelineArray) ElementType() reflect.Type { 371 return reflect.TypeOf((*[]*Pipeline)(nil)).Elem() 372 } 373 374 func (i PipelineArray) ToPipelineArrayOutput() PipelineArrayOutput { 375 return i.ToPipelineArrayOutputWithContext(context.Background()) 376 } 377 378 func (i PipelineArray) ToPipelineArrayOutputWithContext(ctx context.Context) PipelineArrayOutput { 379 return pulumi.ToOutputWithContext(ctx, i).(PipelineArrayOutput) 380 } 381 382 // PipelineMapInput is an input type that accepts PipelineMap and PipelineMapOutput values. 383 // You can construct a concrete instance of `PipelineMapInput` via: 384 // 385 // PipelineMap{ "key": PipelineArgs{...} } 386 type PipelineMapInput interface { 387 pulumi.Input 388 389 ToPipelineMapOutput() PipelineMapOutput 390 ToPipelineMapOutputWithContext(context.Context) PipelineMapOutput 391 } 392 393 type PipelineMap map[string]PipelineInput 394 395 func (PipelineMap) ElementType() reflect.Type { 396 return reflect.TypeOf((*map[string]*Pipeline)(nil)).Elem() 397 } 398 399 func (i PipelineMap) ToPipelineMapOutput() PipelineMapOutput { 400 return i.ToPipelineMapOutputWithContext(context.Background()) 401 } 402 403 func (i PipelineMap) ToPipelineMapOutputWithContext(ctx context.Context) PipelineMapOutput { 404 return pulumi.ToOutputWithContext(ctx, i).(PipelineMapOutput) 405 } 406 407 type PipelineOutput struct{ *pulumi.OutputState } 408 409 func (PipelineOutput) ElementType() reflect.Type { 410 return reflect.TypeOf((**Pipeline)(nil)).Elem() 411 } 412 413 func (o PipelineOutput) ToPipelineOutput() PipelineOutput { 414 return o 415 } 416 417 func (o PipelineOutput) ToPipelineOutputWithContext(ctx context.Context) PipelineOutput { 418 return o 419 } 420 421 // Key-value pairs to configure persistent buffering for the pipeline. See `bufferOptions` below. 422 func (o PipelineOutput) BufferOptions() PipelineBufferOptionsPtrOutput { 423 return o.ApplyT(func(v *Pipeline) PipelineBufferOptionsPtrOutput { return v.BufferOptions }).(PipelineBufferOptionsPtrOutput) 424 } 425 426 // Key-value pairs to configure encryption for data that is written to a persistent buffer. See `encryptionAtRestOptions` below. 427 func (o PipelineOutput) EncryptionAtRestOptions() PipelineEncryptionAtRestOptionsPtrOutput { 428 return o.ApplyT(func(v *Pipeline) PipelineEncryptionAtRestOptionsPtrOutput { return v.EncryptionAtRestOptions }).(PipelineEncryptionAtRestOptionsPtrOutput) 429 } 430 431 // The list of ingestion endpoints for the pipeline, which you can send data to. 432 func (o PipelineOutput) IngestEndpointUrls() pulumi.StringArrayOutput { 433 return o.ApplyT(func(v *Pipeline) pulumi.StringArrayOutput { return v.IngestEndpointUrls }).(pulumi.StringArrayOutput) 434 } 435 436 // Key-value pairs to configure log publishing. See `logPublishingOptions` below. 437 func (o PipelineOutput) LogPublishingOptions() PipelineLogPublishingOptionsPtrOutput { 438 return o.ApplyT(func(v *Pipeline) PipelineLogPublishingOptionsPtrOutput { return v.LogPublishingOptions }).(PipelineLogPublishingOptionsPtrOutput) 439 } 440 441 // The maximum pipeline capacity, in Ingestion Compute Units (ICUs). 442 func (o PipelineOutput) MaxUnits() pulumi.IntOutput { 443 return o.ApplyT(func(v *Pipeline) pulumi.IntOutput { return v.MaxUnits }).(pulumi.IntOutput) 444 } 445 446 // The minimum pipeline capacity, in Ingestion Compute Units (ICUs). 447 func (o PipelineOutput) MinUnits() pulumi.IntOutput { 448 return o.ApplyT(func(v *Pipeline) pulumi.IntOutput { return v.MinUnits }).(pulumi.IntOutput) 449 } 450 451 // Amazon Resource Name (ARN) of the pipeline. 452 func (o PipelineOutput) PipelineArn() pulumi.StringOutput { 453 return o.ApplyT(func(v *Pipeline) pulumi.StringOutput { return v.PipelineArn }).(pulumi.StringOutput) 454 } 455 456 // The pipeline configuration in YAML format. This argument accepts the pipeline configuration as a string or within a .yaml file. If you provide the configuration as a string, each new line must be escaped with \n. 457 func (o PipelineOutput) PipelineConfigurationBody() pulumi.StringOutput { 458 return o.ApplyT(func(v *Pipeline) pulumi.StringOutput { return v.PipelineConfigurationBody }).(pulumi.StringOutput) 459 } 460 461 // The name of the OpenSearch Ingestion pipeline to create. Pipeline names are unique across the pipelines owned by an account within an AWS Region. 462 // 463 // The following arguments are optional: 464 func (o PipelineOutput) PipelineName() pulumi.StringOutput { 465 return o.ApplyT(func(v *Pipeline) pulumi.StringOutput { return v.PipelineName }).(pulumi.StringOutput) 466 } 467 468 // A map of tags to assign to the pipeline. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 469 func (o PipelineOutput) Tags() pulumi.StringMapOutput { 470 return o.ApplyT(func(v *Pipeline) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 471 } 472 473 // Deprecated: Please use `tags` instead. 474 func (o PipelineOutput) TagsAll() pulumi.StringMapOutput { 475 return o.ApplyT(func(v *Pipeline) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 476 } 477 478 func (o PipelineOutput) Timeouts() PipelineTimeoutsPtrOutput { 479 return o.ApplyT(func(v *Pipeline) PipelineTimeoutsPtrOutput { return v.Timeouts }).(PipelineTimeoutsPtrOutput) 480 } 481 482 // Container for the values required to configure VPC access for the pipeline. If you don't specify these values, OpenSearch Ingestion creates the pipeline with a public endpoint. See `vpcOptions` below. 483 func (o PipelineOutput) VpcOptions() PipelineVpcOptionsPtrOutput { 484 return o.ApplyT(func(v *Pipeline) PipelineVpcOptionsPtrOutput { return v.VpcOptions }).(PipelineVpcOptionsPtrOutput) 485 } 486 487 type PipelineArrayOutput struct{ *pulumi.OutputState } 488 489 func (PipelineArrayOutput) ElementType() reflect.Type { 490 return reflect.TypeOf((*[]*Pipeline)(nil)).Elem() 491 } 492 493 func (o PipelineArrayOutput) ToPipelineArrayOutput() PipelineArrayOutput { 494 return o 495 } 496 497 func (o PipelineArrayOutput) ToPipelineArrayOutputWithContext(ctx context.Context) PipelineArrayOutput { 498 return o 499 } 500 501 func (o PipelineArrayOutput) Index(i pulumi.IntInput) PipelineOutput { 502 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Pipeline { 503 return vs[0].([]*Pipeline)[vs[1].(int)] 504 }).(PipelineOutput) 505 } 506 507 type PipelineMapOutput struct{ *pulumi.OutputState } 508 509 func (PipelineMapOutput) ElementType() reflect.Type { 510 return reflect.TypeOf((*map[string]*Pipeline)(nil)).Elem() 511 } 512 513 func (o PipelineMapOutput) ToPipelineMapOutput() PipelineMapOutput { 514 return o 515 } 516 517 func (o PipelineMapOutput) ToPipelineMapOutputWithContext(ctx context.Context) PipelineMapOutput { 518 return o 519 } 520 521 func (o PipelineMapOutput) MapIndex(k pulumi.StringInput) PipelineOutput { 522 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Pipeline { 523 return vs[0].(map[string]*Pipeline)[vs[1].(string)] 524 }).(PipelineOutput) 525 } 526 527 func init() { 528 pulumi.RegisterInputType(reflect.TypeOf((*PipelineInput)(nil)).Elem(), &Pipeline{}) 529 pulumi.RegisterInputType(reflect.TypeOf((*PipelineArrayInput)(nil)).Elem(), PipelineArray{}) 530 pulumi.RegisterInputType(reflect.TypeOf((*PipelineMapInput)(nil)).Elem(), PipelineMap{}) 531 pulumi.RegisterOutputType(PipelineOutput{}) 532 pulumi.RegisterOutputType(PipelineArrayOutput{}) 533 pulumi.RegisterOutputType(PipelineMapOutput{}) 534 }