Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Apache Flink runtime for Kinesis Analytics #11652

Merged
merged 129 commits into from Oct 21, 2020

Conversation

blake-wilson
Copy link
Contributor

@blake-wilson blake-wilson commented Jan 18, 2020

Community Note

  • Please vote on this pull request by adding a 👍 reaction to the original pull request comment to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for pull request followers and do not help prioritize the request

Closes #7332
Closes #11347
Closes #13386

Description

Adds support for kinesisanalyticsv2 API which enables supporting the Flink runtime as requested in #7332.

This is a breaking change as written, so I would like feedback on the best way to go about adding this support. My best alternative approach thus far is to make a new resource type, perhaps a kinesis_analytics_application_v2, with the new schema defined here.

I have refrained from updating the documentation until the issue of where support for this new API should live is resolved. I have tried to follow the semantics of the AWS kinesisanalyticsv2 API when defining the schema.

This is my first contribution. I tried to follow the contributor guidelines, but please let me know if I missed something.

Release note for CHANGELOG:

resource_aws_kinesis_analytics_application_v2: Support v2 kinesis API

Output from acceptance testing:

TEST="./aws -run TestAccAWSKinesisAnalyticsApplication" make testacc
=== RUN   TestAccAWSKinesisAnalyticsApplication_basic
=== PAUSE TestAccAWSKinesisAnalyticsApplication_basic
=== RUN   TestAccAWSKinesisAnalyticsApplication_update
=== PAUSE TestAccAWSKinesisAnalyticsApplication_update
=== RUN   TestAccAWSKinesisAnalyticsApplication_addCloudwatchLoggingOptions
=== PAUSE TestAccAWSKinesisAnalyticsApplication_addCloudwatchLoggingOptions
=== RUN   TestAccAWSKinesisAnalyticsApplication_updateCloudwatchLoggingOptions
=== PAUSE TestAccAWSKinesisAnalyticsApplication_updateCloudwatchLoggingOptions
=== RUN   TestAccAWSKinesisAnalyticsApplication_inputsKinesisFirehose
=== PAUSE TestAccAWSKinesisAnalyticsApplication_inputsKinesisFirehose
=== RUN   TestAccAWSKinesisAnalyticsApplication_inputsKinesisStream
=== PAUSE TestAccAWSKinesisAnalyticsApplication_inputsKinesisStream
=== RUN   TestAccAWSKinesisAnalyticsApplication_inputsAdd
=== PAUSE TestAccAWSKinesisAnalyticsApplication_inputsAdd
=== RUN   TestAccAWSKinesisAnalyticsApplication_inputsUpdateKinesisStream
=== PAUSE TestAccAWSKinesisAnalyticsApplication_inputsUpdateKinesisStream
=== RUN   TestAccAWSKinesisAnalyticsApplication_outputsKinesisStream
=== PAUSE TestAccAWSKinesisAnalyticsApplication_outputsKinesisStream
=== RUN   TestAccAWSKinesisAnalyticsApplication_outputsMultiple
=== PAUSE TestAccAWSKinesisAnalyticsApplication_outputsMultiple
=== RUN   TestAccAWSKinesisAnalyticsApplication_outputsAdd
=== PAUSE TestAccAWSKinesisAnalyticsApplication_outputsAdd
=== RUN   TestAccAWSKinesisAnalyticsApplication_outputsUpdateKinesisStream
=== PAUSE TestAccAWSKinesisAnalyticsApplication_outputsUpdateKinesisStream
=== RUN   TestAccAWSKinesisAnalyticsApplication_Outputs_Lambda_Add
=== PAUSE TestAccAWSKinesisAnalyticsApplication_Outputs_Lambda_Add
=== RUN   TestAccAWSKinesisAnalyticsApplication_Outputs_Lambda_Create
=== PAUSE TestAccAWSKinesisAnalyticsApplication_Outputs_Lambda_Create
=== RUN   TestAccAWSKinesisAnalyticsApplication_referenceDataSource
=== PAUSE TestAccAWSKinesisAnalyticsApplication_referenceDataSource
=== RUN   TestAccAWSKinesisAnalyticsApplication_referenceDataSourceUpdate
=== PAUSE TestAccAWSKinesisAnalyticsApplication_referenceDataSourceUpdate
=== RUN   TestAccAWSKinesisAnalyticsApplication_tags
=== PAUSE TestAccAWSKinesisAnalyticsApplication_tags
=== RUN   TestAccAWSKinesisAnalyticsApplicationV2_basic
=== PAUSE TestAccAWSKinesisAnalyticsApplicationV2_basic
=== RUN   TestAccAWSKinesisAnalyticsApplicationV2_update
=== PAUSE TestAccAWSKinesisAnalyticsApplicationV2_update
=== RUN   TestAccAWSKinesisAnalyticsApplicationV2_addCloudwatchLoggingOptions
=== PAUSE TestAccAWSKinesisAnalyticsApplicationV2_addCloudwatchLoggingOptions
=== RUN   TestAccAWSKinesisAnalyticsApplicationV2_updateCloudwatchLoggingOptions
=== PAUSE TestAccAWSKinesisAnalyticsApplicationV2_updateCloudwatchLoggingOptions
=== RUN   TestAccAWSKinesisAnalyticsApplicationV2_inputsKinesisFirehose
=== PAUSE TestAccAWSKinesisAnalyticsApplicationV2_inputsKinesisFirehose
=== RUN   TestAccAWSKinesisAnalyticsApplicationV2_flinkApplication
=== PAUSE TestAccAWSKinesisAnalyticsApplicationV2_flinkApplication
=== RUN   TestAccAWSKinesisAnalyticsApplicationV2_flinkApplicationUpdate
=== PAUSE TestAccAWSKinesisAnalyticsApplicationV2_flinkApplicationUpdate
=== CONT  TestAccAWSKinesisAnalyticsApplication_basic
=== CONT  TestAccAWSKinesisAnalyticsApplication_referenceDataSource
=== CONT  TestAccAWSKinesisAnalyticsApplicationV2_basic
=== CONT  TestAccAWSKinesisAnalyticsApplication_Outputs_Lambda_Create
=== CONT  TestAccAWSKinesisAnalyticsApplication_inputsUpdateKinesisStream
=== CONT  TestAccAWSKinesisAnalyticsApplicationV2_flinkApplication
=== CONT  TestAccAWSKinesisAnalyticsApplicationV2_inputsKinesisFirehose
=== CONT  TestAccAWSKinesisAnalyticsApplicationV2_updateCloudwatchLoggingOptions
=== CONT  TestAccAWSKinesisAnalyticsApplicationV2_addCloudwatchLoggingOptions
=== CONT  TestAccAWSKinesisAnalyticsApplicationV2_update
=== CONT  TestAccAWSKinesisAnalyticsApplication_referenceDataSourceUpdate
=== CONT  TestAccAWSKinesisAnalyticsApplication_tags
=== CONT  TestAccAWSKinesisAnalyticsApplication_Outputs_Lambda_Add
=== CONT  TestAccAWSKinesisAnalyticsApplication_outputsUpdateKinesisStream
=== CONT  TestAccAWSKinesisAnalyticsApplication_outputsAdd
=== CONT  TestAccAWSKinesisAnalyticsApplication_outputsMultiple
=== CONT  TestAccAWSKinesisAnalyticsApplication_outputsKinesisStream
=== CONT  TestAccAWSKinesisAnalyticsApplication_inputsKinesisFirehose
=== CONT  TestAccAWSKinesisAnalyticsApplication_inputsAdd
=== CONT  TestAccAWSKinesisAnalyticsApplicationV2_flinkApplicationUpdate
--- PASS: TestAccAWSKinesisAnalyticsApplication_basic (23.26s)
=== CONT  TestAccAWSKinesisAnalyticsApplication_inputsKinesisStream
--- PASS: TestAccAWSKinesisAnalyticsApplicationV2_basic (39.40s)
=== CONT  TestAccAWSKinesisAnalyticsApplication_addCloudwatchLoggingOptions
--- PASS: TestAccAWSKinesisAnalyticsApplication_referenceDataSource (40.43s)
=== CONT  TestAccAWSKinesisAnalyticsApplication_updateCloudwatchLoggingOptions
--- PASS: TestAccAWSKinesisAnalyticsApplicationV2_update (51.48s)
=== CONT  TestAccAWSKinesisAnalyticsApplication_update
--- PASS: TestAccAWSKinesisAnalyticsApplicationV2_updateCloudwatchLoggingOptions (56.51s)
--- PASS: TestAccAWSKinesisAnalyticsApplicationV2_addCloudwatchLoggingOptions (58.08s)
--- PASS: TestAccAWSKinesisAnalyticsApplication_Outputs_Lambda_Create (60.05s)
--- PASS: TestAccAWSKinesisAnalyticsApplication_referenceDataSourceUpdate (64.75s)
--- PASS: TestAccAWSKinesisAnalyticsApplication_tags (64.99s)
--- PASS: TestAccAWSKinesisAnalyticsApplication_Outputs_Lambda_Add (73.78s)
--- PASS: TestAccAWSKinesisAnalyticsApplication_outputsKinesisStream (81.40s)
--- PASS: TestAccAWSKinesisAnalyticsApplication_outputsMultiple (83.23s)
--- PASS: TestAccAWSKinesisAnalyticsApplication_addCloudwatchLoggingOptions (44.04s)
--- PASS: TestAccAWSKinesisAnalyticsApplication_update (35.79s)
--- PASS: TestAccAWSKinesisAnalyticsApplication_outputsAdd (96.69s)
--- PASS: TestAccAWSKinesisAnalyticsApplication_inputsKinesisFirehose (97.94s)
--- PASS: TestAccAWSKinesisAnalyticsApplicationV2_inputsKinesisFirehose (98.06s)
--- PASS: TestAccAWSKinesisAnalyticsApplication_inputsAdd (98.37s)
--- PASS: TestAccAWSKinesisAnalyticsApplication_updateCloudwatchLoggingOptions (59.53s)
--- PASS: TestAccAWSKinesisAnalyticsApplication_inputsKinesisStream (78.08s)
--- PASS: TestAccAWSKinesisAnalyticsApplication_inputsUpdateKinesisStream (148.26s)
--- PASS: TestAccAWSKinesisAnalyticsApplication_outputsUpdateKinesisStream (148.55s)
--- PASS: TestAccAWSKinesisAnalyticsApplicationV2_flinkApplication (150.75s)
--- PASS: TestAccAWSKinesisAnalyticsApplicationV2_flinkApplicationUpdate (170.65s)

