github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/kinesis/analyticsApplication.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 Analytics Application resource. Kinesis Analytics is a managed service that
    15  // allows processing and analyzing streaming data using standard SQL.
    16  //
    17  // For more details, see the [Amazon Kinesis Analytics Documentation](https://docs.aws.amazon.com/kinesisanalytics/latest/dev/what-is.html).
    18  //
    19  // > **Note:** To manage Amazon Kinesis Data Analytics for Apache Flink applications, use the `kinesisanalyticsv2.Application` resource.
    20  //
    21  // ## Example Usage
    22  //
    23  // ### Kinesis Stream Input
    24  //
    25  // <!--Start PulumiCodeChooser -->
    26  // ```go
    27  // package main
    28  //
    29  // import (
    30  //
    31  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis"
    32  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    33  //
    34  // )
    35  //
    36  //	func main() {
    37  //		pulumi.Run(func(ctx *pulumi.Context) error {
    38  //			testStream, err := kinesis.NewStream(ctx, "test_stream", &kinesis.StreamArgs{
    39  //				Name:       pulumi.String("kinesis-test"),
    40  //				ShardCount: pulumi.Int(1),
    41  //			})
    42  //			if err != nil {
    43  //				return err
    44  //			}
    45  //			_, err = kinesis.NewAnalyticsApplication(ctx, "test_application", &kinesis.AnalyticsApplicationArgs{
    46  //				Name: pulumi.String("kinesis-analytics-application-test"),
    47  //				Inputs: &kinesis.AnalyticsApplicationInputsArgs{
    48  //					NamePrefix: pulumi.String("test_prefix"),
    49  //					KinesisStream: &kinesis.AnalyticsApplicationInputsKinesisStreamArgs{
    50  //						ResourceArn: testStream.Arn,
    51  //						RoleArn:     pulumi.Any(test.Arn),
    52  //					},
    53  //					Parallelism: &kinesis.AnalyticsApplicationInputsParallelismArgs{
    54  //						Count: pulumi.Int(1),
    55  //					},
    56  //					Schema: &kinesis.AnalyticsApplicationInputsSchemaArgs{
    57  //						RecordColumns: kinesis.AnalyticsApplicationInputsSchemaRecordColumnArray{
    58  //							&kinesis.AnalyticsApplicationInputsSchemaRecordColumnArgs{
    59  //								Mapping: pulumi.String("$.test"),
    60  //								Name:    pulumi.String("test"),
    61  //								SqlType: pulumi.String("VARCHAR(8)"),
    62  //							},
    63  //						},
    64  //						RecordEncoding: pulumi.String("UTF-8"),
    65  //						RecordFormat: &kinesis.AnalyticsApplicationInputsSchemaRecordFormatArgs{
    66  //							MappingParameters: &kinesis.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersArgs{
    67  //								Json: &kinesis.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersJsonArgs{
    68  //									RecordRowPath: pulumi.String("$"),
    69  //								},
    70  //							},
    71  //						},
    72  //					},
    73  //				},
    74  //			})
    75  //			if err != nil {
    76  //				return err
    77  //			}
    78  //			return nil
    79  //		})
    80  //	}
    81  //
    82  // ```
    83  // <!--End PulumiCodeChooser -->
    84  //
    85  // ### Starting An Application
    86  //
    87  // <!--Start PulumiCodeChooser -->
    88  // ```go
    89  // package main
    90  //
    91  // import (
    92  //
    93  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch"
    94  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis"
    95  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    96  //
    97  // )
    98  //
    99  //	func main() {
   100  //		pulumi.Run(func(ctx *pulumi.Context) error {
   101  //			example, err := cloudwatch.NewLogGroup(ctx, "example", &cloudwatch.LogGroupArgs{
   102  //				Name: pulumi.String("analytics"),
   103  //			})
   104  //			if err != nil {
   105  //				return err
   106  //			}
   107  //			exampleLogStream, err := cloudwatch.NewLogStream(ctx, "example", &cloudwatch.LogStreamArgs{
   108  //				Name:         pulumi.String("example-kinesis-application"),
   109  //				LogGroupName: example.Name,
   110  //			})
   111  //			if err != nil {
   112  //				return err
   113  //			}
   114  //			exampleStream, err := kinesis.NewStream(ctx, "example", &kinesis.StreamArgs{
   115  //				Name:       pulumi.String("example-kinesis-stream"),
   116  //				ShardCount: pulumi.Int(1),
   117  //			})
   118  //			if err != nil {
   119  //				return err
   120  //			}
   121  //			exampleFirehoseDeliveryStream, err := kinesis.NewFirehoseDeliveryStream(ctx, "example", &kinesis.FirehoseDeliveryStreamArgs{
   122  //				Name:        pulumi.String("example-kinesis-delivery-stream"),
   123  //				Destination: pulumi.String("extended_s3"),
   124  //				ExtendedS3Configuration: &kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{
   125  //					BucketArn: pulumi.Any(exampleAwsS3Bucket.Arn),
   126  //					RoleArn:   pulumi.Any(exampleAwsIamRole.Arn),
   127  //				},
   128  //			})
   129  //			if err != nil {
   130  //				return err
   131  //			}
   132  //			_, err = kinesis.NewAnalyticsApplication(ctx, "test", &kinesis.AnalyticsApplicationArgs{
   133  //				Name: pulumi.String("example-application"),
   134  //				CloudwatchLoggingOptions: &kinesis.AnalyticsApplicationCloudwatchLoggingOptionsArgs{
   135  //					LogStreamArn: exampleLogStream.Arn,
   136  //					RoleArn:      pulumi.Any(exampleAwsIamRole.Arn),
   137  //				},
   138  //				Inputs: &kinesis.AnalyticsApplicationInputsArgs{
   139  //					NamePrefix: pulumi.String("example_prefix"),
   140  //					Schema: &kinesis.AnalyticsApplicationInputsSchemaArgs{
   141  //						RecordColumns: kinesis.AnalyticsApplicationInputsSchemaRecordColumnArray{
   142  //							&kinesis.AnalyticsApplicationInputsSchemaRecordColumnArgs{
   143  //								Name:    pulumi.String("COLUMN_1"),
   144  //								SqlType: pulumi.String("INTEGER"),
   145  //							},
   146  //						},
   147  //						RecordFormat: &kinesis.AnalyticsApplicationInputsSchemaRecordFormatArgs{
   148  //							MappingParameters: &kinesis.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersArgs{
   149  //								Csv: &kinesis.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersCsvArgs{
   150  //									RecordColumnDelimiter: pulumi.String(","),
   151  //									RecordRowDelimiter:    pulumi.String("|"),
   152  //								},
   153  //							},
   154  //						},
   155  //					},
   156  //					KinesisStream: &kinesis.AnalyticsApplicationInputsKinesisStreamArgs{
   157  //						ResourceArn: exampleStream.Arn,
   158  //						RoleArn:     pulumi.Any(exampleAwsIamRole.Arn),
   159  //					},
   160  //					StartingPositionConfigurations: kinesis.AnalyticsApplicationInputsStartingPositionConfigurationArray{
   161  //						&kinesis.AnalyticsApplicationInputsStartingPositionConfigurationArgs{
   162  //							StartingPosition: pulumi.String("NOW"),
   163  //						},
   164  //					},
   165  //				},
   166  //				Outputs: kinesis.AnalyticsApplicationOutputTypeArray{
   167  //					&kinesis.AnalyticsApplicationOutputTypeArgs{
   168  //						Name: pulumi.String("OUTPUT_1"),
   169  //						Schema: &kinesis.AnalyticsApplicationOutputSchemaArgs{
   170  //							RecordFormatType: pulumi.String("CSV"),
   171  //						},
   172  //						KinesisFirehose: &kinesis.AnalyticsApplicationOutputKinesisFirehoseArgs{
   173  //							ResourceArn: exampleFirehoseDeliveryStream.Arn,
   174  //							RoleArn:     pulumi.Any(exampleAwsIamRole.Arn),
   175  //						},
   176  //					},
   177  //				},
   178  //				StartApplication: pulumi.Bool(true),
   179  //			})
   180  //			if err != nil {
   181  //				return err
   182  //			}
   183  //			return nil
   184  //		})
   185  //	}
   186  //
   187  // ```
   188  // <!--End PulumiCodeChooser -->
   189  //
   190  // ## Import
   191  //
   192  // Using `pulumi import`, import Kinesis Analytics Application using ARN. For example:
   193  //
   194  // ```sh
   195  // $ pulumi import aws:kinesis/analyticsApplication:AnalyticsApplication example arn:aws:kinesisanalytics:us-west-2:1234567890:application/example
   196  // ```
   197  type AnalyticsApplication struct {
   198  	pulumi.CustomResourceState
   199  
   200  	// The ARN of the Kinesis Analytics Appliation.
   201  	Arn pulumi.StringOutput `pulumi:"arn"`
   202  	// The CloudWatch log stream options to monitor application errors.
   203  	// See CloudWatch Logging Options below for more details.
   204  	CloudwatchLoggingOptions AnalyticsApplicationCloudwatchLoggingOptionsPtrOutput `pulumi:"cloudwatchLoggingOptions"`
   205  	// SQL Code to transform input data, and generate output.
   206  	Code pulumi.StringPtrOutput `pulumi:"code"`
   207  	// The Timestamp when the application version was created.
   208  	CreateTimestamp pulumi.StringOutput `pulumi:"createTimestamp"`
   209  	// Description of the application.
   210  	Description pulumi.StringPtrOutput `pulumi:"description"`
   211  	// Input configuration of the application. See Inputs below for more details.
   212  	Inputs AnalyticsApplicationInputsPtrOutput `pulumi:"inputs"`
   213  	// The Timestamp when the application was last updated.
   214  	LastUpdateTimestamp pulumi.StringOutput `pulumi:"lastUpdateTimestamp"`
   215  	// Name of the Kinesis Analytics Application.
   216  	Name pulumi.StringOutput `pulumi:"name"`
   217  	// Output destination configuration of the application. See Outputs below for more details.
   218  	Outputs AnalyticsApplicationOutputTypeArrayOutput `pulumi:"outputs"`
   219  	// An S3 Reference Data Source for the application.
   220  	// See Reference Data Sources below for more details.
   221  	ReferenceDataSources AnalyticsApplicationReferenceDataSourcesPtrOutput `pulumi:"referenceDataSources"`
   222  	// Whether to start or stop the Kinesis Analytics Application. To start an application, an input with a defined `startingPosition` must be configured.
   223  	// To modify an application's starting position, first stop the application by setting `startApplication = false`, then update `startingPosition` and set `startApplication = true`.
   224  	StartApplication pulumi.BoolPtrOutput `pulumi:"startApplication"`
   225  	// The Status of the application.
   226  	Status pulumi.StringOutput `pulumi:"status"`
   227  	// Key-value map of tags for the Kinesis Analytics Application. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   228  	Tags pulumi.StringMapOutput `pulumi:"tags"`
   229  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   230  	//
   231  	// Deprecated: Please use `tags` instead.
   232  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
   233  	// The Version of the application.
   234  	Version pulumi.IntOutput `pulumi:"version"`
   235  }
   236  
   237  // NewAnalyticsApplication registers a new resource with the given unique name, arguments, and options.
   238  func NewAnalyticsApplication(ctx *pulumi.Context,
   239  	name string, args *AnalyticsApplicationArgs, opts ...pulumi.ResourceOption) (*AnalyticsApplication, error) {
   240  	if args == nil {
   241  		args = &AnalyticsApplicationArgs{}
   242  	}
   243  
   244  	opts = internal.PkgResourceDefaultOpts(opts)
   245  	var resource AnalyticsApplication
   246  	err := ctx.RegisterResource("aws:kinesis/analyticsApplication:AnalyticsApplication", name, args, &resource, opts...)
   247  	if err != nil {
   248  		return nil, err
   249  	}
   250  	return &resource, nil
   251  }
   252  
   253  // GetAnalyticsApplication gets an existing AnalyticsApplication resource's state with the given name, ID, and optional
   254  // state properties that are used to uniquely qualify the lookup (nil if not required).
   255  func GetAnalyticsApplication(ctx *pulumi.Context,
   256  	name string, id pulumi.IDInput, state *AnalyticsApplicationState, opts ...pulumi.ResourceOption) (*AnalyticsApplication, error) {
   257  	var resource AnalyticsApplication
   258  	err := ctx.ReadResource("aws:kinesis/analyticsApplication:AnalyticsApplication", name, id, state, &resource, opts...)
   259  	if err != nil {
   260  		return nil, err
   261  	}
   262  	return &resource, nil
   263  }
   264  
   265  // Input properties used for looking up and filtering AnalyticsApplication resources.
   266  type analyticsApplicationState struct {
   267  	// The ARN of the Kinesis Analytics Appliation.
   268  	Arn *string `pulumi:"arn"`
   269  	// The CloudWatch log stream options to monitor application errors.
   270  	// See CloudWatch Logging Options below for more details.
   271  	CloudwatchLoggingOptions *AnalyticsApplicationCloudwatchLoggingOptions `pulumi:"cloudwatchLoggingOptions"`
   272  	// SQL Code to transform input data, and generate output.
   273  	Code *string `pulumi:"code"`
   274  	// The Timestamp when the application version was created.
   275  	CreateTimestamp *string `pulumi:"createTimestamp"`
   276  	// Description of the application.
   277  	Description *string `pulumi:"description"`
   278  	// Input configuration of the application. See Inputs below for more details.
   279  	Inputs *AnalyticsApplicationInputs `pulumi:"inputs"`
   280  	// The Timestamp when the application was last updated.
   281  	LastUpdateTimestamp *string `pulumi:"lastUpdateTimestamp"`
   282  	// Name of the Kinesis Analytics Application.
   283  	Name *string `pulumi:"name"`
   284  	// Output destination configuration of the application. See Outputs below for more details.
   285  	Outputs []AnalyticsApplicationOutputType `pulumi:"outputs"`
   286  	// An S3 Reference Data Source for the application.
   287  	// See Reference Data Sources below for more details.
   288  	ReferenceDataSources *AnalyticsApplicationReferenceDataSources `pulumi:"referenceDataSources"`
   289  	// Whether to start or stop the Kinesis Analytics Application. To start an application, an input with a defined `startingPosition` must be configured.
   290  	// To modify an application's starting position, first stop the application by setting `startApplication = false`, then update `startingPosition` and set `startApplication = true`.
   291  	StartApplication *bool `pulumi:"startApplication"`
   292  	// The Status of the application.
   293  	Status *string `pulumi:"status"`
   294  	// Key-value map of tags for the Kinesis Analytics Application. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   295  	Tags map[string]string `pulumi:"tags"`
   296  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   297  	//
   298  	// Deprecated: Please use `tags` instead.
   299  	TagsAll map[string]string `pulumi:"tagsAll"`
   300  	// The Version of the application.
   301  	Version *int `pulumi:"version"`
   302  }
   303  
   304  type AnalyticsApplicationState struct {
   305  	// The ARN of the Kinesis Analytics Appliation.
   306  	Arn pulumi.StringPtrInput
   307  	// The CloudWatch log stream options to monitor application errors.
   308  	// See CloudWatch Logging Options below for more details.
   309  	CloudwatchLoggingOptions AnalyticsApplicationCloudwatchLoggingOptionsPtrInput
   310  	// SQL Code to transform input data, and generate output.
   311  	Code pulumi.StringPtrInput
   312  	// The Timestamp when the application version was created.
   313  	CreateTimestamp pulumi.StringPtrInput
   314  	// Description of the application.
   315  	Description pulumi.StringPtrInput
   316  	// Input configuration of the application. See Inputs below for more details.
   317  	Inputs AnalyticsApplicationInputsPtrInput
   318  	// The Timestamp when the application was last updated.
   319  	LastUpdateTimestamp pulumi.StringPtrInput
   320  	// Name of the Kinesis Analytics Application.
   321  	Name pulumi.StringPtrInput
   322  	// Output destination configuration of the application. See Outputs below for more details.
   323  	Outputs AnalyticsApplicationOutputTypeArrayInput
   324  	// An S3 Reference Data Source for the application.
   325  	// See Reference Data Sources below for more details.
   326  	ReferenceDataSources AnalyticsApplicationReferenceDataSourcesPtrInput
   327  	// Whether to start or stop the Kinesis Analytics Application. To start an application, an input with a defined `startingPosition` must be configured.
   328  	// To modify an application's starting position, first stop the application by setting `startApplication = false`, then update `startingPosition` and set `startApplication = true`.
   329  	StartApplication pulumi.BoolPtrInput
   330  	// The Status of the application.
   331  	Status pulumi.StringPtrInput
   332  	// Key-value map of tags for the Kinesis Analytics Application. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   333  	Tags pulumi.StringMapInput
   334  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   335  	//
   336  	// Deprecated: Please use `tags` instead.
   337  	TagsAll pulumi.StringMapInput
   338  	// The Version of the application.
   339  	Version pulumi.IntPtrInput
   340  }
   341  
   342  func (AnalyticsApplicationState) ElementType() reflect.Type {
   343  	return reflect.TypeOf((*analyticsApplicationState)(nil)).Elem()
   344  }
   345  
   346  type analyticsApplicationArgs struct {
   347  	// The CloudWatch log stream options to monitor application errors.
   348  	// See CloudWatch Logging Options below for more details.
   349  	CloudwatchLoggingOptions *AnalyticsApplicationCloudwatchLoggingOptions `pulumi:"cloudwatchLoggingOptions"`
   350  	// SQL Code to transform input data, and generate output.
   351  	Code *string `pulumi:"code"`
   352  	// Description of the application.
   353  	Description *string `pulumi:"description"`
   354  	// Input configuration of the application. See Inputs below for more details.
   355  	Inputs *AnalyticsApplicationInputs `pulumi:"inputs"`
   356  	// Name of the Kinesis Analytics Application.
   357  	Name *string `pulumi:"name"`
   358  	// Output destination configuration of the application. See Outputs below for more details.
   359  	Outputs []AnalyticsApplicationOutputType `pulumi:"outputs"`
   360  	// An S3 Reference Data Source for the application.
   361  	// See Reference Data Sources below for more details.
   362  	ReferenceDataSources *AnalyticsApplicationReferenceDataSources `pulumi:"referenceDataSources"`
   363  	// Whether to start or stop the Kinesis Analytics Application. To start an application, an input with a defined `startingPosition` must be configured.
   364  	// To modify an application's starting position, first stop the application by setting `startApplication = false`, then update `startingPosition` and set `startApplication = true`.
   365  	StartApplication *bool `pulumi:"startApplication"`
   366  	// Key-value map of tags for the Kinesis Analytics Application. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   367  	Tags map[string]string `pulumi:"tags"`
   368  }
   369  
   370  // The set of arguments for constructing a AnalyticsApplication resource.
   371  type AnalyticsApplicationArgs struct {
   372  	// The CloudWatch log stream options to monitor application errors.
   373  	// See CloudWatch Logging Options below for more details.
   374  	CloudwatchLoggingOptions AnalyticsApplicationCloudwatchLoggingOptionsPtrInput
   375  	// SQL Code to transform input data, and generate output.
   376  	Code pulumi.StringPtrInput
   377  	// Description of the application.
   378  	Description pulumi.StringPtrInput
   379  	// Input configuration of the application. See Inputs below for more details.
   380  	Inputs AnalyticsApplicationInputsPtrInput
   381  	// Name of the Kinesis Analytics Application.
   382  	Name pulumi.StringPtrInput
   383  	// Output destination configuration of the application. See Outputs below for more details.
   384  	Outputs AnalyticsApplicationOutputTypeArrayInput
   385  	// An S3 Reference Data Source for the application.
   386  	// See Reference Data Sources below for more details.
   387  	ReferenceDataSources AnalyticsApplicationReferenceDataSourcesPtrInput
   388  	// Whether to start or stop the Kinesis Analytics Application. To start an application, an input with a defined `startingPosition` must be configured.
   389  	// To modify an application's starting position, first stop the application by setting `startApplication = false`, then update `startingPosition` and set `startApplication = true`.
   390  	StartApplication pulumi.BoolPtrInput
   391  	// Key-value map of tags for the Kinesis Analytics Application. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   392  	Tags pulumi.StringMapInput
   393  }
   394  
   395  func (AnalyticsApplicationArgs) ElementType() reflect.Type {
   396  	return reflect.TypeOf((*analyticsApplicationArgs)(nil)).Elem()
   397  }
   398  
   399  type AnalyticsApplicationInput interface {
   400  	pulumi.Input
   401  
   402  	ToAnalyticsApplicationOutput() AnalyticsApplicationOutput
   403  	ToAnalyticsApplicationOutputWithContext(ctx context.Context) AnalyticsApplicationOutput
   404  }
   405  
   406  func (*AnalyticsApplication) ElementType() reflect.Type {
   407  	return reflect.TypeOf((**AnalyticsApplication)(nil)).Elem()
   408  }
   409  
   410  func (i *AnalyticsApplication) ToAnalyticsApplicationOutput() AnalyticsApplicationOutput {
   411  	return i.ToAnalyticsApplicationOutputWithContext(context.Background())
   412  }
   413  
   414  func (i *AnalyticsApplication) ToAnalyticsApplicationOutputWithContext(ctx context.Context) AnalyticsApplicationOutput {
   415  	return pulumi.ToOutputWithContext(ctx, i).(AnalyticsApplicationOutput)
   416  }
   417  
   418  // AnalyticsApplicationArrayInput is an input type that accepts AnalyticsApplicationArray and AnalyticsApplicationArrayOutput values.
   419  // You can construct a concrete instance of `AnalyticsApplicationArrayInput` via:
   420  //
   421  //	AnalyticsApplicationArray{ AnalyticsApplicationArgs{...} }
   422  type AnalyticsApplicationArrayInput interface {
   423  	pulumi.Input
   424  
   425  	ToAnalyticsApplicationArrayOutput() AnalyticsApplicationArrayOutput
   426  	ToAnalyticsApplicationArrayOutputWithContext(context.Context) AnalyticsApplicationArrayOutput
   427  }
   428  
   429  type AnalyticsApplicationArray []AnalyticsApplicationInput
   430  
   431  func (AnalyticsApplicationArray) ElementType() reflect.Type {
   432  	return reflect.TypeOf((*[]*AnalyticsApplication)(nil)).Elem()
   433  }
   434  
   435  func (i AnalyticsApplicationArray) ToAnalyticsApplicationArrayOutput() AnalyticsApplicationArrayOutput {
   436  	return i.ToAnalyticsApplicationArrayOutputWithContext(context.Background())
   437  }
   438  
   439  func (i AnalyticsApplicationArray) ToAnalyticsApplicationArrayOutputWithContext(ctx context.Context) AnalyticsApplicationArrayOutput {
   440  	return pulumi.ToOutputWithContext(ctx, i).(AnalyticsApplicationArrayOutput)
   441  }
   442  
   443  // AnalyticsApplicationMapInput is an input type that accepts AnalyticsApplicationMap and AnalyticsApplicationMapOutput values.
   444  // You can construct a concrete instance of `AnalyticsApplicationMapInput` via:
   445  //
   446  //	AnalyticsApplicationMap{ "key": AnalyticsApplicationArgs{...} }
   447  type AnalyticsApplicationMapInput interface {
   448  	pulumi.Input
   449  
   450  	ToAnalyticsApplicationMapOutput() AnalyticsApplicationMapOutput
   451  	ToAnalyticsApplicationMapOutputWithContext(context.Context) AnalyticsApplicationMapOutput
   452  }
   453  
   454  type AnalyticsApplicationMap map[string]AnalyticsApplicationInput
   455  
   456  func (AnalyticsApplicationMap) ElementType() reflect.Type {
   457  	return reflect.TypeOf((*map[string]*AnalyticsApplication)(nil)).Elem()
   458  }
   459  
   460  func (i AnalyticsApplicationMap) ToAnalyticsApplicationMapOutput() AnalyticsApplicationMapOutput {
   461  	return i.ToAnalyticsApplicationMapOutputWithContext(context.Background())
   462  }
   463  
   464  func (i AnalyticsApplicationMap) ToAnalyticsApplicationMapOutputWithContext(ctx context.Context) AnalyticsApplicationMapOutput {
   465  	return pulumi.ToOutputWithContext(ctx, i).(AnalyticsApplicationMapOutput)
   466  }
   467  
   468  type AnalyticsApplicationOutput struct{ *pulumi.OutputState }
   469  
   470  func (AnalyticsApplicationOutput) ElementType() reflect.Type {
   471  	return reflect.TypeOf((**AnalyticsApplication)(nil)).Elem()
   472  }
   473  
   474  func (o AnalyticsApplicationOutput) ToAnalyticsApplicationOutput() AnalyticsApplicationOutput {
   475  	return o
   476  }
   477  
   478  func (o AnalyticsApplicationOutput) ToAnalyticsApplicationOutputWithContext(ctx context.Context) AnalyticsApplicationOutput {
   479  	return o
   480  }
   481  
   482  // The ARN of the Kinesis Analytics Appliation.
   483  func (o AnalyticsApplicationOutput) Arn() pulumi.StringOutput {
   484  	return o.ApplyT(func(v *AnalyticsApplication) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   485  }
   486  
   487  // The CloudWatch log stream options to monitor application errors.
   488  // See CloudWatch Logging Options below for more details.
   489  func (o AnalyticsApplicationOutput) CloudwatchLoggingOptions() AnalyticsApplicationCloudwatchLoggingOptionsPtrOutput {
   490  	return o.ApplyT(func(v *AnalyticsApplication) AnalyticsApplicationCloudwatchLoggingOptionsPtrOutput {
   491  		return v.CloudwatchLoggingOptions
   492  	}).(AnalyticsApplicationCloudwatchLoggingOptionsPtrOutput)
   493  }
   494  
   495  // SQL Code to transform input data, and generate output.
   496  func (o AnalyticsApplicationOutput) Code() pulumi.StringPtrOutput {
   497  	return o.ApplyT(func(v *AnalyticsApplication) pulumi.StringPtrOutput { return v.Code }).(pulumi.StringPtrOutput)
   498  }
   499  
   500  // The Timestamp when the application version was created.
   501  func (o AnalyticsApplicationOutput) CreateTimestamp() pulumi.StringOutput {
   502  	return o.ApplyT(func(v *AnalyticsApplication) pulumi.StringOutput { return v.CreateTimestamp }).(pulumi.StringOutput)
   503  }
   504  
   505  // Description of the application.
   506  func (o AnalyticsApplicationOutput) Description() pulumi.StringPtrOutput {
   507  	return o.ApplyT(func(v *AnalyticsApplication) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput)
   508  }
   509  
   510  // Input configuration of the application. See Inputs below for more details.
   511  func (o AnalyticsApplicationOutput) Inputs() AnalyticsApplicationInputsPtrOutput {
   512  	return o.ApplyT(func(v *AnalyticsApplication) AnalyticsApplicationInputsPtrOutput { return v.Inputs }).(AnalyticsApplicationInputsPtrOutput)
   513  }
   514  
   515  // The Timestamp when the application was last updated.
   516  func (o AnalyticsApplicationOutput) LastUpdateTimestamp() pulumi.StringOutput {
   517  	return o.ApplyT(func(v *AnalyticsApplication) pulumi.StringOutput { return v.LastUpdateTimestamp }).(pulumi.StringOutput)
   518  }
   519  
   520  // Name of the Kinesis Analytics Application.
   521  func (o AnalyticsApplicationOutput) Name() pulumi.StringOutput {
   522  	return o.ApplyT(func(v *AnalyticsApplication) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
   523  }
   524  
   525  // Output destination configuration of the application. See Outputs below for more details.
   526  func (o AnalyticsApplicationOutput) Outputs() AnalyticsApplicationOutputTypeArrayOutput {
   527  	return o.ApplyT(func(v *AnalyticsApplication) AnalyticsApplicationOutputTypeArrayOutput { return v.Outputs }).(AnalyticsApplicationOutputTypeArrayOutput)
   528  }
   529  
   530  // An S3 Reference Data Source for the application.
   531  // See Reference Data Sources below for more details.
   532  func (o AnalyticsApplicationOutput) ReferenceDataSources() AnalyticsApplicationReferenceDataSourcesPtrOutput {
   533  	return o.ApplyT(func(v *AnalyticsApplication) AnalyticsApplicationReferenceDataSourcesPtrOutput {
   534  		return v.ReferenceDataSources
   535  	}).(AnalyticsApplicationReferenceDataSourcesPtrOutput)
   536  }
   537  
   538  // Whether to start or stop the Kinesis Analytics Application. To start an application, an input with a defined `startingPosition` must be configured.
   539  // To modify an application's starting position, first stop the application by setting `startApplication = false`, then update `startingPosition` and set `startApplication = true`.
   540  func (o AnalyticsApplicationOutput) StartApplication() pulumi.BoolPtrOutput {
   541  	return o.ApplyT(func(v *AnalyticsApplication) pulumi.BoolPtrOutput { return v.StartApplication }).(pulumi.BoolPtrOutput)
   542  }
   543  
   544  // The Status of the application.
   545  func (o AnalyticsApplicationOutput) Status() pulumi.StringOutput {
   546  	return o.ApplyT(func(v *AnalyticsApplication) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput)
   547  }
   548  
   549  // Key-value map of tags for the Kinesis Analytics Application. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   550  func (o AnalyticsApplicationOutput) Tags() pulumi.StringMapOutput {
   551  	return o.ApplyT(func(v *AnalyticsApplication) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   552  }
   553  
   554  // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   555  //
   556  // Deprecated: Please use `tags` instead.
   557  func (o AnalyticsApplicationOutput) TagsAll() pulumi.StringMapOutput {
   558  	return o.ApplyT(func(v *AnalyticsApplication) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   559  }
   560  
   561  // The Version of the application.
   562  func (o AnalyticsApplicationOutput) Version() pulumi.IntOutput {
   563  	return o.ApplyT(func(v *AnalyticsApplication) pulumi.IntOutput { return v.Version }).(pulumi.IntOutput)
   564  }
   565  
   566  type AnalyticsApplicationArrayOutput struct{ *pulumi.OutputState }
   567  
   568  func (AnalyticsApplicationArrayOutput) ElementType() reflect.Type {
   569  	return reflect.TypeOf((*[]*AnalyticsApplication)(nil)).Elem()
   570  }
   571  
   572  func (o AnalyticsApplicationArrayOutput) ToAnalyticsApplicationArrayOutput() AnalyticsApplicationArrayOutput {
   573  	return o
   574  }
   575  
   576  func (o AnalyticsApplicationArrayOutput) ToAnalyticsApplicationArrayOutputWithContext(ctx context.Context) AnalyticsApplicationArrayOutput {
   577  	return o
   578  }
   579  
   580  func (o AnalyticsApplicationArrayOutput) Index(i pulumi.IntInput) AnalyticsApplicationOutput {
   581  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AnalyticsApplication {
   582  		return vs[0].([]*AnalyticsApplication)[vs[1].(int)]
   583  	}).(AnalyticsApplicationOutput)
   584  }
   585  
   586  type AnalyticsApplicationMapOutput struct{ *pulumi.OutputState }
   587  
   588  func (AnalyticsApplicationMapOutput) ElementType() reflect.Type {
   589  	return reflect.TypeOf((*map[string]*AnalyticsApplication)(nil)).Elem()
   590  }
   591  
   592  func (o AnalyticsApplicationMapOutput) ToAnalyticsApplicationMapOutput() AnalyticsApplicationMapOutput {
   593  	return o
   594  }
   595  
   596  func (o AnalyticsApplicationMapOutput) ToAnalyticsApplicationMapOutputWithContext(ctx context.Context) AnalyticsApplicationMapOutput {
   597  	return o
   598  }
   599  
   600  func (o AnalyticsApplicationMapOutput) MapIndex(k pulumi.StringInput) AnalyticsApplicationOutput {
   601  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AnalyticsApplication {
   602  		return vs[0].(map[string]*AnalyticsApplication)[vs[1].(string)]
   603  	}).(AnalyticsApplicationOutput)
   604  }
   605  
   606  func init() {
   607  	pulumi.RegisterInputType(reflect.TypeOf((*AnalyticsApplicationInput)(nil)).Elem(), &AnalyticsApplication{})
   608  	pulumi.RegisterInputType(reflect.TypeOf((*AnalyticsApplicationArrayInput)(nil)).Elem(), AnalyticsApplicationArray{})
   609  	pulumi.RegisterInputType(reflect.TypeOf((*AnalyticsApplicationMapInput)(nil)).Elem(), AnalyticsApplicationMap{})
   610  	pulumi.RegisterOutputType(AnalyticsApplicationOutput{})
   611  	pulumi.RegisterOutputType(AnalyticsApplicationArrayOutput{})
   612  	pulumi.RegisterOutputType(AnalyticsApplicationMapOutput{})
   613  }