github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/chimesdkmediapipelines/mediaInsightsPipelineConfiguration.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 chimesdkmediapipelines 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 Chime SDK Media Pipelines Media Insights Pipeline Configuration. 16 // Consult the [Call analytics developer guide](https://docs.aws.amazon.com/chime-sdk/latest/dg/call-analytics.html) for more detailed information about usage. 17 // 18 // ## Example Usage 19 // 20 // ### Basic Usage 21 // 22 // <!--Start PulumiCodeChooser --> 23 // ```go 24 // package main 25 // 26 // import ( 27 // 28 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines" 29 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam" 30 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis" 31 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 32 // 33 // ) 34 // 35 // func main() { 36 // pulumi.Run(func(ctx *pulumi.Context) error { 37 // example, err := kinesis.NewStream(ctx, "example", &kinesis.StreamArgs{ 38 // Name: pulumi.String("example"), 39 // ShardCount: pulumi.Int(2), 40 // }) 41 // if err != nil { 42 // return err 43 // } 44 // mediaPipelinesAssumeRole, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{ 45 // Statements: []iam.GetPolicyDocumentStatement{ 46 // { 47 // Effect: pulumi.StringRef("Allow"), 48 // Principals: []iam.GetPolicyDocumentStatementPrincipal{ 49 // { 50 // Type: "Service", 51 // Identifiers: []string{ 52 // "mediapipelines.chime.amazonaws.com", 53 // }, 54 // }, 55 // }, 56 // Actions: []string{ 57 // "sts:AssumeRole", 58 // }, 59 // }, 60 // }, 61 // }, nil) 62 // if err != nil { 63 // return err 64 // } 65 // callAnalyticsRole, err := iam.NewRole(ctx, "call_analytics_role", &iam.RoleArgs{ 66 // Name: pulumi.String("CallAnalyticsRole"), 67 // AssumeRolePolicy: pulumi.String(mediaPipelinesAssumeRole.Json), 68 // }) 69 // if err != nil { 70 // return err 71 // } 72 // _, err = chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, "my_configuration", &chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{ 73 // Name: pulumi.String("MyBasicConfiguration"), 74 // ResourceAccessRoleArn: callAnalyticsRole.Arn, 75 // Elements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{ 76 // &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{ 77 // Type: pulumi.String("AmazonTranscribeCallAnalyticsProcessor"), 78 // AmazonTranscribeCallAnalyticsProcessorConfiguration: &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs{ 79 // LanguageCode: pulumi.String("en-US"), 80 // }, 81 // }, 82 // &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{ 83 // Type: pulumi.String("KinesisDataStreamSink"), 84 // KinesisDataStreamSinkConfiguration: &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs{ 85 // InsightsTarget: example.Arn, 86 // }, 87 // }, 88 // }, 89 // Tags: pulumi.StringMap{ 90 // "Key1": pulumi.String("Value1"), 91 // "Key2": pulumi.String("Value2"), 92 // }, 93 // }) 94 // if err != nil { 95 // return err 96 // } 97 // return nil 98 // }) 99 // } 100 // 101 // ``` 102 // <!--End PulumiCodeChooser --> 103 // 104 // - The required policies on `callAnalyticsRole` will vary based on the selected processors. See [Call analytics resource access role](https://docs.aws.amazon.com/chime-sdk/latest/dg/ca-resource-access-role.html) for directions on choosing appropriate policies. 105 // 106 // ### Transcribe Call Analytics processor usage 107 // 108 // <!--Start PulumiCodeChooser --> 109 // ```go 110 // package main 111 // 112 // import ( 113 // 114 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines" 115 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam" 116 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 117 // 118 // ) 119 // 120 // func main() { 121 // pulumi.Run(func(ctx *pulumi.Context) error { 122 // transcribeAssumeRole, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{ 123 // Statements: []iam.GetPolicyDocumentStatement{ 124 // { 125 // Effect: pulumi.StringRef("Allow"), 126 // Principals: []iam.GetPolicyDocumentStatementPrincipal{ 127 // { 128 // Type: "Service", 129 // Identifiers: []string{ 130 // "transcribe.amazonaws.com", 131 // }, 132 // }, 133 // }, 134 // Actions: []string{ 135 // "sts:AssumeRole", 136 // }, 137 // }, 138 // }, 139 // }, nil) 140 // if err != nil { 141 // return err 142 // } 143 // postCallRole, err := iam.NewRole(ctx, "post_call_role", &iam.RoleArgs{ 144 // Name: pulumi.String("PostCallAccessRole"), 145 // AssumeRolePolicy: pulumi.String(transcribeAssumeRole.Json), 146 // }) 147 // if err != nil { 148 // return err 149 // } 150 // _, err = chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, "my_configuration", &chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{ 151 // Name: pulumi.String("MyCallAnalyticsConfiguration"), 152 // ResourceAccessRoleArn: pulumi.Any(exampleAwsIamRole.Arn), 153 // Elements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{ 154 // &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{ 155 // Type: pulumi.String("AmazonTranscribeCallAnalyticsProcessor"), 156 // AmazonTranscribeCallAnalyticsProcessorConfiguration: &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs{ 157 // CallAnalyticsStreamCategories: pulumi.StringArray{ 158 // pulumi.String("category_1"), 159 // pulumi.String("category_2"), 160 // }, 161 // ContentRedactionType: pulumi.String("PII"), 162 // EnablePartialResultsStabilization: pulumi.Bool(true), 163 // FilterPartialResults: pulumi.Bool(true), 164 // LanguageCode: pulumi.String("en-US"), 165 // LanguageModelName: pulumi.String("MyLanguageModel"), 166 // PartialResultsStability: pulumi.String("high"), 167 // PiiEntityTypes: pulumi.String("ADDRESS,BANK_ACCOUNT_NUMBER"), 168 // PostCallAnalyticsSettings: &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationPostCallAnalyticsSettingsArgs{ 169 // ContentRedactionOutput: pulumi.String("redacted"), 170 // DataAccessRoleArn: postCallRole.Arn, 171 // OutputEncryptionKmsKeyId: pulumi.String("MyKmsKeyId"), 172 // OutputLocation: pulumi.String("s3://MyBucket"), 173 // }, 174 // VocabularyFilterMethod: pulumi.String("mask"), 175 // VocabularyFilterName: pulumi.String("MyVocabularyFilter"), 176 // VocabularyName: pulumi.String("MyVocabulary"), 177 // }, 178 // }, 179 // &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{ 180 // Type: pulumi.String("KinesisDataStreamSink"), 181 // KinesisDataStreamSinkConfiguration: &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs{ 182 // InsightsTarget: pulumi.Any(example.Arn), 183 // }, 184 // }, 185 // }, 186 // }) 187 // if err != nil { 188 // return err 189 // } 190 // return nil 191 // }) 192 // } 193 // 194 // ``` 195 // <!--End PulumiCodeChooser --> 196 // 197 // ### Real time alerts usage 198 // 199 // <!--Start PulumiCodeChooser --> 200 // ```go 201 // package main 202 // 203 // import ( 204 // 205 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines" 206 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 207 // 208 // ) 209 // 210 // func main() { 211 // pulumi.Run(func(ctx *pulumi.Context) error { 212 // _, err := chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, "my_configuration", &chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{ 213 // Name: pulumi.String("MyRealTimeAlertConfiguration"), 214 // ResourceAccessRoleArn: pulumi.Any(callAnalyticsRole.Arn), 215 // Elements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{ 216 // &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{ 217 // Type: pulumi.String("AmazonTranscribeCallAnalyticsProcessor"), 218 // AmazonTranscribeCallAnalyticsProcessorConfiguration: &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeCallAnalyticsProcessorConfigurationArgs{ 219 // LanguageCode: pulumi.String("en-US"), 220 // }, 221 // }, 222 // &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{ 223 // Type: pulumi.String("KinesisDataStreamSink"), 224 // KinesisDataStreamSinkConfiguration: &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs{ 225 // InsightsTarget: pulumi.Any(example.Arn), 226 // }, 227 // }, 228 // }, 229 // RealTimeAlertConfiguration: &chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationArgs{ 230 // Disabled: pulumi.Bool(false), 231 // Rules: chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArray{ 232 // &chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs{ 233 // Type: pulumi.String("IssueDetection"), 234 // IssueDetectionConfiguration: &chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleIssueDetectionConfigurationArgs{ 235 // RuleName: pulumi.String("MyIssueDetectionRule"), 236 // }, 237 // }, 238 // &chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs{ 239 // Type: pulumi.String("KeywordMatch"), 240 // KeywordMatchConfiguration: &chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleKeywordMatchConfigurationArgs{ 241 // Keywords: pulumi.StringArray{ 242 // pulumi.String("keyword1"), 243 // pulumi.String("keyword2"), 244 // }, 245 // Negate: pulumi.Bool(false), 246 // RuleName: pulumi.String("MyKeywordMatchRule"), 247 // }, 248 // }, 249 // &chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleArgs{ 250 // Type: pulumi.String("Sentiment"), 251 // SentimentConfiguration: &chimesdkmediapipelines.MediaInsightsPipelineConfigurationRealTimeAlertConfigurationRuleSentimentConfigurationArgs{ 252 // RuleName: pulumi.String("MySentimentRule"), 253 // SentimentType: pulumi.String("NEGATIVE"), 254 // TimePeriod: pulumi.Int(60), 255 // }, 256 // }, 257 // }, 258 // }, 259 // }) 260 // if err != nil { 261 // return err 262 // } 263 // return nil 264 // }) 265 // } 266 // 267 // ``` 268 // <!--End PulumiCodeChooser --> 269 // 270 // ### Transcribe processor usage 271 // 272 // <!--Start PulumiCodeChooser --> 273 // ```go 274 // package main 275 // 276 // import ( 277 // 278 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines" 279 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 280 // 281 // ) 282 // 283 // func main() { 284 // pulumi.Run(func(ctx *pulumi.Context) error { 285 // _, err := chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, "my_configuration", &chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{ 286 // Name: pulumi.String("MyTranscribeConfiguration"), 287 // ResourceAccessRoleArn: pulumi.Any(exampleAwsIamRole.Arn), 288 // Elements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{ 289 // &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{ 290 // Type: pulumi.String("AmazonTranscribeProcessor"), 291 // AmazonTranscribeProcessorConfiguration: &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementAmazonTranscribeProcessorConfigurationArgs{ 292 // ContentIdentificationType: pulumi.String("PII"), 293 // EnablePartialResultsStabilization: pulumi.Bool(true), 294 // FilterPartialResults: pulumi.Bool(true), 295 // LanguageCode: pulumi.String("en-US"), 296 // LanguageModelName: pulumi.String("MyLanguageModel"), 297 // PartialResultsStability: pulumi.String("high"), 298 // PiiEntityTypes: pulumi.String("ADDRESS,BANK_ACCOUNT_NUMBER"), 299 // ShowSpeakerLabel: pulumi.Bool(true), 300 // VocabularyFilterMethod: pulumi.String("mask"), 301 // VocabularyFilterName: pulumi.String("MyVocabularyFilter"), 302 // VocabularyName: pulumi.String("MyVocabulary"), 303 // }, 304 // }, 305 // &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{ 306 // Type: pulumi.String("KinesisDataStreamSink"), 307 // KinesisDataStreamSinkConfiguration: &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs{ 308 // InsightsTarget: pulumi.Any(example.Arn), 309 // }, 310 // }, 311 // }, 312 // }) 313 // if err != nil { 314 // return err 315 // } 316 // return nil 317 // }) 318 // } 319 // 320 // ``` 321 // <!--End PulumiCodeChooser --> 322 // 323 // ### Voice analytics processor usage 324 // 325 // <!--Start PulumiCodeChooser --> 326 // ```go 327 // package main 328 // 329 // import ( 330 // 331 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines" 332 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 333 // 334 // ) 335 // 336 // func main() { 337 // pulumi.Run(func(ctx *pulumi.Context) error { 338 // _, err := chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, "my_configuration", &chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{ 339 // Name: pulumi.String("MyVoiceAnalyticsConfiguration"), 340 // ResourceAccessRoleArn: pulumi.Any(example.Arn), 341 // Elements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{ 342 // &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{ 343 // Type: pulumi.String("VoiceAnalyticsProcessor"), 344 // VoiceAnalyticsProcessorConfiguration: &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementVoiceAnalyticsProcessorConfigurationArgs{ 345 // SpeakerSearchStatus: pulumi.String("Enabled"), 346 // VoiceToneAnalysisStatus: pulumi.String("Enabled"), 347 // }, 348 // }, 349 // &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{ 350 // Type: pulumi.String("LambdaFunctionSink"), 351 // LambdaFunctionSinkConfiguration: &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementLambdaFunctionSinkConfigurationArgs{ 352 // InsightsTarget: pulumi.String("arn:aws:lambda:us-west-2:1111111111:function:MyFunction"), 353 // }, 354 // }, 355 // &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{ 356 // Type: pulumi.String("SnsTopicSink"), 357 // SnsTopicSinkConfiguration: &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementSnsTopicSinkConfigurationArgs{ 358 // InsightsTarget: pulumi.String("arn:aws:sns:us-west-2:1111111111:topic/MyTopic"), 359 // }, 360 // }, 361 // &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{ 362 // Type: pulumi.String("SqsQueueSink"), 363 // SqsQueueSinkConfiguration: &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementSqsQueueSinkConfigurationArgs{ 364 // InsightsTarget: pulumi.String("arn:aws:sqs:us-west-2:1111111111:queue/MyQueue"), 365 // }, 366 // }, 367 // &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{ 368 // Type: pulumi.String("KinesisDataStreamSink"), 369 // KinesisDataStreamSinkConfiguration: &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementKinesisDataStreamSinkConfigurationArgs{ 370 // InsightsTarget: pulumi.Any(test.Arn), 371 // }, 372 // }, 373 // }, 374 // }) 375 // if err != nil { 376 // return err 377 // } 378 // return nil 379 // }) 380 // } 381 // 382 // ``` 383 // <!--End PulumiCodeChooser --> 384 // 385 // ### S3 Recording sink usage 386 // 387 // <!--Start PulumiCodeChooser --> 388 // ```go 389 // package main 390 // 391 // import ( 392 // 393 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/chimesdkmediapipelines" 394 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 395 // 396 // ) 397 // 398 // func main() { 399 // pulumi.Run(func(ctx *pulumi.Context) error { 400 // _, err := chimesdkmediapipelines.NewMediaInsightsPipelineConfiguration(ctx, "my_configuration", &chimesdkmediapipelines.MediaInsightsPipelineConfigurationArgs{ 401 // Name: pulumi.String("MyS3RecordingConfiguration"), 402 // ResourceAccessRoleArn: pulumi.Any(example.Arn), 403 // Elements: chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArray{ 404 // &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementArgs{ 405 // Type: pulumi.String("S3RecordingSink"), 406 // S3RecordingSinkConfiguration: &chimesdkmediapipelines.MediaInsightsPipelineConfigurationElementS3RecordingSinkConfigurationArgs{ 407 // Destination: pulumi.String("arn:aws:s3:::MyBucket"), 408 // }, 409 // }, 410 // }, 411 // }) 412 // if err != nil { 413 // return err 414 // } 415 // return nil 416 // }) 417 // } 418 // 419 // ``` 420 // <!--End PulumiCodeChooser --> 421 // 422 // ## Import 423 // 424 // Using `pulumi import`, import Chime SDK Media Pipelines Media Insights Pipeline Configuration using the `id`. For example: 425 // 426 // ```sh 427 // $ pulumi import aws:chimesdkmediapipelines/mediaInsightsPipelineConfiguration:MediaInsightsPipelineConfiguration example abcdef123456 428 // ``` 429 type MediaInsightsPipelineConfiguration struct { 430 pulumi.CustomResourceState 431 432 // ARN of the Media Insights Pipeline Configuration. 433 Arn pulumi.StringOutput `pulumi:"arn"` 434 // Collection of processors and sinks to transform media and deliver data. 435 Elements MediaInsightsPipelineConfigurationElementArrayOutput `pulumi:"elements"` 436 // Configuration name. 437 Name pulumi.StringOutput `pulumi:"name"` 438 // Configuration for real-time alert rules to send EventBridge notifications when certain conditions are met. 439 RealTimeAlertConfiguration MediaInsightsPipelineConfigurationRealTimeAlertConfigurationPtrOutput `pulumi:"realTimeAlertConfiguration"` 440 // ARN of IAM Role used by service to invoke processors and sinks specified by configuration elements. 441 ResourceAccessRoleArn pulumi.StringOutput `pulumi:"resourceAccessRoleArn"` 442 // Key-value map of tags for the resource. 443 Tags pulumi.StringMapOutput `pulumi:"tags"` 444 // Deprecated: Please use `tags` instead. 445 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 446 } 447 448 // NewMediaInsightsPipelineConfiguration registers a new resource with the given unique name, arguments, and options. 449 func NewMediaInsightsPipelineConfiguration(ctx *pulumi.Context, 450 name string, args *MediaInsightsPipelineConfigurationArgs, opts ...pulumi.ResourceOption) (*MediaInsightsPipelineConfiguration, error) { 451 if args == nil { 452 return nil, errors.New("missing one or more required arguments") 453 } 454 455 if args.Elements == nil { 456 return nil, errors.New("invalid value for required argument 'Elements'") 457 } 458 if args.ResourceAccessRoleArn == nil { 459 return nil, errors.New("invalid value for required argument 'ResourceAccessRoleArn'") 460 } 461 opts = internal.PkgResourceDefaultOpts(opts) 462 var resource MediaInsightsPipelineConfiguration 463 err := ctx.RegisterResource("aws:chimesdkmediapipelines/mediaInsightsPipelineConfiguration:MediaInsightsPipelineConfiguration", name, args, &resource, opts...) 464 if err != nil { 465 return nil, err 466 } 467 return &resource, nil 468 } 469 470 // GetMediaInsightsPipelineConfiguration gets an existing MediaInsightsPipelineConfiguration resource's state with the given name, ID, and optional 471 // state properties that are used to uniquely qualify the lookup (nil if not required). 472 func GetMediaInsightsPipelineConfiguration(ctx *pulumi.Context, 473 name string, id pulumi.IDInput, state *MediaInsightsPipelineConfigurationState, opts ...pulumi.ResourceOption) (*MediaInsightsPipelineConfiguration, error) { 474 var resource MediaInsightsPipelineConfiguration 475 err := ctx.ReadResource("aws:chimesdkmediapipelines/mediaInsightsPipelineConfiguration:MediaInsightsPipelineConfiguration", name, id, state, &resource, opts...) 476 if err != nil { 477 return nil, err 478 } 479 return &resource, nil 480 } 481 482 // Input properties used for looking up and filtering MediaInsightsPipelineConfiguration resources. 483 type mediaInsightsPipelineConfigurationState struct { 484 // ARN of the Media Insights Pipeline Configuration. 485 Arn *string `pulumi:"arn"` 486 // Collection of processors and sinks to transform media and deliver data. 487 Elements []MediaInsightsPipelineConfigurationElement `pulumi:"elements"` 488 // Configuration name. 489 Name *string `pulumi:"name"` 490 // Configuration for real-time alert rules to send EventBridge notifications when certain conditions are met. 491 RealTimeAlertConfiguration *MediaInsightsPipelineConfigurationRealTimeAlertConfiguration `pulumi:"realTimeAlertConfiguration"` 492 // ARN of IAM Role used by service to invoke processors and sinks specified by configuration elements. 493 ResourceAccessRoleArn *string `pulumi:"resourceAccessRoleArn"` 494 // Key-value map of tags for the resource. 495 Tags map[string]string `pulumi:"tags"` 496 // Deprecated: Please use `tags` instead. 497 TagsAll map[string]string `pulumi:"tagsAll"` 498 } 499 500 type MediaInsightsPipelineConfigurationState struct { 501 // ARN of the Media Insights Pipeline Configuration. 502 Arn pulumi.StringPtrInput 503 // Collection of processors and sinks to transform media and deliver data. 504 Elements MediaInsightsPipelineConfigurationElementArrayInput 505 // Configuration name. 506 Name pulumi.StringPtrInput 507 // Configuration for real-time alert rules to send EventBridge notifications when certain conditions are met. 508 RealTimeAlertConfiguration MediaInsightsPipelineConfigurationRealTimeAlertConfigurationPtrInput 509 // ARN of IAM Role used by service to invoke processors and sinks specified by configuration elements. 510 ResourceAccessRoleArn pulumi.StringPtrInput 511 // Key-value map of tags for the resource. 512 Tags pulumi.StringMapInput 513 // Deprecated: Please use `tags` instead. 514 TagsAll pulumi.StringMapInput 515 } 516 517 func (MediaInsightsPipelineConfigurationState) ElementType() reflect.Type { 518 return reflect.TypeOf((*mediaInsightsPipelineConfigurationState)(nil)).Elem() 519 } 520 521 type mediaInsightsPipelineConfigurationArgs struct { 522 // Collection of processors and sinks to transform media and deliver data. 523 Elements []MediaInsightsPipelineConfigurationElement `pulumi:"elements"` 524 // Configuration name. 525 Name *string `pulumi:"name"` 526 // Configuration for real-time alert rules to send EventBridge notifications when certain conditions are met. 527 RealTimeAlertConfiguration *MediaInsightsPipelineConfigurationRealTimeAlertConfiguration `pulumi:"realTimeAlertConfiguration"` 528 // ARN of IAM Role used by service to invoke processors and sinks specified by configuration elements. 529 ResourceAccessRoleArn string `pulumi:"resourceAccessRoleArn"` 530 // Key-value map of tags for the resource. 531 Tags map[string]string `pulumi:"tags"` 532 } 533 534 // The set of arguments for constructing a MediaInsightsPipelineConfiguration resource. 535 type MediaInsightsPipelineConfigurationArgs struct { 536 // Collection of processors and sinks to transform media and deliver data. 537 Elements MediaInsightsPipelineConfigurationElementArrayInput 538 // Configuration name. 539 Name pulumi.StringPtrInput 540 // Configuration for real-time alert rules to send EventBridge notifications when certain conditions are met. 541 RealTimeAlertConfiguration MediaInsightsPipelineConfigurationRealTimeAlertConfigurationPtrInput 542 // ARN of IAM Role used by service to invoke processors and sinks specified by configuration elements. 543 ResourceAccessRoleArn pulumi.StringInput 544 // Key-value map of tags for the resource. 545 Tags pulumi.StringMapInput 546 } 547 548 func (MediaInsightsPipelineConfigurationArgs) ElementType() reflect.Type { 549 return reflect.TypeOf((*mediaInsightsPipelineConfigurationArgs)(nil)).Elem() 550 } 551 552 type MediaInsightsPipelineConfigurationInput interface { 553 pulumi.Input 554 555 ToMediaInsightsPipelineConfigurationOutput() MediaInsightsPipelineConfigurationOutput 556 ToMediaInsightsPipelineConfigurationOutputWithContext(ctx context.Context) MediaInsightsPipelineConfigurationOutput 557 } 558 559 func (*MediaInsightsPipelineConfiguration) ElementType() reflect.Type { 560 return reflect.TypeOf((**MediaInsightsPipelineConfiguration)(nil)).Elem() 561 } 562 563 func (i *MediaInsightsPipelineConfiguration) ToMediaInsightsPipelineConfigurationOutput() MediaInsightsPipelineConfigurationOutput { 564 return i.ToMediaInsightsPipelineConfigurationOutputWithContext(context.Background()) 565 } 566 567 func (i *MediaInsightsPipelineConfiguration) ToMediaInsightsPipelineConfigurationOutputWithContext(ctx context.Context) MediaInsightsPipelineConfigurationOutput { 568 return pulumi.ToOutputWithContext(ctx, i).(MediaInsightsPipelineConfigurationOutput) 569 } 570 571 // MediaInsightsPipelineConfigurationArrayInput is an input type that accepts MediaInsightsPipelineConfigurationArray and MediaInsightsPipelineConfigurationArrayOutput values. 572 // You can construct a concrete instance of `MediaInsightsPipelineConfigurationArrayInput` via: 573 // 574 // MediaInsightsPipelineConfigurationArray{ MediaInsightsPipelineConfigurationArgs{...} } 575 type MediaInsightsPipelineConfigurationArrayInput interface { 576 pulumi.Input 577 578 ToMediaInsightsPipelineConfigurationArrayOutput() MediaInsightsPipelineConfigurationArrayOutput 579 ToMediaInsightsPipelineConfigurationArrayOutputWithContext(context.Context) MediaInsightsPipelineConfigurationArrayOutput 580 } 581 582 type MediaInsightsPipelineConfigurationArray []MediaInsightsPipelineConfigurationInput 583 584 func (MediaInsightsPipelineConfigurationArray) ElementType() reflect.Type { 585 return reflect.TypeOf((*[]*MediaInsightsPipelineConfiguration)(nil)).Elem() 586 } 587 588 func (i MediaInsightsPipelineConfigurationArray) ToMediaInsightsPipelineConfigurationArrayOutput() MediaInsightsPipelineConfigurationArrayOutput { 589 return i.ToMediaInsightsPipelineConfigurationArrayOutputWithContext(context.Background()) 590 } 591 592 func (i MediaInsightsPipelineConfigurationArray) ToMediaInsightsPipelineConfigurationArrayOutputWithContext(ctx context.Context) MediaInsightsPipelineConfigurationArrayOutput { 593 return pulumi.ToOutputWithContext(ctx, i).(MediaInsightsPipelineConfigurationArrayOutput) 594 } 595 596 // MediaInsightsPipelineConfigurationMapInput is an input type that accepts MediaInsightsPipelineConfigurationMap and MediaInsightsPipelineConfigurationMapOutput values. 597 // You can construct a concrete instance of `MediaInsightsPipelineConfigurationMapInput` via: 598 // 599 // MediaInsightsPipelineConfigurationMap{ "key": MediaInsightsPipelineConfigurationArgs{...} } 600 type MediaInsightsPipelineConfigurationMapInput interface { 601 pulumi.Input 602 603 ToMediaInsightsPipelineConfigurationMapOutput() MediaInsightsPipelineConfigurationMapOutput 604 ToMediaInsightsPipelineConfigurationMapOutputWithContext(context.Context) MediaInsightsPipelineConfigurationMapOutput 605 } 606 607 type MediaInsightsPipelineConfigurationMap map[string]MediaInsightsPipelineConfigurationInput 608 609 func (MediaInsightsPipelineConfigurationMap) ElementType() reflect.Type { 610 return reflect.TypeOf((*map[string]*MediaInsightsPipelineConfiguration)(nil)).Elem() 611 } 612 613 func (i MediaInsightsPipelineConfigurationMap) ToMediaInsightsPipelineConfigurationMapOutput() MediaInsightsPipelineConfigurationMapOutput { 614 return i.ToMediaInsightsPipelineConfigurationMapOutputWithContext(context.Background()) 615 } 616 617 func (i MediaInsightsPipelineConfigurationMap) ToMediaInsightsPipelineConfigurationMapOutputWithContext(ctx context.Context) MediaInsightsPipelineConfigurationMapOutput { 618 return pulumi.ToOutputWithContext(ctx, i).(MediaInsightsPipelineConfigurationMapOutput) 619 } 620 621 type MediaInsightsPipelineConfigurationOutput struct{ *pulumi.OutputState } 622 623 func (MediaInsightsPipelineConfigurationOutput) ElementType() reflect.Type { 624 return reflect.TypeOf((**MediaInsightsPipelineConfiguration)(nil)).Elem() 625 } 626 627 func (o MediaInsightsPipelineConfigurationOutput) ToMediaInsightsPipelineConfigurationOutput() MediaInsightsPipelineConfigurationOutput { 628 return o 629 } 630 631 func (o MediaInsightsPipelineConfigurationOutput) ToMediaInsightsPipelineConfigurationOutputWithContext(ctx context.Context) MediaInsightsPipelineConfigurationOutput { 632 return o 633 } 634 635 // ARN of the Media Insights Pipeline Configuration. 636 func (o MediaInsightsPipelineConfigurationOutput) Arn() pulumi.StringOutput { 637 return o.ApplyT(func(v *MediaInsightsPipelineConfiguration) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 638 } 639 640 // Collection of processors and sinks to transform media and deliver data. 641 func (o MediaInsightsPipelineConfigurationOutput) Elements() MediaInsightsPipelineConfigurationElementArrayOutput { 642 return o.ApplyT(func(v *MediaInsightsPipelineConfiguration) MediaInsightsPipelineConfigurationElementArrayOutput { 643 return v.Elements 644 }).(MediaInsightsPipelineConfigurationElementArrayOutput) 645 } 646 647 // Configuration name. 648 func (o MediaInsightsPipelineConfigurationOutput) Name() pulumi.StringOutput { 649 return o.ApplyT(func(v *MediaInsightsPipelineConfiguration) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 650 } 651 652 // Configuration for real-time alert rules to send EventBridge notifications when certain conditions are met. 653 func (o MediaInsightsPipelineConfigurationOutput) RealTimeAlertConfiguration() MediaInsightsPipelineConfigurationRealTimeAlertConfigurationPtrOutput { 654 return o.ApplyT(func(v *MediaInsightsPipelineConfiguration) MediaInsightsPipelineConfigurationRealTimeAlertConfigurationPtrOutput { 655 return v.RealTimeAlertConfiguration 656 }).(MediaInsightsPipelineConfigurationRealTimeAlertConfigurationPtrOutput) 657 } 658 659 // ARN of IAM Role used by service to invoke processors and sinks specified by configuration elements. 660 func (o MediaInsightsPipelineConfigurationOutput) ResourceAccessRoleArn() pulumi.StringOutput { 661 return o.ApplyT(func(v *MediaInsightsPipelineConfiguration) pulumi.StringOutput { return v.ResourceAccessRoleArn }).(pulumi.StringOutput) 662 } 663 664 // Key-value map of tags for the resource. 665 func (o MediaInsightsPipelineConfigurationOutput) Tags() pulumi.StringMapOutput { 666 return o.ApplyT(func(v *MediaInsightsPipelineConfiguration) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 667 } 668 669 // Deprecated: Please use `tags` instead. 670 func (o MediaInsightsPipelineConfigurationOutput) TagsAll() pulumi.StringMapOutput { 671 return o.ApplyT(func(v *MediaInsightsPipelineConfiguration) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 672 } 673 674 type MediaInsightsPipelineConfigurationArrayOutput struct{ *pulumi.OutputState } 675 676 func (MediaInsightsPipelineConfigurationArrayOutput) ElementType() reflect.Type { 677 return reflect.TypeOf((*[]*MediaInsightsPipelineConfiguration)(nil)).Elem() 678 } 679 680 func (o MediaInsightsPipelineConfigurationArrayOutput) ToMediaInsightsPipelineConfigurationArrayOutput() MediaInsightsPipelineConfigurationArrayOutput { 681 return o 682 } 683 684 func (o MediaInsightsPipelineConfigurationArrayOutput) ToMediaInsightsPipelineConfigurationArrayOutputWithContext(ctx context.Context) MediaInsightsPipelineConfigurationArrayOutput { 685 return o 686 } 687 688 func (o MediaInsightsPipelineConfigurationArrayOutput) Index(i pulumi.IntInput) MediaInsightsPipelineConfigurationOutput { 689 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *MediaInsightsPipelineConfiguration { 690 return vs[0].([]*MediaInsightsPipelineConfiguration)[vs[1].(int)] 691 }).(MediaInsightsPipelineConfigurationOutput) 692 } 693 694 type MediaInsightsPipelineConfigurationMapOutput struct{ *pulumi.OutputState } 695 696 func (MediaInsightsPipelineConfigurationMapOutput) ElementType() reflect.Type { 697 return reflect.TypeOf((*map[string]*MediaInsightsPipelineConfiguration)(nil)).Elem() 698 } 699 700 func (o MediaInsightsPipelineConfigurationMapOutput) ToMediaInsightsPipelineConfigurationMapOutput() MediaInsightsPipelineConfigurationMapOutput { 701 return o 702 } 703 704 func (o MediaInsightsPipelineConfigurationMapOutput) ToMediaInsightsPipelineConfigurationMapOutputWithContext(ctx context.Context) MediaInsightsPipelineConfigurationMapOutput { 705 return o 706 } 707 708 func (o MediaInsightsPipelineConfigurationMapOutput) MapIndex(k pulumi.StringInput) MediaInsightsPipelineConfigurationOutput { 709 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *MediaInsightsPipelineConfiguration { 710 return vs[0].(map[string]*MediaInsightsPipelineConfiguration)[vs[1].(string)] 711 }).(MediaInsightsPipelineConfigurationOutput) 712 } 713 714 func init() { 715 pulumi.RegisterInputType(reflect.TypeOf((*MediaInsightsPipelineConfigurationInput)(nil)).Elem(), &MediaInsightsPipelineConfiguration{}) 716 pulumi.RegisterInputType(reflect.TypeOf((*MediaInsightsPipelineConfigurationArrayInput)(nil)).Elem(), MediaInsightsPipelineConfigurationArray{}) 717 pulumi.RegisterInputType(reflect.TypeOf((*MediaInsightsPipelineConfigurationMapInput)(nil)).Elem(), MediaInsightsPipelineConfigurationMap{}) 718 pulumi.RegisterOutputType(MediaInsightsPipelineConfigurationOutput{}) 719 pulumi.RegisterOutputType(MediaInsightsPipelineConfigurationArrayOutput{}) 720 pulumi.RegisterOutputType(MediaInsightsPipelineConfigurationMapOutput{}) 721 }