The new binary fixture seems a little weird, but it seems that a valid executable must be provided in order for the SDK calls to succeed. When I attempted with a dummy zip file I got the following error:

--- FAIL: TestAccAWSKinesisAnalyticsApplication_flinkApplicationUpdate (32.11s)
    testing.go:640: Step 0 error: errors during apply:

        Error: Unable to create Kinesis Analytics application: InvalidArgumentException: No valid JAR file found in the zip file.

          on /var/folders/6n/xbkqckds5572h0248fy0372m0000gp/T/tf-test849884191/main.tf line 92:
          (source code not available)

The .jar is, by the way, one of the apps produced by compiling the sample code provided by Amazon: https://github.com/aws-samples/amazon-kinesis-data-analytics-java-examples

@blake-wilson blake-wilson requested a review from a team January 18, 2020 01:00
@ghost ghost added size/XXL Managed by automation to categorize the size of a PR. needs-triage Waiting for first response or review from a maintainer. service/kinesisanalytics Issues and PRs that pertain to the kinesisanalytics service. labels Jan 18, 2020
$ make testacc TEST=./aws TESTARGS='-run=TestAccAWSKinesisAnalyticsV2Application_' ACCTEST_PARALLELISM=2
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws -v -count 1 -parallel 2 -run=TestAccAWSKinesisAnalyticsV2Application_ -timeout 120m
=== RUN   TestAccAWSKinesisAnalyticsV2Application_basicFlinkApplication
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_basicFlinkApplication
=== RUN   TestAccAWSKinesisAnalyticsV2Application_basicSQLApplication
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_basicSQLApplication
=== RUN   TestAccAWSKinesisAnalyticsV2Application_disappears
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_disappears
=== RUN   TestAccAWSKinesisAnalyticsV2Application_ApplicationCodeConfiguration_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_ApplicationCodeConfiguration_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Add
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Add
=== RUN   TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Delete
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Delete
=== RUN   TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_EnvironmentProperties_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_EnvironmentProperties_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_EnvironmentProperties_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_EnvironmentProperties_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_ServiceExecutionRole_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_ServiceExecutionRole_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Add
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Add
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Add
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Add
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Delete
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Delete
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Multiple_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Multiple_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Output_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Output_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Add
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Add
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Delete
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Delete
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_Tags
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_Tags
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Add
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Add
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Delete
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Delete
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Update
=== CONT  TestAccAWSKinesisAnalyticsV2Application_basicFlinkApplication
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Add
--- PASS: TestAccAWSKinesisAnalyticsV2Application_basicFlinkApplication (29.18s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Update (84.86s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Delete
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Add (116.16s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Add
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Delete (74.56s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_Tags
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Add (83.49s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_Tags (64.48s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Delete
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Update (112.48s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Add
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Delete (108.17s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Output_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Add (104.76s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Multiple_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Output_Update (129.83s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Multiple_Update (121.87s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Delete
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Update (113.73s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_EnvironmentProperties_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Delete (125.70s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_EnvironmentProperties_Update (106.59s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Add
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Update (110.46s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_ServiceExecutionRole_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_ServiceExecutionRole_Update (50.99s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_EnvironmentProperties_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Add (122.33s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_Update (74.58s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Add
--- PASS: TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_EnvironmentProperties_Update (90.90s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Add (54.14s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Delete
--- PASS: TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Update (48.06s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_disappears
--- PASS: TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Delete (46.89s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_ApplicationCodeConfiguration_Update
=== CONT  TestAccAWSKinesisAnalyticsV2Application_disappears
    resource_aws_kinesisanalyticsv2_application_test.go:184: [INFO] Got non-empty plan, as expected
--- PASS: TestAccAWSKinesisAnalyticsV2Application_disappears (48.33s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_basicSQLApplication
--- PASS: TestAccAWSKinesisAnalyticsV2Application_basicSQLApplication (32.48s)
--- PASS: TestAccAWSKinesisAnalyticsV2Application_ApplicationCodeConfiguration_Update (42.69s)
PASS
ok  	github.com/terraform-providers/terraform-provider-aws/aws	1052.064s
@ewbankkit
Copy link
Contributor

@blake-wilson I have fixed all the linter errors (I think 😄), You can git fetch and git merge again and if all goes green we should be able to do the reviews.
Thanks.

@blake-wilson
Copy link
Contributor Author

@ewbankkit awesome, done 👍 Looks like the linters are indeed passing now

Thanks again

@kurtmc
Copy link
Contributor

kurtmc commented Oct 15, 2020

@ewbankkit @blake-wilson Hey, I was just wondering if it would be appropriate to include a call to StartApplication (https://docs.aws.amazon.com/sdk-for-go/api/service/kinesisanalyticsv2/#KinesisAnalyticsV2.StartApplication) as part of this resource or does it make more sense to have some other resource perhaps aws_kinesisanalyticsv2_application_start or something where creating the resource calls start and deleting it calls stop.

The reason I am asking is because I would ideally like to be able to create and start an Apache Flink Kinesis application entirely with terraform.

@grzegorzewald
Copy link

@ewbankkit @blake-wilson Hey, I was just wondering if it would be appropriate to include a call to StartApplication (https://docs.aws.amazon.com/sdk-for-go/api/service/kinesisanalyticsv2/#KinesisAnalyticsV2.StartApplication) as part of this resource or does it make more sense to have some other resource perhaps aws_kinesisanalyticsv2_application_start or something where creating the resource calls start and deleting it calls stop.

The reason I am asking is because I would ideally like to be able to create and start an Apache Flink Kinesis application entirely with terraform.

I guess for many of us this could be even crucial...

@mickmorseMB
Copy link

@ewbankkit @blake-wilson Hey, I was just wondering if it would be appropriate to include a call to StartApplication (https://docs.aws.amazon.com/sdk-for-go/api/service/kinesisanalyticsv2/#KinesisAnalyticsV2.StartApplication) as part of this resource or does it make more sense to have some other resource perhaps aws_kinesisanalyticsv2_application_start or something where creating the resource calls start and deleting it calls stop.

The reason I am asking is because I would ideally like to be able to create and start an Apache Flink Kinesis application entirely with terraform.

I agree. Definitely a boolean or something:

start_application = true for example

@mickmorseMB
Copy link

@ewbankkit @blake-wilson Hey, I was just wondering if it would be appropriate to include a call to StartApplication (https://docs.aws.amazon.com/sdk-for-go/api/service/kinesisanalyticsv2/#KinesisAnalyticsV2.StartApplication) as part of this resource or does it make more sense to have some other resource perhaps aws_kinesisanalyticsv2_application_start or something where creating the resource calls start and deleting it calls stop.
The reason I am asking is because I would ideally like to be able to create and start an Apache Flink Kinesis application entirely with terraform.

I guess for many of us this could be even crucial...

Or maybe as a phase 2 approach given the urgency of getting this merged in. At the moment we wrap the flink application around a ci/cd pipeline with stages to stop application, deploy jar, start application.

@ewbankkit
Copy link
Contributor

There is already an open issue (#7383) for starting v1 applications.
I suggest opening an additional issue for v2 applications.
I'd like to focus on getting this PR merged first.

@jurgenweber
Copy link
Contributor

I'd like to focus on getting this PR merged first.

Good plan, looking forward to it!

Copy link
Contributor

@ewbankkit ewbankkit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

$ make testacc TEST=./aws TESTARGS='-run=TestAccAWSKinesisAnalyticsV2Application_' ACCTEST_PARALLELISM=2
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws -v -count 1 -parallel 2 -run=TestAccAWSKinesisAnalyticsV2Application_ -timeout 120m
=== RUN   TestAccAWSKinesisAnalyticsV2Application_basicFlinkApplication
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_basicFlinkApplication
=== RUN   TestAccAWSKinesisAnalyticsV2Application_basicSQLApplication
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_basicSQLApplication
=== RUN   TestAccAWSKinesisAnalyticsV2Application_disappears
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_disappears
=== RUN   TestAccAWSKinesisAnalyticsV2Application_ApplicationCodeConfiguration_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_ApplicationCodeConfiguration_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Add
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Add
=== RUN   TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Delete
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Delete
=== RUN   TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_EnvironmentProperties_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_EnvironmentProperties_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_EnvironmentProperties_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_EnvironmentProperties_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_ServiceExecutionRole_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_ServiceExecutionRole_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Add
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Add
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Add
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Add
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Delete
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Delete
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Multiple_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Multiple_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Output_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Output_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Add
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Add
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Delete
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Delete
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_Tags
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_Tags
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Add
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Add
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Delete
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Delete
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Update
=== CONT  TestAccAWSKinesisAnalyticsV2Application_basicFlinkApplication
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Add
--- PASS: TestAccAWSKinesisAnalyticsV2Application_basicFlinkApplication (39.01s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Add (125.40s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Add
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Update (110.84s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_ServiceExecutionRole_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_ServiceExecutionRole_Update (51.37s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_EnvironmentProperties_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Add (98.16s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_EnvironmentProperties_Update (75.11s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_EnvironmentProperties_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_Update (73.30s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Update (48.09s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Delete
--- PASS: TestAccAWSKinesisAnalyticsV2Application_EnvironmentProperties_Update (109.96s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Add
--- PASS: TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Delete (48.05s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_ApplicationCodeConfiguration_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_ApplicationCodeConfiguration_Update (43.52s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_disappears
--- PASS: TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Add (55.38s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_basicSQLApplication
=== CONT  TestAccAWSKinesisAnalyticsV2Application_disappears
    resource_aws_kinesisanalyticsv2_application_test.go:184: [INFO] Got non-empty plan, as expected
--- PASS: TestAccAWSKinesisAnalyticsV2Application_disappears (28.43s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_basicSQLApplication (37.09s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Update (79.07s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Delete
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Update (118.91s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Add
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Delete (67.69s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_Tags
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Add (69.19s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Output_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_Tags (55.40s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Delete
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Output_Update (136.89s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Add
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Delete (126.94s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Add (107.12s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Multiple_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Update (114.40s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Delete
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Multiple_Update (105.13s)
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Delete (103.71s)
PASS
ok  	github.com/terraform-providers/terraform-provider-aws/aws	1026.011s

@ewbankkit
Copy link
Contributor

@blake-wilson Could you please add

Closes #11347
Closes #13386

to the initial PR comment so that we can correctly auto-close all the relevant PRs on merge?

@blake-wilson
Copy link
Contributor Author

@ewbankkit done 👍

Copy link
Collaborator

@DrFaust92 DrFaust92 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some minor code changes,

a question about about changes to a running app, when I worked on the canary PR there were issues with updating/deleting a running canary. there might be issues with that here as well that are worth to test and require some start/stop logic prior to some actions.

return []*schema.ResourceData{d}, nil
}

func expandKinesisAnalyticsV2ApplicationConfiguration(vApplicationConfiguration []interface{}) *kinesisanalyticsv2.ApplicationConfiguration {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit, I think its work to extract all nested block to their own separate expand/flatten functions. it will make code readability a bit easier.

}

if vPropertyMap, ok := mPropertyGroup["property_map"].(map[string]interface{}); ok && len(vPropertyMap) > 0 {
propertyGroup.PropertyMap = stringMapToPointers(vPropertyMap)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

stringMapToPointers --> aws.StringMap

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think aws.StringMap will work here as vPropertyMap is map[string]interface{}, not map[string]string.

@DrFaust92
Copy link
Collaborator

tests are passing:

--- PASS: TestAccAWSKinesisAnalyticsV2Application_basicFlinkApplication (56.84s)
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Add (229.89s)
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Delete (213.19s)
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Update (389.13s)
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Delete (364.49s)
--- PASS: TestAccAWSKinesisAnalyticsV2Application_Tags (126.96s)
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Update (180.00s)
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Add (394.14s)
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Multiple_Update (217.13s)
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Add (214.87s)
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Update (186.41s)
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Output_Update (269.91s)
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Delete (223.52s)
--- PASS: TestAccAWSKinesisAnalyticsV2Application_EnvironmentProperties_Update (453.47s)
--- PASS: TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_EnvironmentProperties_Update (438.66s)
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Add (193.85s)
--- PASS: TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_Update (542.19s)
--- PASS: TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Add (90.90s)
--- PASS: TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Update (94.01s)
--- PASS: TestAccAWSKinesisAnalyticsV2Application_disappears (44.45s)
--- PASS: TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Delete (87.64s)
--- PASS: TestAccAWSKinesisAnalyticsV2Application_ApplicationCodeConfiguration_Update (81.22s)
--- PASS: TestAccAWSKinesisAnalyticsV2Application_basicSQLApplication (51.14s)
--- PASS: TestAccAWSKinesisAnalyticsV2Application_ServiceExecutionRole_Update (83.87s)

@ewbankkit
Copy link
Contributor

@DrFaust92 I'm pretty sure I tried the deleting a started application while testing this and found no problem.
@kurtmc requested the ability to start and stop applications above so I'll open an issue for that and we can thoroughly test as part of that work.

Copy link
Collaborator

@DrFaust92 DrFaust92 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@breathingdust
Copy link
Member

LGTM 🚀 Thanks @blake-wilson!

Verified Acceptance Tests in Commercial (us-west-2)

make testacc TEST=./aws TESTARGS='-run=TestAccAWSKinesisAnalyticsV2Application_' ACCTEST_PARALLELISM=2
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws -v -count 1 -parallel 2 -run=TestAccAWSKinesisAnalyticsV2Application_ -timeout 120m
=== RUN   TestAccAWSKinesisAnalyticsV2Application_basicFlinkApplication
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_basicFlinkApplication
=== RUN   TestAccAWSKinesisAnalyticsV2Application_basicSQLApplication
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_basicSQLApplication
=== RUN   TestAccAWSKinesisAnalyticsV2Application_disappears
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_disappears
=== RUN   TestAccAWSKinesisAnalyticsV2Application_ApplicationCodeConfiguration_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_ApplicationCodeConfiguration_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Add
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Add
=== RUN   TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Delete
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Delete
=== RUN   TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_EnvironmentProperties_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_EnvironmentProperties_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_EnvironmentProperties_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_EnvironmentProperties_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_ServiceExecutionRole_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_ServiceExecutionRole_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Add
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Add
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Add
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Add
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Delete
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Delete
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Multiple_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Multiple_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Output_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Output_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Add
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Add
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Delete
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Delete
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_Tags
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_Tags
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Add
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Add
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Delete
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Delete
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Update
=== CONT  TestAccAWSKinesisAnalyticsV2Application_basicFlinkApplication
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Add
--- PASS: TestAccAWSKinesisAnalyticsV2Application_basicFlinkApplication (38.06s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_EnvironmentProperties_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Add (102.91s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_EnvironmentProperties_Update (97.70s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Add
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Update (107.54s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_ServiceExecutionRole_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Add (107.83s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_EnvironmentProperties_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_ServiceExecutionRole_Update (49.06s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_EnvironmentProperties_Update (128.09s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_Update (124.83s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Update (96.34s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Delete
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Update (92.25s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Add
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Add (119.13s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_Tags
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Delete (130.65s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Add
--- PASS: TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Add (46.28s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_Tags (57.29s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Delete
--- PASS: TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Update (48.85s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Output_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Delete (48.77s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Delete
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Delete (102.39s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Add
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Output_Update (122.66s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Add (97.69s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Multiple_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Update (95.33s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_disappears
    resource_aws_kinesisanalyticsv2_application_test.go:184: [INFO] Got non-empty plan, as expected
--- PASS: TestAccAWSKinesisAnalyticsV2Application_disappears (42.83s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_ApplicationCodeConfiguration_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Multiple_Update (100.24s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Delete
--- PASS: TestAccAWSKinesisAnalyticsV2Application_ApplicationCodeConfiguration_Update (49.91s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_basicSQLApplication
--- PASS: TestAccAWSKinesisAnalyticsV2Application_basicSQLApplication (34.71s)
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Delete (90.02s)
PASS
ok  	github.com/terraform-providers/terraform-provider-aws/aws	1093.955s

Verified Acceptance Tests in GovCloud (us-gov-west-1)

make testacc TEST=./aws TESTARGS='-run=TestAccAWSKinesisAnalyticsV2Application_' ACCTEST_PARALLELISM=2
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws -v -count 1 -parallel 2 -run=TestAccAWSKinesisAnalyticsV2Application_ -timeout 120m
=== RUN   TestAccAWSKinesisAnalyticsV2Application_basicFlinkApplication
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_basicFlinkApplication
=== RUN   TestAccAWSKinesisAnalyticsV2Application_basicSQLApplication
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_basicSQLApplication
=== RUN   TestAccAWSKinesisAnalyticsV2Application_disappears
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_disappears
=== RUN   TestAccAWSKinesisAnalyticsV2Application_ApplicationCodeConfiguration_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_ApplicationCodeConfiguration_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Add
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Add
=== RUN   TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Delete
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Delete
=== RUN   TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_EnvironmentProperties_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_EnvironmentProperties_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_EnvironmentProperties_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_EnvironmentProperties_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_ServiceExecutionRole_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_ServiceExecutionRole_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Add
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Add
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Add
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Add
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Delete
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Delete
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Multiple_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Multiple_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Output_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Output_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Add
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Add
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Delete
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Delete
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Update
=== RUN   TestAccAWSKinesisAnalyticsV2Application_Tags
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_Tags
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Add
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Add
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Delete
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Delete
=== RUN   TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Update
=== PAUSE TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Update
=== CONT  TestAccAWSKinesisAnalyticsV2Application_basicFlinkApplication
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Delete
--- PASS: TestAccAWSKinesisAnalyticsV2Application_basicFlinkApplication (21.88s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Delete (80.50s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Delete
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Update (78.19s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Delete (74.46s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_ServiceExecutionRole_Update
2020/10/21 11:48:14 [INFO] AWS Auth provider used: "SharedCredentialsProvider"
2020/10/21 11:48:14 [DEBUG] Deleting Kinesis Analytics v2 Application (arn:aws-us-gov:kinesisanalytics:us-gov-west-1:357342307427:application/tf-acc-test-2660727673399104844)
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Update (70.60s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Add
--- PASS: TestAccAWSKinesisAnalyticsV2Application_ServiceExecutionRole_Update (30.06s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Output_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_ReferenceDataSource_Add (78.29s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Multiple_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Output_Update (87.15s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Multiple_Update (71.59s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Delete
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Update (74.13s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Add
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Delete (83.28s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_Tags
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_InputProcessingConfiguration_Add (83.35s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Add
--- PASS: TestAccAWSKinesisAnalyticsV2Application_Tags (38.91s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Update
=== CONT  TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Add
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_VPCConfiguration_Add (76.03s)
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Update (71.87s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_SQLApplicationConfiguration_Input_Add (77.94s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_EnvironmentProperties_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_Update (74.36s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Delete
--- PASS: TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Delete (33.00s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_EnvironmentProperties_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_FlinkApplicationConfiguration_EnvironmentProperties_Update (91.77s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Update (32.10s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_ApplicationCodeConfiguration_Update
--- PASS: TestAccAWSKinesisAnalyticsV2Application_EnvironmentProperties_Update (98.86s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_disappears
--- PASS: TestAccAWSKinesisAnalyticsV2Application_ApplicationCodeConfiguration_Update (32.47s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Add
=== CONT  TestAccAWSKinesisAnalyticsV2Application_disappears
    resource_aws_kinesisanalyticsv2_application_test.go:184: [INFO] Got non-empty plan, as expected
--- PASS: TestAccAWSKinesisAnalyticsV2Application_disappears (23.00s)
=== CONT  TestAccAWSKinesisAnalyticsV2Application_basicSQLApplication
--- PASS: TestAccAWSKinesisAnalyticsV2Application_basicSQLApplication (27.67s)
--- PASS: TestAccAWSKinesisAnalyticsV2Application_CloudWatchLoggingOptions_Add (32.94s)
PASS
ok  	github.com/terraform-providers/terraform-provider-aws/aws	774.758s

@breathingdust breathingdust added this to the v3.12.0 milestone Oct 21, 2020
@breathingdust breathingdust merged commit db46e45 into hashicorp:master Oct 21, 2020
breathingdust added a commit that referenced this pull request Oct 21, 2020
@mickmorseMB
Copy link

@breathingdust Hey - how long does it normally take for a new provider tag to come out?

Mick

@ghost
Copy link

ghost commented Oct 22, 2020

This has been released in version 3.12.0 of the Terraform AWS provider. Please see the Terraform documentation on provider versioning or reach out if you need any assistance upgrading.

For further feature requests or bug reports with this functionality, please create a new GitHub issue following the template for triage. Thanks!

@ghost
Copy link

ghost commented Nov 21, 2020

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.

If you feel this issue should be reopened, we encourage creating a new issue linking back to this one for added context. Thanks!

@hashicorp hashicorp locked as resolved and limited conversation to collaborators Nov 21, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
documentation Introduces or discusses updates to documentation. provider Pertains to the provider itself, rather than any interaction with AWS. service/kinesisanalytics Issues and PRs that pertain to the kinesisanalytics service. service/kinesisanalyticsv2 Issues and PRs that pertain to the kinesisanalyticsv2 service. size/XXL Managed by automation to categorize the size of a PR. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure.
Projects
None yet