github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/kinesis/stream.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 kinesis 5 6 import ( 7 "context" 8 "reflect" 9 10 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 11 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 12 ) 13 14 // Provides a Kinesis Stream resource. Amazon Kinesis is a managed service that 15 // scales elastically for real-time processing of streaming big data. 16 // 17 // For more details, see the [Amazon Kinesis Documentation](https://aws.amazon.com/documentation/kinesis/). 18 // 19 // ## Example Usage 20 // 21 // <!--Start PulumiCodeChooser --> 22 // ```go 23 // package main 24 // 25 // import ( 26 // 27 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis" 28 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 29 // 30 // ) 31 // 32 // func main() { 33 // pulumi.Run(func(ctx *pulumi.Context) error { 34 // _, err := kinesis.NewStream(ctx, "test_stream", &kinesis.StreamArgs{ 35 // Name: pulumi.String("kinesis-test"), 36 // ShardCount: pulumi.Int(1), 37 // RetentionPeriod: pulumi.Int(48), 38 // ShardLevelMetrics: pulumi.StringArray{ 39 // pulumi.String("IncomingBytes"), 40 // pulumi.String("OutgoingBytes"), 41 // }, 42 // StreamModeDetails: &kinesis.StreamStreamModeDetailsArgs{ 43 // StreamMode: pulumi.String("PROVISIONED"), 44 // }, 45 // Tags: pulumi.StringMap{ 46 // "Environment": pulumi.String("test"), 47 // }, 48 // }) 49 // if err != nil { 50 // return err 51 // } 52 // return nil 53 // }) 54 // } 55 // 56 // ``` 57 // <!--End PulumiCodeChooser --> 58 // 59 // ## Import 60 // 61 // Using `pulumi import`, import Kinesis Streams using the `name`. For example: 62 // 63 // ```sh 64 // $ pulumi import aws:kinesis/stream:Stream test_stream pulumi-kinesis-test 65 // ``` 66 type Stream struct { 67 pulumi.CustomResourceState 68 69 // The Amazon Resource Name (ARN) specifying the Stream (same as `id`) 70 Arn pulumi.StringOutput `pulumi:"arn"` 71 // The encryption type to use. The only acceptable values are `NONE` or `KMS`. The default value is `NONE`. 72 EncryptionType pulumi.StringPtrOutput `pulumi:"encryptionType"` 73 // A boolean that indicates all registered consumers should be deregistered from the stream so that the stream can be destroyed without error. The default value is `false`. 74 EnforceConsumerDeletion pulumi.BoolPtrOutput `pulumi:"enforceConsumerDeletion"` 75 // The GUID for the customer-managed KMS key to use for encryption. You can also use a Kinesis-owned master key by specifying the alias `alias/aws/kinesis`. 76 KmsKeyId pulumi.StringPtrOutput `pulumi:"kmsKeyId"` 77 // A name to identify the stream. This is unique to the AWS account and region the Stream is created in. 78 Name pulumi.StringOutput `pulumi:"name"` 79 // Length of time data records are accessible after they are added to the stream. The maximum value of a stream's retention period is 8760 hours. Minimum value is 24. Default is 24. 80 RetentionPeriod pulumi.IntPtrOutput `pulumi:"retentionPeriod"` 81 // The number of shards that the stream will use. If the `streamMode` is `PROVISIONED`, this field is required. 82 // Amazon has guidelines for specifying the Stream size that should be referenced when creating a Kinesis stream. See [Amazon Kinesis Streams](https://docs.aws.amazon.com/kinesis/latest/dev/amazon-kinesis-streams.html) for more. 83 ShardCount pulumi.IntPtrOutput `pulumi:"shardCount"` 84 // A list of shard-level CloudWatch metrics which can be enabled for the stream. See [Monitoring with CloudWatch](https://docs.aws.amazon.com/streams/latest/dev/monitoring-with-cloudwatch.html) for more. Note that the value ALL should not be used; instead you should provide an explicit list of metrics you wish to enable. 85 ShardLevelMetrics pulumi.StringArrayOutput `pulumi:"shardLevelMetrics"` 86 // Indicates the [capacity mode](https://docs.aws.amazon.com/streams/latest/dev/how-do-i-size-a-stream.html) of the data stream. Detailed below. 87 StreamModeDetails StreamStreamModeDetailsOutput `pulumi:"streamModeDetails"` 88 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 89 Tags pulumi.StringMapOutput `pulumi:"tags"` 90 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 91 // 92 // Deprecated: Please use `tags` instead. 93 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 94 } 95 96 // NewStream registers a new resource with the given unique name, arguments, and options. 97 func NewStream(ctx *pulumi.Context, 98 name string, args *StreamArgs, opts ...pulumi.ResourceOption) (*Stream, error) { 99 if args == nil { 100 args = &StreamArgs{} 101 } 102 103 opts = internal.PkgResourceDefaultOpts(opts) 104 var resource Stream 105 err := ctx.RegisterResource("aws:kinesis/stream:Stream", name, args, &resource, opts...) 106 if err != nil { 107 return nil, err 108 } 109 return &resource, nil 110 } 111 112 // GetStream gets an existing Stream resource's state with the given name, ID, and optional 113 // state properties that are used to uniquely qualify the lookup (nil if not required). 114 func GetStream(ctx *pulumi.Context, 115 name string, id pulumi.IDInput, state *StreamState, opts ...pulumi.ResourceOption) (*Stream, error) { 116 var resource Stream 117 err := ctx.ReadResource("aws:kinesis/stream:Stream", name, id, state, &resource, opts...) 118 if err != nil { 119 return nil, err 120 } 121 return &resource, nil 122 } 123 124 // Input properties used for looking up and filtering Stream resources. 125 type streamState struct { 126 // The Amazon Resource Name (ARN) specifying the Stream (same as `id`) 127 Arn *string `pulumi:"arn"` 128 // The encryption type to use. The only acceptable values are `NONE` or `KMS`. The default value is `NONE`. 129 EncryptionType *string `pulumi:"encryptionType"` 130 // A boolean that indicates all registered consumers should be deregistered from the stream so that the stream can be destroyed without error. The default value is `false`. 131 EnforceConsumerDeletion *bool `pulumi:"enforceConsumerDeletion"` 132 // The GUID for the customer-managed KMS key to use for encryption. You can also use a Kinesis-owned master key by specifying the alias `alias/aws/kinesis`. 133 KmsKeyId *string `pulumi:"kmsKeyId"` 134 // A name to identify the stream. This is unique to the AWS account and region the Stream is created in. 135 Name *string `pulumi:"name"` 136 // Length of time data records are accessible after they are added to the stream. The maximum value of a stream's retention period is 8760 hours. Minimum value is 24. Default is 24. 137 RetentionPeriod *int `pulumi:"retentionPeriod"` 138 // The number of shards that the stream will use. If the `streamMode` is `PROVISIONED`, this field is required. 139 // Amazon has guidelines for specifying the Stream size that should be referenced when creating a Kinesis stream. See [Amazon Kinesis Streams](https://docs.aws.amazon.com/kinesis/latest/dev/amazon-kinesis-streams.html) for more. 140 ShardCount *int `pulumi:"shardCount"` 141 // A list of shard-level CloudWatch metrics which can be enabled for the stream. See [Monitoring with CloudWatch](https://docs.aws.amazon.com/streams/latest/dev/monitoring-with-cloudwatch.html) for more. Note that the value ALL should not be used; instead you should provide an explicit list of metrics you wish to enable. 142 ShardLevelMetrics []string `pulumi:"shardLevelMetrics"` 143 // Indicates the [capacity mode](https://docs.aws.amazon.com/streams/latest/dev/how-do-i-size-a-stream.html) of the data stream. Detailed below. 144 StreamModeDetails *StreamStreamModeDetails `pulumi:"streamModeDetails"` 145 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 146 Tags map[string]string `pulumi:"tags"` 147 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 148 // 149 // Deprecated: Please use `tags` instead. 150 TagsAll map[string]string `pulumi:"tagsAll"` 151 } 152 153 type StreamState struct { 154 // The Amazon Resource Name (ARN) specifying the Stream (same as `id`) 155 Arn pulumi.StringPtrInput 156 // The encryption type to use. The only acceptable values are `NONE` or `KMS`. The default value is `NONE`. 157 EncryptionType pulumi.StringPtrInput 158 // A boolean that indicates all registered consumers should be deregistered from the stream so that the stream can be destroyed without error. The default value is `false`. 159 EnforceConsumerDeletion pulumi.BoolPtrInput 160 // The GUID for the customer-managed KMS key to use for encryption. You can also use a Kinesis-owned master key by specifying the alias `alias/aws/kinesis`. 161 KmsKeyId pulumi.StringPtrInput 162 // A name to identify the stream. This is unique to the AWS account and region the Stream is created in. 163 Name pulumi.StringPtrInput 164 // Length of time data records are accessible after they are added to the stream. The maximum value of a stream's retention period is 8760 hours. Minimum value is 24. Default is 24. 165 RetentionPeriod pulumi.IntPtrInput 166 // The number of shards that the stream will use. If the `streamMode` is `PROVISIONED`, this field is required. 167 // Amazon has guidelines for specifying the Stream size that should be referenced when creating a Kinesis stream. See [Amazon Kinesis Streams](https://docs.aws.amazon.com/kinesis/latest/dev/amazon-kinesis-streams.html) for more. 168 ShardCount pulumi.IntPtrInput 169 // A list of shard-level CloudWatch metrics which can be enabled for the stream. See [Monitoring with CloudWatch](https://docs.aws.amazon.com/streams/latest/dev/monitoring-with-cloudwatch.html) for more. Note that the value ALL should not be used; instead you should provide an explicit list of metrics you wish to enable. 170 ShardLevelMetrics pulumi.StringArrayInput 171 // Indicates the [capacity mode](https://docs.aws.amazon.com/streams/latest/dev/how-do-i-size-a-stream.html) of the data stream. Detailed below. 172 StreamModeDetails StreamStreamModeDetailsPtrInput 173 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 174 Tags pulumi.StringMapInput 175 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 176 // 177 // Deprecated: Please use `tags` instead. 178 TagsAll pulumi.StringMapInput 179 } 180 181 func (StreamState) ElementType() reflect.Type { 182 return reflect.TypeOf((*streamState)(nil)).Elem() 183 } 184 185 type streamArgs struct { 186 // The Amazon Resource Name (ARN) specifying the Stream (same as `id`) 187 Arn *string `pulumi:"arn"` 188 // The encryption type to use. The only acceptable values are `NONE` or `KMS`. The default value is `NONE`. 189 EncryptionType *string `pulumi:"encryptionType"` 190 // A boolean that indicates all registered consumers should be deregistered from the stream so that the stream can be destroyed without error. The default value is `false`. 191 EnforceConsumerDeletion *bool `pulumi:"enforceConsumerDeletion"` 192 // The GUID for the customer-managed KMS key to use for encryption. You can also use a Kinesis-owned master key by specifying the alias `alias/aws/kinesis`. 193 KmsKeyId *string `pulumi:"kmsKeyId"` 194 // A name to identify the stream. This is unique to the AWS account and region the Stream is created in. 195 Name *string `pulumi:"name"` 196 // Length of time data records are accessible after they are added to the stream. The maximum value of a stream's retention period is 8760 hours. Minimum value is 24. Default is 24. 197 RetentionPeriod *int `pulumi:"retentionPeriod"` 198 // The number of shards that the stream will use. If the `streamMode` is `PROVISIONED`, this field is required. 199 // Amazon has guidelines for specifying the Stream size that should be referenced when creating a Kinesis stream. See [Amazon Kinesis Streams](https://docs.aws.amazon.com/kinesis/latest/dev/amazon-kinesis-streams.html) for more. 200 ShardCount *int `pulumi:"shardCount"` 201 // A list of shard-level CloudWatch metrics which can be enabled for the stream. See [Monitoring with CloudWatch](https://docs.aws.amazon.com/streams/latest/dev/monitoring-with-cloudwatch.html) for more. Note that the value ALL should not be used; instead you should provide an explicit list of metrics you wish to enable. 202 ShardLevelMetrics []string `pulumi:"shardLevelMetrics"` 203 // Indicates the [capacity mode](https://docs.aws.amazon.com/streams/latest/dev/how-do-i-size-a-stream.html) of the data stream. Detailed below. 204 StreamModeDetails *StreamStreamModeDetails `pulumi:"streamModeDetails"` 205 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 206 Tags map[string]string `pulumi:"tags"` 207 } 208 209 // The set of arguments for constructing a Stream resource. 210 type StreamArgs struct { 211 // The Amazon Resource Name (ARN) specifying the Stream (same as `id`) 212 Arn pulumi.StringPtrInput 213 // The encryption type to use. The only acceptable values are `NONE` or `KMS`. The default value is `NONE`. 214 EncryptionType pulumi.StringPtrInput 215 // A boolean that indicates all registered consumers should be deregistered from the stream so that the stream can be destroyed without error. The default value is `false`. 216 EnforceConsumerDeletion pulumi.BoolPtrInput 217 // The GUID for the customer-managed KMS key to use for encryption. You can also use a Kinesis-owned master key by specifying the alias `alias/aws/kinesis`. 218 KmsKeyId pulumi.StringPtrInput 219 // A name to identify the stream. This is unique to the AWS account and region the Stream is created in. 220 Name pulumi.StringPtrInput 221 // Length of time data records are accessible after they are added to the stream. The maximum value of a stream's retention period is 8760 hours. Minimum value is 24. Default is 24. 222 RetentionPeriod pulumi.IntPtrInput 223 // The number of shards that the stream will use. If the `streamMode` is `PROVISIONED`, this field is required. 224 // Amazon has guidelines for specifying the Stream size that should be referenced when creating a Kinesis stream. See [Amazon Kinesis Streams](https://docs.aws.amazon.com/kinesis/latest/dev/amazon-kinesis-streams.html) for more. 225 ShardCount pulumi.IntPtrInput 226 // A list of shard-level CloudWatch metrics which can be enabled for the stream. See [Monitoring with CloudWatch](https://docs.aws.amazon.com/streams/latest/dev/monitoring-with-cloudwatch.html) for more. Note that the value ALL should not be used; instead you should provide an explicit list of metrics you wish to enable. 227 ShardLevelMetrics pulumi.StringArrayInput 228 // Indicates the [capacity mode](https://docs.aws.amazon.com/streams/latest/dev/how-do-i-size-a-stream.html) of the data stream. Detailed below. 229 StreamModeDetails StreamStreamModeDetailsPtrInput 230 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 231 Tags pulumi.StringMapInput 232 } 233 234 func (StreamArgs) ElementType() reflect.Type { 235 return reflect.TypeOf((*streamArgs)(nil)).Elem() 236 } 237 238 type StreamInput interface { 239 pulumi.Input 240 241 ToStreamOutput() StreamOutput 242 ToStreamOutputWithContext(ctx context.Context) StreamOutput 243 } 244 245 func (*Stream) ElementType() reflect.Type { 246 return reflect.TypeOf((**Stream)(nil)).Elem() 247 } 248 249 func (i *Stream) ToStreamOutput() StreamOutput { 250 return i.ToStreamOutputWithContext(context.Background()) 251 } 252 253 func (i *Stream) ToStreamOutputWithContext(ctx context.Context) StreamOutput { 254 return pulumi.ToOutputWithContext(ctx, i).(StreamOutput) 255 } 256 257 // StreamArrayInput is an input type that accepts StreamArray and StreamArrayOutput values. 258 // You can construct a concrete instance of `StreamArrayInput` via: 259 // 260 // StreamArray{ StreamArgs{...} } 261 type StreamArrayInput interface { 262 pulumi.Input 263 264 ToStreamArrayOutput() StreamArrayOutput 265 ToStreamArrayOutputWithContext(context.Context) StreamArrayOutput 266 } 267 268 type StreamArray []StreamInput 269 270 func (StreamArray) ElementType() reflect.Type { 271 return reflect.TypeOf((*[]*Stream)(nil)).Elem() 272 } 273 274 func (i StreamArray) ToStreamArrayOutput() StreamArrayOutput { 275 return i.ToStreamArrayOutputWithContext(context.Background()) 276 } 277 278 func (i StreamArray) ToStreamArrayOutputWithContext(ctx context.Context) StreamArrayOutput { 279 return pulumi.ToOutputWithContext(ctx, i).(StreamArrayOutput) 280 } 281 282 // StreamMapInput is an input type that accepts StreamMap and StreamMapOutput values. 283 // You can construct a concrete instance of `StreamMapInput` via: 284 // 285 // StreamMap{ "key": StreamArgs{...} } 286 type StreamMapInput interface { 287 pulumi.Input 288 289 ToStreamMapOutput() StreamMapOutput 290 ToStreamMapOutputWithContext(context.Context) StreamMapOutput 291 } 292 293 type StreamMap map[string]StreamInput 294 295 func (StreamMap) ElementType() reflect.Type { 296 return reflect.TypeOf((*map[string]*Stream)(nil)).Elem() 297 } 298 299 func (i StreamMap) ToStreamMapOutput() StreamMapOutput { 300 return i.ToStreamMapOutputWithContext(context.Background()) 301 } 302 303 func (i StreamMap) ToStreamMapOutputWithContext(ctx context.Context) StreamMapOutput { 304 return pulumi.ToOutputWithContext(ctx, i).(StreamMapOutput) 305 } 306 307 type StreamOutput struct{ *pulumi.OutputState } 308 309 func (StreamOutput) ElementType() reflect.Type { 310 return reflect.TypeOf((**Stream)(nil)).Elem() 311 } 312 313 func (o StreamOutput) ToStreamOutput() StreamOutput { 314 return o 315 } 316 317 func (o StreamOutput) ToStreamOutputWithContext(ctx context.Context) StreamOutput { 318 return o 319 } 320 321 // The Amazon Resource Name (ARN) specifying the Stream (same as `id`) 322 func (o StreamOutput) Arn() pulumi.StringOutput { 323 return o.ApplyT(func(v *Stream) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 324 } 325 326 // The encryption type to use. The only acceptable values are `NONE` or `KMS`. The default value is `NONE`. 327 func (o StreamOutput) EncryptionType() pulumi.StringPtrOutput { 328 return o.ApplyT(func(v *Stream) pulumi.StringPtrOutput { return v.EncryptionType }).(pulumi.StringPtrOutput) 329 } 330 331 // A boolean that indicates all registered consumers should be deregistered from the stream so that the stream can be destroyed without error. The default value is `false`. 332 func (o StreamOutput) EnforceConsumerDeletion() pulumi.BoolPtrOutput { 333 return o.ApplyT(func(v *Stream) pulumi.BoolPtrOutput { return v.EnforceConsumerDeletion }).(pulumi.BoolPtrOutput) 334 } 335 336 // The GUID for the customer-managed KMS key to use for encryption. You can also use a Kinesis-owned master key by specifying the alias `alias/aws/kinesis`. 337 func (o StreamOutput) KmsKeyId() pulumi.StringPtrOutput { 338 return o.ApplyT(func(v *Stream) pulumi.StringPtrOutput { return v.KmsKeyId }).(pulumi.StringPtrOutput) 339 } 340 341 // A name to identify the stream. This is unique to the AWS account and region the Stream is created in. 342 func (o StreamOutput) Name() pulumi.StringOutput { 343 return o.ApplyT(func(v *Stream) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 344 } 345 346 // Length of time data records are accessible after they are added to the stream. The maximum value of a stream's retention period is 8760 hours. Minimum value is 24. Default is 24. 347 func (o StreamOutput) RetentionPeriod() pulumi.IntPtrOutput { 348 return o.ApplyT(func(v *Stream) pulumi.IntPtrOutput { return v.RetentionPeriod }).(pulumi.IntPtrOutput) 349 } 350 351 // The number of shards that the stream will use. If the `streamMode` is `PROVISIONED`, this field is required. 352 // Amazon has guidelines for specifying the Stream size that should be referenced when creating a Kinesis stream. See [Amazon Kinesis Streams](https://docs.aws.amazon.com/kinesis/latest/dev/amazon-kinesis-streams.html) for more. 353 func (o StreamOutput) ShardCount() pulumi.IntPtrOutput { 354 return o.ApplyT(func(v *Stream) pulumi.IntPtrOutput { return v.ShardCount }).(pulumi.IntPtrOutput) 355 } 356 357 // A list of shard-level CloudWatch metrics which can be enabled for the stream. See [Monitoring with CloudWatch](https://docs.aws.amazon.com/streams/latest/dev/monitoring-with-cloudwatch.html) for more. Note that the value ALL should not be used; instead you should provide an explicit list of metrics you wish to enable. 358 func (o StreamOutput) ShardLevelMetrics() pulumi.StringArrayOutput { 359 return o.ApplyT(func(v *Stream) pulumi.StringArrayOutput { return v.ShardLevelMetrics }).(pulumi.StringArrayOutput) 360 } 361 362 // Indicates the [capacity mode](https://docs.aws.amazon.com/streams/latest/dev/how-do-i-size-a-stream.html) of the data stream. Detailed below. 363 func (o StreamOutput) StreamModeDetails() StreamStreamModeDetailsOutput { 364 return o.ApplyT(func(v *Stream) StreamStreamModeDetailsOutput { return v.StreamModeDetails }).(StreamStreamModeDetailsOutput) 365 } 366 367 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 368 func (o StreamOutput) Tags() pulumi.StringMapOutput { 369 return o.ApplyT(func(v *Stream) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 370 } 371 372 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 373 // 374 // Deprecated: Please use `tags` instead. 375 func (o StreamOutput) TagsAll() pulumi.StringMapOutput { 376 return o.ApplyT(func(v *Stream) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 377 } 378 379 type StreamArrayOutput struct{ *pulumi.OutputState } 380 381 func (StreamArrayOutput) ElementType() reflect.Type { 382 return reflect.TypeOf((*[]*Stream)(nil)).Elem() 383 } 384 385 func (o StreamArrayOutput) ToStreamArrayOutput() StreamArrayOutput { 386 return o 387 } 388 389 func (o StreamArrayOutput) ToStreamArrayOutputWithContext(ctx context.Context) StreamArrayOutput { 390 return o 391 } 392 393 func (o StreamArrayOutput) Index(i pulumi.IntInput) StreamOutput { 394 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Stream { 395 return vs[0].([]*Stream)[vs[1].(int)] 396 }).(StreamOutput) 397 } 398 399 type StreamMapOutput struct{ *pulumi.OutputState } 400 401 func (StreamMapOutput) ElementType() reflect.Type { 402 return reflect.TypeOf((*map[string]*Stream)(nil)).Elem() 403 } 404 405 func (o StreamMapOutput) ToStreamMapOutput() StreamMapOutput { 406 return o 407 } 408 409 func (o StreamMapOutput) ToStreamMapOutputWithContext(ctx context.Context) StreamMapOutput { 410 return o 411 } 412 413 func (o StreamMapOutput) MapIndex(k pulumi.StringInput) StreamOutput { 414 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Stream { 415 return vs[0].(map[string]*Stream)[vs[1].(string)] 416 }).(StreamOutput) 417 } 418 419 func init() { 420 pulumi.RegisterInputType(reflect.TypeOf((*StreamInput)(nil)).Elem(), &Stream{}) 421 pulumi.RegisterInputType(reflect.TypeOf((*StreamArrayInput)(nil)).Elem(), StreamArray{}) 422 pulumi.RegisterInputType(reflect.TypeOf((*StreamMapInput)(nil)).Elem(), StreamMap{}) 423 pulumi.RegisterOutputType(StreamOutput{}) 424 pulumi.RegisterOutputType(StreamArrayOutput{}) 425 pulumi.RegisterOutputType(StreamMapOutput{}) 426 }