Skip to content

Commit d0746da

Browse files
authored
Go-VCR: support logs (#43332)
```console % VCR_MODE=RECORD_ONLY VCR_PATH=/Users/jaredbaker/development/_vcr-testdata/ make testacc PKG=logs TESTS="TestAccLogsAccountPolicy_|TestAccLogsAnomalyDetector_|TestAccLogsDataProtectionPolicy_|TestAccLogsDestination_|TestAccLogsGroup|TestAccLogsIndexPolicy|TestAccLogsMetricFilter|TestAccLogsQueryDefinition|TestAccLogsResourcePolicy|TestAccLogsStream|TestAccLogsSubscriptionFilter" make: Verifying source code with gofmt... ==> Checking that code complies with gofmt requirements... TF_ACC=1 go1.24.4 test ./internal/service/logs/... -v -count 1 -parallel 20 -run='TestAccLogsAccountPolicy_|TestAccLogsAnomalyDetector_|TestAccLogsDataProtectionPolicy_|TestAccLogsDestination_|TestAccLogsGroup|TestAccLogsIndexPolicy|TestAccLogsMetricFilter|TestAccLogsQueryDefinition|TestAccLogsResourcePolicy|TestAccLogsStream|TestAccLogsSubscriptionFilter' -timeout 360m -vet=off 2025/07/10 09:20:03 Creating Terraform AWS Provider (SDKv2-style)... 2025/07/10 09:20:03 Initializing Terraform AWS Provider (SDKv2-style)... --- PASS: TestAccLogsMetricFilter_Disappears_logGroup (21.99s) === CONT TestAccLogsDestination_tags_DefaultTags_providerOnly === NAME TestAccLogsQueryDefinition_basic query_definition_test.go:35: stopping VCR recorder query_definition_test.go:35: persisting randomness seed --- PASS: TestAccLogsQueryDefinition_basic (22.43s) === CONT TestAccLogsMetricFilter_disappears === NAME TestAccLogsAnomalyDetector_basic anomaly_detector_test.go:26: stopping VCR recorder anomaly_detector_test.go:26: persisting randomness seed --- PASS: TestAccLogsAnomalyDetector_basic (24.24s) === CONT TestAccLogsAnomalyDetector_tags_DefaultTags_overlapping === NAME TestAccLogsResourcePolicy_ignoreEquivalent resource_policy_test.go:63: stopping VCR recorder resource_policy_test.go:63: persisting randomness seed --- PASS: TestAccLogsResourcePolicy_ignoreEquivalent (28.67s) === CONT TestAccLogsAnomalyDetector_tags_IgnoreTags_Overlap_ResourceTag === NAME TestAccLogsIndexPolicy_update index_policy_test.go:85: stopping VCR recorder index_policy_test.go:85: persisting randomness seed --- PASS: TestAccLogsIndexPolicy_update (29.84s) === CONT TestAccLogsAnomalyDetector_tags_IgnoreTags_Overlap_DefaultTag === NAME TestAccLogsMetricFilter_many metric_filter_test.go:113: stopping VCR recorder metric_filter_test.go:113: persisting randomness seed --- PASS: TestAccLogsMetricFilter_many (30.03s) === CONT TestAccLogsAnomalyDetector_tags_ComputedTag_OnUpdate_Replace === NAME TestAccLogsMetricFilter_update metric_filter_test.go:134: stopping VCR recorder metric_filter_test.go:134: persisting randomness seed --- PASS: TestAccLogsMetricFilter_update (31.23s) === CONT TestAccLogsAnomalyDetector_tags_ComputedTag_OnUpdate_Add === NAME TestAccLogsAccountPolicy_basicSubscriptionFilter account_policy_test.go:26: stopping VCR recorder account_policy_test.go:26: persisting randomness seed --- PASS: TestAccLogsAccountPolicy_basicSubscriptionFilter (35.31s) === CONT TestAccLogsAnomalyDetector_tags_ComputedTag_OnCreate === NAME TestAccLogsMetricFilter_disappears metric_filter_test.go:65: stopping VCR recorder metric_filter_test.go:65: persisting randomness seed --- PASS: TestAccLogsMetricFilter_disappears (14.12s) === CONT TestAccLogsAnomalyDetector_tags_DefaultTags_nullNonOverlappingResourceTag anomaly_detector_tags_gen_test.go:1736: persisting randomness seed --- PASS: TestAccLogsAnomalyDetector_tags_DefaultTags_nullNonOverlappingResourceTag (34.37s) === CONT TestAccLogsAnomalyDetector_tags_DefaultTags_nullOverlappingResourceTag === NAME TestAccLogsAnomalyDetector_tags_ComputedTag_OnCreate anomaly_detector_tags_gen_test.go:1810: persisting randomness seed --- PASS: TestAccLogsAnomalyDetector_tags_ComputedTag_OnCreate (38.93s) === CONT TestAccLogsAnomalyDetector_tags_DefaultTags_emptyProviderOnlyTag === NAME TestAccLogsDestination_tags_DefaultTags_nullOverlappingResourceTag destination_tags_gen_test.go:1551: persisting randomness seed --- PASS: TestAccLogsDestination_tags_DefaultTags_nullOverlappingResourceTag (83.85s) === CONT TestAccLogsAnomalyDetector_tags_DefaultTags_emptyResourceTag === NAME TestAccLogsDestination_tags_DefaultTags_nullNonOverlappingResourceTag destination_tags_gen_test.go:1613: persisting randomness seed --- PASS: TestAccLogsDestination_tags_DefaultTags_nullNonOverlappingResourceTag (89.25s) === CONT TestAccLogsAnomalyDetector_tags_DefaultTags_updateToResourceOnly === NAME TestAccLogsAnomalyDetector_tags_ComputedTag_OnUpdate_Replace anomaly_detector_tags_gen_test.go:1972: persisting randomness seed --- PASS: TestAccLogsAnomalyDetector_tags_ComputedTag_OnUpdate_Replace (59.44s) === CONT TestAccLogsAnomalyDetector_tags_DefaultTags_updateToProviderOnly === NAME TestAccLogsDestination_tags_DefaultTags_emptyResourceTag destination_tags_gen_test.go:1429: persisting randomness seed --- PASS: TestAccLogsDestination_tags_DefaultTags_emptyResourceTag (89.92s) === CONT TestAccLogsGroup_kmsKey === NAME TestAccLogsAnomalyDetector_tags_ComputedTag_OnUpdate_Add anomaly_detector_tags_gen_test.go:1870: persisting randomness seed --- PASS: TestAccLogsAnomalyDetector_tags_ComputedTag_OnUpdate_Add (59.78s) === CONT TestAccLogsIndexPolicy_disappears === NAME TestAccLogsDestination_tags_ComputedTag_OnCreate destination_tags_gen_test.go:1675: persisting randomness seed --- PASS: TestAccLogsDestination_tags_ComputedTag_OnCreate (94.06s) === CONT TestAccLogsIndexPolicy_basic === NAME TestAccLogsDestination_tags_DefaultTags_emptyProviderOnlyTag destination_tags_gen_test.go:1494: persisting randomness seed --- PASS: TestAccLogsDestination_tags_DefaultTags_emptyProviderOnlyTag (94.29s) === CONT TestAccLogsGroupsDataSource_noPrefix === NAME TestAccLogsAnomalyDetector_tags_IgnoreTags_Overlap_DefaultTag anomaly_detector_tags_gen_test.go:2064: persisting randomness seed --- PASS: TestAccLogsAnomalyDetector_tags_IgnoreTags_Overlap_DefaultTag (73.33s) === CONT TestAccLogsQueryDefinition_logGroups === NAME TestAccLogsAnomalyDetector_tags_IgnoreTags_Overlap_ResourceTag anomaly_detector_tags_gen_test.go:2226: persisting randomness seed --- PASS: TestAccLogsAnomalyDetector_tags_IgnoreTags_Overlap_ResourceTag (80.79s) === CONT TestAccLogsResourcePolicy_basic === NAME TestAccLogsDestination_tags_EmptyTag_OnUpdate_Replace destination_tags_gen_test.go:644: stopping VCR recorder destination_tags_gen_test.go:644: persisting randomness seed --- PASS: TestAccLogsDestination_tags_EmptyTag_OnUpdate_Replace (111.39s) === CONT TestAccLogsGroupsDataSource_basic === NAME TestAccLogsAnomalyDetector_tags_DefaultTags_nullOverlappingResourceTag anomaly_detector_tags_gen_test.go:1664: persisting randomness seed --- PASS: TestAccLogsAnomalyDetector_tags_DefaultTags_nullOverlappingResourceTag (43.70s) === CONT TestAccLogsQueryDefinition_logGroupARNs === NAME TestAccLogsDestination_tags_DefaultTags_updateToProviderOnly destination_tags_gen_test.go:1250: persisting randomness seed --- PASS: TestAccLogsDestination_tags_DefaultTags_updateToProviderOnly (116.22s) === CONT TestAccLogsGroup_logGroupClassDELIVERY2 === NAME TestAccLogsAnomalyDetector_tags_DefaultTags_emptyProviderOnlyTag anomaly_detector_tags_gen_test.go:1601: persisting randomness seed --- PASS: TestAccLogsAnomalyDetector_tags_DefaultTags_emptyProviderOnlyTag (42.60s) === CONT TestAccLogsAnomalyDetector_tags_AddOnUpdate === NAME TestAccLogsAnomalyDetector_tags_DefaultTags_overlapping anomaly_detector_tags_gen_test.go:1150: persisting randomness seed --- PASS: TestAccLogsAnomalyDetector_tags_DefaultTags_overlapping (94.84s) === CONT TestAccLogsGroup_logGroupClassDELIVERY1 === NAME TestAccLogsIndexPolicy_disappears index_policy_test.go:57: stopping VCR recorder index_policy_test.go:57: persisting randomness seed --- PASS: TestAccLogsIndexPolicy_disappears (28.93s) === CONT TestAccLogsAnomalyDetector_tags_DefaultTags_nonOverlapping === NAME TestAccLogsDestination_tags_ComputedTag_OnUpdate_Add destination_tags_gen_test.go:1730: persisting randomness seed --- PASS: TestAccLogsDestination_tags_ComputedTag_OnUpdate_Add (122.54s) === CONT TestAccLogsGroup_skipDestroyInconsistentPlan === NAME TestAccLogsGroupsDataSource_noPrefix groups_data_source_test.go:49: stopping VCR recorder groups_data_source_test.go:49: persisting randomness seed --- PASS: TestAccLogsGroupsDataSource_noPrefix (28.52s) === CONT TestAccLogsAnomalyDetector_tags_DefaultTags_providerOnly === NAME TestAccLogsAnomalyDetector_tags_DefaultTags_emptyResourceTag anomaly_detector_tags_gen_test.go:1530: persisting randomness seed --- PASS: TestAccLogsAnomalyDetector_tags_DefaultTags_emptyResourceTag (43.04s) === CONT TestAccLogsAnomalyDetector_tags_EmptyTag_OnUpdate_Replace === NAME TestAccLogsDestination_tags_ComputedTag_OnUpdate_Replace destination_tags_gen_test.go:1827: persisting randomness seed --- PASS: TestAccLogsDestination_tags_ComputedTag_OnUpdate_Replace (127.54s) === CONT TestAccLogsGroup_skipDestroy === NAME TestAccLogsDestination_tags_DefaultTags_updateToResourceOnly destination_tags_gen_test.go:1340: persisting randomness seed --- PASS: TestAccLogsDestination_tags_DefaultTags_updateToResourceOnly (128.79s) === CONT TestAccLogsAnomalyDetector_tags_EmptyTag_OnUpdate_Add === NAME TestAccLogsIndexPolicy_basic index_policy_test.go:25: stopping VCR recorder index_policy_test.go:25: persisting randomness seed --- PASS: TestAccLogsIndexPolicy_basic (36.13s) === CONT TestAccLogsGroup_multiple === NAME TestAccLogsGroupsDataSource_basic groups_data_source_test.go:22: stopping VCR recorder groups_data_source_test.go:22: persisting randomness seed --- PASS: TestAccLogsGroupsDataSource_basic (26.68s) === CONT TestAccLogsAnomalyDetector_tags_EmptyTag_OnCreate === NAME TestAccLogsGroup_logGroupClassDELIVERY2 group_test.go:384: stopping VCR recorder group_test.go:384: persisting randomness seed --- PASS: TestAccLogsGroup_logGroupClassDELIVERY2 (28.03s) === CONT TestAccLogsGroup_retentionPolicy === NAME TestAccLogsQueryDefinition_logGroupARNs query_definition_test.go:169: stopping VCR recorder query_definition_test.go:169: persisting randomness seed --- PASS: TestAccLogsQueryDefinition_logGroupARNs (37.59s) === CONT TestAccLogsQueryDefinition_rename === NAME TestAccLogsGroup_skipDestroy group_test.go:288: stopping VCR recorder group_test.go:288: persisting randomness seed --- PASS: TestAccLogsGroup_skipDestroy (29.55s) === CONT TestAccLogsGroup_logGroupClass === NAME TestAccLogsGroup_multiple group_test.go:264: stopping VCR recorder group_test.go:264: persisting randomness seed --- PASS: TestAccLogsGroup_multiple (33.63s) === CONT TestAccLogsMetricFilter_basic === NAME TestAccLogsAnomalyDetector_tags_DefaultTags_updateToProviderOnly anomaly_detector_tags_gen_test.go:1341: persisting randomness seed --- PASS: TestAccLogsAnomalyDetector_tags_DefaultTags_updateToProviderOnly (75.87s) === CONT TestAccLogsSubscriptionFilter_disappears === NAME TestAccLogsDestination_tags_DefaultTags_overlapping destination_tags_gen_test.go:1074: persisting randomness seed --- PASS: TestAccLogsDestination_tags_DefaultTags_overlapping (166.86s) === CONT TestAccLogsStream_Disappears_logGroup === NAME TestAccLogsQueryDefinition_logGroups query_definition_test.go:128: stopping VCR recorder query_definition_test.go:128: persisting randomness seed --- PASS: TestAccLogsQueryDefinition_logGroups (63.85s) === CONT TestAccLogsSubscriptionFilter_roleARN === NAME TestAccLogsAnomalyDetector_tags_DefaultTags_updateToResourceOnly anomaly_detector_tags_gen_test.go:1436: persisting randomness seed --- PASS: TestAccLogsAnomalyDetector_tags_DefaultTags_updateToResourceOnly (78.75s) === CONT TestAccLogsSubscriptionFilter_many === NAME TestAccLogsResourcePolicy_basic resource_policy_test.go:26: stopping VCR recorder resource_policy_test.go:26: persisting randomness seed --- PASS: TestAccLogsResourcePolicy_basic (58.79s) === CONT TestAccLogsSubscriptionFilter_basic === NAME TestAccLogsGroup_skipDestroyInconsistentPlan group_test.go:311: stopping VCR recorder group_test.go:311: persisting randomness seed --- PASS: TestAccLogsGroup_skipDestroyInconsistentPlan (53.95s) === CONT TestAccLogsSubscriptionFilter_distribution === NAME TestAccLogsGroup_logGroupClass group_test.go:193: stopping VCR recorder group_test.go:193: persisting randomness seed --- PASS: TestAccLogsGroup_logGroupClass (27.91s) === CONT TestAccLogsSubscriptionFilter_DestinationARN_kinesisStream === NAME TestAccLogsDestination_tags_DefaultTags_nonOverlapping destination_tags_gen_test.go:914: persisting randomness seed --- PASS: TestAccLogsDestination_tags_DefaultTags_nonOverlapping (187.62s) === CONT TestAccLogsAnomalyDetector_tags === NAME TestAccLogsGroup_logGroupClassDELIVERY1 group_test.go:343: stopping VCR recorder group_test.go:343: persisting randomness seed --- PASS: TestAccLogsGroup_logGroupClassDELIVERY1 (69.37s) === CONT TestAccLogsAnomalyDetector_tags_EmptyMap === NAME TestAccLogsAnomalyDetector_tags_AddOnUpdate anomaly_detector_tags_gen_test.go:345: stopping VCR recorder anomaly_detector_tags_gen_test.go:345: persisting randomness seed --- PASS: TestAccLogsAnomalyDetector_tags_AddOnUpdate (73.72s) === CONT TestAccLogsSubscriptionFilter_DestinationARN_kinesisDataFirehose === NAME TestAccLogsStream_Disappears_logGroup stream_test.go:79: stopping VCR recorder stream_test.go:79: persisting randomness seed --- PASS: TestAccLogsStream_Disappears_logGroup (29.57s) === CONT TestAccLogsAnomalyDetector_tags_null === NAME TestAccLogsMetricFilter_basic metric_filter_test.go:27: stopping VCR recorder metric_filter_test.go:27: persisting randomness seed --- PASS: TestAccLogsMetricFilter_basic (35.42s) === CONT TestAccLogsSubscriptionFilter_Disappears_logGroup === NAME TestAccLogsAnomalyDetector_tags_EmptyTag_OnUpdate_Replace anomaly_detector_tags_gen_test.go:679: stopping VCR recorder anomaly_detector_tags_gen_test.go:679: persisting randomness seed --- PASS: TestAccLogsAnomalyDetector_tags_EmptyTag_OnUpdate_Replace (72.49s) === CONT TestAccLogsGroupDataSource_basic === NAME TestAccLogsQueryDefinition_rename query_definition_test.go:92: stopping VCR recorder query_definition_test.go:92: persisting randomness seed --- PASS: TestAccLogsQueryDefinition_rename (51.36s) === CONT TestAccLogsGroup_nameGenerate === NAME TestAccLogsGroup_kmsKey group_test.go:151: stopping VCR recorder group_test.go:151: persisting randomness seed --- PASS: TestAccLogsGroup_kmsKey (115.36s) === CONT TestAccLogsGroup_basic === NAME TestAccLogsSubscriptionFilter_disappears subscription_filter_test.go:81: stopping VCR recorder subscription_filter_test.go:81: persisting randomness seed --- PASS: TestAccLogsSubscriptionFilter_disappears (43.86s) === CONT TestAccLogsGroup_disappears === NAME TestAccLogsAnomalyDetector_tags_EmptyTag_OnCreate anomaly_detector_tags_gen_test.go:430: stopping VCR recorder anomaly_detector_tags_gen_test.go:430: persisting randomness seed --- PASS: TestAccLogsAnomalyDetector_tags_EmptyTag_OnCreate (73.27s) === CONT TestAccLogsGroupDataSource_retentionPolicy === NAME TestAccLogsDestination_tags_DefaultTags_providerOnly destination_tags_gen_test.go:733: persisting randomness seed --- PASS: TestAccLogsDestination_tags_DefaultTags_providerOnly (195.93s) === CONT TestAccLogsGroup_namePrefix === NAME TestAccLogsGroup_retentionPolicy group_test.go:220: stopping VCR recorder group_test.go:220: persisting randomness seed --- PASS: TestAccLogsGroup_retentionPolicy (75.46s) === CONT TestAccLogsAccountPolicy_disappears === NAME TestAccLogsSubscriptionFilter_many subscription_filter_test.go:61: stopping VCR recorder subscription_filter_test.go:61: persisting randomness seed --- PASS: TestAccLogsSubscriptionFilter_many (54.66s) === CONT TestAccLogsAccountPolicy_basicDataProtection === NAME TestAccLogsGroupDataSource_basic group_data_source_test.go:21: stopping VCR recorder group_data_source_test.go:21: persisting randomness seed --- PASS: TestAccLogsGroupDataSource_basic (24.30s) === CONT TestAccLogsAccountPolicy_selectionCriteria === NAME TestAccLogsAnomalyDetector_tags_EmptyTag_OnUpdate_Add anomaly_detector_tags_gen_test.go:530: stopping VCR recorder anomaly_detector_tags_gen_test.go:530: persisting randomness seed --- PASS: TestAccLogsAnomalyDetector_tags_EmptyTag_OnUpdate_Add (95.48s) === CONT TestAccLogsQueryDefinition_disappears === NAME TestAccLogsAnomalyDetector_tags_EmptyMap anomaly_detector_tags_gen_test.go:292: stopping VCR recorder anomaly_detector_tags_gen_test.go:292: persisting randomness seed --- PASS: TestAccLogsAnomalyDetector_tags_EmptyMap (36.68s) === CONT TestAccLogsStream_disappears === NAME TestAccLogsAnomalyDetector_tags_null anomaly_detector_tags_gen_test.go:227: stopping VCR recorder anomaly_detector_tags_gen_test.go:227: persisting randomness seed --- PASS: TestAccLogsAnomalyDetector_tags_null (36.87s) === CONT TestAccLogsDestination_basic === NAME TestAccLogsSubscriptionFilter_basic subscription_filter_test.go:28: stopping VCR recorder subscription_filter_test.go:28: persisting randomness seed --- PASS: TestAccLogsSubscriptionFilter_basic (69.95s) === CONT TestAccLogsDestination_tags_IgnoreTags_Overlap_ResourceTag === NAME TestAccLogsGroup_nameGenerate group_test.go:68: stopping VCR recorder --- PASS: TestAccLogsGroup_nameGenerate (34.75s) === CONT TestAccLogsDestination_update === NAME TestAccLogsGroup_basic group_test.go:34: stopping VCR recorder group_test.go:34: persisting randomness seed --- PASS: TestAccLogsGroup_basic (33.33s) === CONT TestAccLogsDestination_tags_IgnoreTags_Overlap_DefaultTag === NAME TestAccLogsGroupDataSource_retentionPolicy group_data_source_test.go:48: stopping VCR recorder group_data_source_test.go:48: persisting randomness seed --- PASS: TestAccLogsGroupDataSource_retentionPolicy (27.38s) === CONT TestAccLogsDestination_disappears === NAME TestAccLogsGroup_disappears group_test.go:125: stopping VCR recorder group_test.go:125: persisting randomness seed --- PASS: TestAccLogsGroup_disappears (29.83s) === CONT TestAccLogsStream_basic === NAME TestAccLogsAnomalyDetector_tags_DefaultTags_nonOverlapping anomaly_detector_tags_gen_test.go:975: persisting randomness seed --- PASS: TestAccLogsAnomalyDetector_tags_DefaultTags_nonOverlapping (120.05s) === CONT TestAccLogsDestination_tags === NAME TestAccLogsSubscriptionFilter_Disappears_logGroup subscription_filter_test.go:106: stopping VCR recorder subscription_filter_test.go:106: persisting randomness seed --- PASS: TestAccLogsSubscriptionFilter_Disappears_logGroup (45.93s) === CONT TestAccLogsDestination_tags_AddOnUpdate === NAME TestAccLogsAccountPolicy_disappears account_policy_test.go:116: stopping VCR recorder account_policy_test.go:116: persisting randomness seed --- PASS: TestAccLogsAccountPolicy_disappears (29.76s) === CONT TestAccLogsDestination_tags_EmptyMap === NAME TestAccLogsGroup_namePrefix group_test.go:96: stopping VCR recorder --- PASS: TestAccLogsGroup_namePrefix (35.96s) === CONT TestAccLogsDestination_tags_EmptyTag_OnUpdate_Add === NAME TestAccLogsQueryDefinition_disappears query_definition_test.go:67: stopping VCR recorder query_definition_test.go:67: persisting randomness seed --- PASS: TestAccLogsQueryDefinition_disappears (30.50s) === CONT TestAccLogsDestination_tags_null === NAME TestAccLogsStream_disappears stream_test.go:54: stopping VCR recorder stream_test.go:54: persisting randomness seed --- PASS: TestAccLogsStream_disappears (31.80s) === CONT TestAccLogsDestination_tags_EmptyTag_OnCreate === NAME TestAccLogsAccountPolicy_basicDataProtection account_policy_test.go:56: stopping VCR recorder account_policy_test.go:56: persisting randomness seed --- PASS: TestAccLogsAccountPolicy_basicDataProtection (34.86s) === CONT TestAccLogsDataProtectionPolicy_basic === NAME TestAccLogsSubscriptionFilter_distribution subscription_filter_test.go:190: stopping VCR recorder subscription_filter_test.go:190: persisting randomness seed --- PASS: TestAccLogsSubscriptionFilter_distribution (83.39s) === CONT TestAccLogsDataProtectionPolicy_policyDocument === NAME TestAccLogsSubscriptionFilter_DestinationARN_kinesisStream subscription_filter_test.go:161: stopping VCR recorder subscription_filter_test.go:161: persisting randomness seed --- PASS: TestAccLogsSubscriptionFilter_DestinationARN_kinesisStream (77.13s) === CONT TestAccLogsAnomalyDetector_disappears === NAME TestAccLogsStream_basic stream_test.go:26: stopping VCR recorder stream_test.go:26: persisting randomness seed --- PASS: TestAccLogsStream_basic (26.62s) === CONT TestAccLogsAnomalyDetector_update === NAME TestAccLogsAccountPolicy_selectionCriteria account_policy_test.go:141: stopping VCR recorder account_policy_test.go:141: persisting randomness seed --- PASS: TestAccLogsAccountPolicy_selectionCriteria (41.99s) === CONT TestAccLogsDataProtectionPolicy_disappears === NAME TestAccLogsAnomalyDetector_tags_DefaultTags_providerOnly anomaly_detector_tags_gen_test.go:774: persisting randomness seed --- PASS: TestAccLogsAnomalyDetector_tags_DefaultTags_providerOnly (145.41s) === NAME TestAccLogsSubscriptionFilter_roleARN subscription_filter_test.go:229: stopping VCR recorder subscription_filter_test.go:229: persisting randomness seed --- PASS: TestAccLogsSubscriptionFilter_roleARN (104.05s) === NAME TestAccLogsAnomalyDetector_disappears anomaly_detector_test.go:119: stopping VCR recorder anomaly_detector_test.go:119: persisting randomness seed --- PASS: TestAccLogsAnomalyDetector_disappears (14.76s) === NAME TestAccLogsSubscriptionFilter_DestinationARN_kinesisDataFirehose subscription_filter_test.go:131: stopping VCR recorder subscription_filter_test.go:131: persisting randomness seed --- PASS: TestAccLogsSubscriptionFilter_DestinationARN_kinesisDataFirehose (87.55s) === NAME TestAccLogsDataProtectionPolicy_basic data_protection_policy_test.go:26: stopping VCR recorder data_protection_policy_test.go:26: persisting randomness seed --- PASS: TestAccLogsDataProtectionPolicy_basic (21.74s) === NAME TestAccLogsDataProtectionPolicy_disappears data_protection_policy_test.go:89: stopping VCR recorder data_protection_policy_test.go:89: persisting randomness seed --- PASS: TestAccLogsDataProtectionPolicy_disappears (18.54s) === NAME TestAccLogsAnomalyDetector_tags anomaly_detector_tags_gen_test.go:25: stopping VCR recorder anomaly_detector_tags_gen_test.go:25: persisting randomness seed --- PASS: TestAccLogsAnomalyDetector_tags (101.24s) === NAME TestAccLogsAnomalyDetector_update anomaly_detector_test.go:62: stopping VCR recorder anomaly_detector_test.go:62: persisting randomness seed --- PASS: TestAccLogsAnomalyDetector_update (30.83s) === NAME TestAccLogsDestination_basic destination_test.go:29: stopping VCR recorder destination_test.go:29: persisting randomness seed --- PASS: TestAccLogsDestination_basic (63.35s) === NAME TestAccLogsDataProtectionPolicy_policyDocument data_protection_policy_test.go:113: stopping VCR recorder data_protection_policy_test.go:113: persisting randomness seed --- PASS: TestAccLogsDataProtectionPolicy_policyDocument (37.16s) === NAME TestAccLogsDestination_disappears destination_test.go:60: stopping VCR recorder destination_test.go:60: persisting randomness seed --- PASS: TestAccLogsDestination_disappears (62.95s) === NAME TestAccLogsDestination_tags_EmptyMap destination_tags_gen_test.go:274: stopping VCR recorder destination_tags_gen_test.go:274: persisting randomness seed --- PASS: TestAccLogsDestination_tags_EmptyMap (75.28s) === NAME TestAccLogsDestination_tags_AddOnUpdate destination_tags_gen_test.go:337: stopping VCR recorder destination_tags_gen_test.go:337: persisting randomness seed --- PASS: TestAccLogsDestination_tags_AddOnUpdate (79.81s) === NAME TestAccLogsDestination_tags_null destination_tags_gen_test.go:207: stopping VCR recorder destination_tags_gen_test.go:207: persisting randomness seed --- PASS: TestAccLogsDestination_tags_null (75.57s) === NAME TestAccLogsDestination_tags_EmptyTag_OnCreate destination_tags_gen_test.go:418: stopping VCR recorder destination_tags_gen_test.go:418: persisting randomness seed --- PASS: TestAccLogsDestination_tags_EmptyTag_OnCreate (79.47s) === NAME TestAccLogsDestination_tags_IgnoreTags_Overlap_DefaultTag destination_tags_gen_test.go:1914: persisting randomness seed --- PASS: TestAccLogsDestination_tags_IgnoreTags_Overlap_DefaultTag (99.31s) === NAME TestAccLogsDestination_tags_IgnoreTags_Overlap_ResourceTag destination_tags_gen_test.go:2076: persisting randomness seed --- PASS: TestAccLogsDestination_tags_IgnoreTags_Overlap_ResourceTag (105.56s) === NAME TestAccLogsDestination_update destination_test.go:88: stopping VCR recorder destination_test.go:88: persisting randomness seed --- PASS: TestAccLogsDestination_update (107.34s) === NAME TestAccLogsDestination_tags_EmptyTag_OnUpdate_Add destination_tags_gen_test.go:507: stopping VCR recorder destination_tags_gen_test.go:507: persisting randomness seed --- PASS: TestAccLogsDestination_tags_EmptyTag_OnUpdate_Add (92.31s) === NAME TestAccLogsDestination_tags destination_tags_gen_test.go:25: stopping VCR recorder destination_tags_gen_test.go:25: persisting randomness seed --- PASS: TestAccLogsDestination_tags (111.17s) PASS ok github.com/hashicorp/terraform-provider-aws/internal/service/logs 356.996s ```
1 parent d0eb68e commit d0746da

37 files changed

+668
-703
lines changed

internal/service/logs/account_policy.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ import (
1313
"github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs"
1414
awstypes "github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs/types"
1515
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
16-
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry"
1716
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1817
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/structure"
1918
"github.com/hashicorp/terraform-provider-aws/internal/conns"
2019
"github.com/hashicorp/terraform-provider-aws/internal/enum"
2120
"github.com/hashicorp/terraform-provider-aws/internal/errs"
2221
"github.com/hashicorp/terraform-provider-aws/internal/errs/sdkdiag"
22+
"github.com/hashicorp/terraform-provider-aws/internal/retry"
2323
"github.com/hashicorp/terraform-provider-aws/internal/sdkv2"
2424
"github.com/hashicorp/terraform-provider-aws/internal/tfresource"
2525
"github.com/hashicorp/terraform-provider-aws/internal/verify"
@@ -104,7 +104,7 @@ func resourceAccountPolicyRead(ctx context.Context, d *schema.ResourceData, meta
104104

105105
output, err := findAccountPolicyByTwoPartKey(ctx, conn, awstypes.PolicyType(d.Get("policy_type").(string)), d.Id())
106106

107-
if !d.IsNewResource() && tfresource.NotFound(err) {
107+
if !d.IsNewResource() && retry.NotFound(err) {
108108
log.Printf("[WARN] CloudWatch Logs Account Policy (%s) not found, removing from state", d.Id())
109109
d.SetId("")
110110
return diags
@@ -212,8 +212,7 @@ func findAccountPolicies(ctx context.Context, conn *cloudwatchlogs.Client, input
212212

213213
if errs.IsA[*awstypes.ResourceNotFoundException](err) {
214214
return nil, &retry.NotFoundError{
215-
LastError: err,
216-
LastRequest: input,
215+
LastError: err,
217216
}
218217
}
219218

internal/service/logs/account_policy_test.go

Lines changed: 54 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -9,32 +9,30 @@ import (
99
"testing"
1010

1111
"github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs/types"
12-
sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest"
1312
"github.com/hashicorp/terraform-plugin-testing/helper/resource"
1413
"github.com/hashicorp/terraform-plugin-testing/terraform"
1514
"github.com/hashicorp/terraform-provider-aws/internal/acctest"
16-
"github.com/hashicorp/terraform-provider-aws/internal/conns"
15+
"github.com/hashicorp/terraform-provider-aws/internal/retry"
1716
tflogs "github.com/hashicorp/terraform-provider-aws/internal/service/logs"
18-
"github.com/hashicorp/terraform-provider-aws/internal/tfresource"
1917
"github.com/hashicorp/terraform-provider-aws/names"
2018
)
2119

2220
func TestAccLogsAccountPolicy_basicSubscriptionFilter(t *testing.T) {
2321
ctx := acctest.Context(t)
24-
rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix)
22+
rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix)
2523
resourceName := "aws_cloudwatch_log_account_policy.test"
2624
var accountPolicy types.AccountPolicy
2725

28-
resource.ParallelTest(t, resource.TestCase{
26+
acctest.ParallelTest(ctx, t, resource.TestCase{
2927
PreCheck: func() { acctest.PreCheck(ctx, t) },
3028
ErrorCheck: acctest.ErrorCheck(t, names.LogsServiceID),
3129
ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories,
32-
CheckDestroy: testAccCheckAccountPolicyDestroy(ctx),
30+
CheckDestroy: testAccCheckAccountPolicyDestroy(ctx, t),
3331
Steps: []resource.TestStep{
3432
{
3533
Config: testAccAccountPolicyConfig_basicSubscriptionFilter(rName),
3634
Check: resource.ComposeTestCheckFunc(
37-
testAccCheckAccountPolicyExists(ctx, resourceName, &accountPolicy),
35+
testAccCheckAccountPolicyExists(ctx, t, resourceName, &accountPolicy),
3836
resource.TestCheckResourceAttr(resourceName, "policy_name", rName),
3937
testAccCheckAccountHasSubscriptionFilterPolicy(ctx, resourceName, rName),
4038
),
@@ -51,52 +49,52 @@ func TestAccLogsAccountPolicy_basicSubscriptionFilter(t *testing.T) {
5149

5250
func TestAccLogsAccountPolicy_basicDataProtection(t *testing.T) {
5351
ctx := acctest.Context(t)
54-
rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix)
52+
rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix)
5553
resourceName := "aws_cloudwatch_log_account_policy.test"
5654
var accountPolicy types.AccountPolicy
5755

58-
resource.ParallelTest(t, resource.TestCase{
56+
acctest.ParallelTest(ctx, t, resource.TestCase{
5957
PreCheck: func() { acctest.PreCheck(ctx, t) },
6058
ErrorCheck: acctest.ErrorCheck(t, names.LogsServiceID),
6159
ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories,
62-
CheckDestroy: testAccCheckAccountPolicyDestroy(ctx),
60+
CheckDestroy: testAccCheckAccountPolicyDestroy(ctx, t),
6361
Steps: []resource.TestStep{
6462
{
6563
Config: testAccAccountPolicyConfig_basicDataProtection(rName),
6664
Check: resource.ComposeTestCheckFunc(
67-
testAccCheckAccountPolicyExists(ctx, resourceName, &accountPolicy),
65+
testAccCheckAccountPolicyExists(ctx, t, resourceName, &accountPolicy),
6866
resource.TestCheckResourceAttr(resourceName, "policy_name", rName),
6967
resource.TestCheckResourceAttr(resourceName, "policy_type", "DATA_PROTECTION_POLICY"),
7068
acctest.CheckResourceAttrEquivalentJSON(resourceName, "policy_document", `
71-
{
72-
"Name": "Test",
73-
"Version": "2021-06-01",
74-
"Statement": [
75-
{
76-
"Sid": "Audit",
77-
"DataIdentifier": [
78-
"arn:aws:dataprotection::aws:data-identifier/EmailAddress"
79-
],
80-
"Operation": {
81-
"Audit": {
82-
"FindingsDestination": {}
83-
}
84-
}
85-
},
86-
{
87-
"Sid": "Redact",
88-
"DataIdentifier": [
89-
"arn:aws:dataprotection::aws:data-identifier/EmailAddress"
90-
],
91-
"Operation": {
92-
"Deidentify": {
93-
"MaskConfig": {}
94-
}
95-
}
96-
}
97-
]
98-
}
99-
`), //lintignore:AWSAT005
69+
{
70+
"Name": "Test",
71+
"Version": "2021-06-01",
72+
"Statement": [
73+
{
74+
"Sid": "Audit",
75+
"DataIdentifier": [
76+
"arn:aws:dataprotection::aws:data-identifier/EmailAddress"
77+
],
78+
"Operation": {
79+
"Audit": {
80+
"FindingsDestination": {}
81+
}
82+
}
83+
},
84+
{
85+
"Sid": "Redact",
86+
"DataIdentifier": [
87+
"arn:aws:dataprotection::aws:data-identifier/EmailAddress"
88+
],
89+
"Operation": {
90+
"Deidentify": {
91+
"MaskConfig": {}
92+
}
93+
}
94+
}
95+
]
96+
}
97+
`), //lintignore:AWSAT005
10098
),
10199
},
102100
{
@@ -111,20 +109,20 @@ func TestAccLogsAccountPolicy_basicDataProtection(t *testing.T) {
111109

112110
func TestAccLogsAccountPolicy_disappears(t *testing.T) {
113111
ctx := acctest.Context(t)
114-
rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix)
112+
rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix)
115113
resourceName := "aws_cloudwatch_log_account_policy.test"
116114
var accountPolicy types.AccountPolicy
117115

118-
resource.ParallelTest(t, resource.TestCase{
116+
acctest.ParallelTest(ctx, t, resource.TestCase{
119117
PreCheck: func() { acctest.PreCheck(ctx, t) },
120118
ErrorCheck: acctest.ErrorCheck(t, names.LogsServiceID),
121119
ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories,
122-
CheckDestroy: testAccCheckAccountPolicyDestroy(ctx),
120+
CheckDestroy: testAccCheckAccountPolicyDestroy(ctx, t),
123121
Steps: []resource.TestStep{
124122
{
125123
Config: testAccAccountPolicyConfig_basicDataProtection(rName),
126124
Check: resource.ComposeTestCheckFunc(
127-
testAccCheckAccountPolicyExists(ctx, resourceName, &accountPolicy),
125+
testAccCheckAccountPolicyExists(ctx, t, resourceName, &accountPolicy),
128126
acctest.CheckResourceDisappears(ctx, acctest.Provider, tflogs.ResourceAccountPolicy(), resourceName),
129127
),
130128
ExpectNonEmptyPlan: true,
@@ -135,21 +133,21 @@ func TestAccLogsAccountPolicy_disappears(t *testing.T) {
135133

136134
func TestAccLogsAccountPolicy_selectionCriteria(t *testing.T) {
137135
ctx := acctest.Context(t)
138-
rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix)
136+
rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix)
139137
rSelectionCriteria := fmt.Sprintf("LogGroupName NOT IN [\"%s\"]", rName)
140138
resourceName := "aws_cloudwatch_log_account_policy.test"
141139
var accountPolicy types.AccountPolicy
142140

143-
resource.ParallelTest(t, resource.TestCase{
141+
acctest.ParallelTest(ctx, t, resource.TestCase{
144142
PreCheck: func() { acctest.PreCheck(ctx, t) },
145143
ErrorCheck: acctest.ErrorCheck(t, names.LogsServiceID),
146144
ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories,
147-
CheckDestroy: testAccCheckAccountPolicyDestroy(ctx),
145+
CheckDestroy: testAccCheckAccountPolicyDestroy(ctx, t),
148146
Steps: []resource.TestStep{
149147
{
150148
Config: testAccAccountPolicyConfig_selectionCriteria(rName, rSelectionCriteria),
151149
Check: resource.ComposeTestCheckFunc(
152-
testAccCheckAccountPolicyExists(ctx, resourceName, &accountPolicy),
150+
testAccCheckAccountPolicyExists(ctx, t, resourceName, &accountPolicy),
153151
resource.TestCheckResourceAttr(resourceName, "policy_name", rName),
154152
resource.TestCheckResourceAttr(resourceName, "selection_criteria", rSelectionCriteria),
155153
),
@@ -164,14 +162,14 @@ func TestAccLogsAccountPolicy_selectionCriteria(t *testing.T) {
164162
})
165163
}
166164

167-
func testAccCheckAccountPolicyExists(ctx context.Context, n string, v *types.AccountPolicy) resource.TestCheckFunc {
165+
func testAccCheckAccountPolicyExists(ctx context.Context, t *testing.T, n string, v *types.AccountPolicy) resource.TestCheckFunc {
168166
return func(s *terraform.State) error {
169167
rs, ok := s.RootModule().Resources[n]
170168
if !ok {
171169
return fmt.Errorf("Not found: %s", n)
172170
}
173171

174-
conn := acctest.Provider.Meta().(*conns.AWSClient).LogsClient(ctx)
172+
conn := acctest.ProviderMeta(ctx, t).LogsClient(ctx)
175173

176174
output, err := tflogs.FindAccountPolicyByTwoPartKey(ctx, conn, types.PolicyType(rs.Primary.Attributes["policy_type"]), rs.Primary.ID)
177175

@@ -185,9 +183,9 @@ func testAccCheckAccountPolicyExists(ctx context.Context, n string, v *types.Acc
185183
}
186184
}
187185

188-
func testAccCheckAccountPolicyDestroy(ctx context.Context) resource.TestCheckFunc {
186+
func testAccCheckAccountPolicyDestroy(ctx context.Context, t *testing.T) resource.TestCheckFunc {
189187
return func(s *terraform.State) error {
190-
conn := acctest.Provider.Meta().(*conns.AWSClient).LogsClient(ctx)
188+
conn := acctest.ProviderMeta(ctx, t).LogsClient(ctx)
191189

192190
for _, rs := range s.RootModule().Resources {
193191
if rs.Type != "aws_cloudwatch_log_account_policy" {
@@ -196,7 +194,7 @@ func testAccCheckAccountPolicyDestroy(ctx context.Context) resource.TestCheckFun
196194

197195
_, err := tflogs.FindAccountPolicyByTwoPartKey(ctx, conn, types.PolicyType(rs.Primary.Attributes["policy_type"]), rs.Primary.ID)
198196

199-
if tfresource.NotFound(err) {
197+
if retry.NotFound(err) {
200198
continue
201199
}
202200

@@ -230,7 +228,7 @@ func testAccCheckAccountHasSubscriptionFilterPolicy(ctx context.Context, resourc
230228
return func(s *terraform.State) error {
231229
expectedJSONTemplate := `{
232230
"DestinationArn": "arn:%s:lambda:%s:%s:function:%s",
233-
"FilterPattern" : " ",
231+
"FilterPattern" : "",
234232
"Distribution" : "Random"
235233
}`
236234
expectedJSON := fmt.Sprintf(expectedJSONTemplate, acctest.Partition(), acctest.Region(), acctest.AccountID(ctx), rName)
@@ -295,7 +293,7 @@ resource "aws_cloudwatch_log_account_policy" "test" {
295293
296294
policy_document = jsonencode({
297295
DestinationArn = aws_lambda_function.test.arn
298-
FilterPattern = " "
296+
FilterPattern = ""
299297
Distribution = "Random"
300298
})
301299
}
@@ -310,7 +308,7 @@ resource "aws_cloudwatch_log_account_policy" "test" {
310308
311309
policy_document = jsonencode({
312310
DestinationArn = aws_lambda_function.test.arn
313-
FilterPattern = " "
311+
FilterPattern = ""
314312
Distribution = "Random"
315313
})
316314

internal/service/logs/anomaly_detector.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ import (
1919
"github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier"
2020
"github.com/hashicorp/terraform-plugin-framework/schema/validator"
2121
"github.com/hashicorp/terraform-plugin-framework/types"
22-
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry"
2322
"github.com/hashicorp/terraform-provider-aws/internal/errs"
2423
"github.com/hashicorp/terraform-provider-aws/internal/errs/fwdiag"
2524
"github.com/hashicorp/terraform-provider-aws/internal/framework"
2625
fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex"
2726
fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types"
27+
"github.com/hashicorp/terraform-provider-aws/internal/retry"
2828
tftags "github.com/hashicorp/terraform-provider-aws/internal/tags"
2929
"github.com/hashicorp/terraform-provider-aws/internal/tfresource"
3030
"github.com/hashicorp/terraform-provider-aws/names"
@@ -36,6 +36,8 @@ import (
3636
// @Testing(importStateIdAttribute="arn")
3737
// @Testing(importIgnore="enabled")
3838
// @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs;cloudwatchlogs.GetLogAnomalyDetectorOutput")
39+
// @Testing(existsTakesT=true)
40+
// @Testing(destroyTakesT=true)
3941
func newAnomalyDetectorResource(context.Context) (resource.ResourceWithConfigure, error) {
4042
r := &anomalyDetectorResource{}
4143

@@ -143,7 +145,7 @@ func (r *anomalyDetectorResource) Read(ctx context.Context, request resource.Rea
143145

144146
output, err := findLogAnomalyDetectorByARN(ctx, conn, data.AnomalyDetectorARN.ValueString())
145147

146-
if tfresource.NotFound(err) {
148+
if retry.NotFound(err) {
147149
response.Diagnostics.Append(fwdiag.NewResourceNotFoundWarningDiagnostic(err))
148150
response.State.RemoveResource(ctx)
149151

@@ -245,8 +247,7 @@ func findLogAnomalyDetector(ctx context.Context, conn *cloudwatchlogs.Client, in
245247

246248
if errs.IsA[*awstypes.ResourceNotFoundException](err) || errs.IsA[*awstypes.AccessDeniedException](err) {
247249
return nil, &retry.NotFoundError{
248-
LastError: err,
249-
LastRequest: input,
250+
LastError: err,
250251
}
251252
}
252253

0 commit comments

Comments
 (0)