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  }