From b5d222440db08c74024a4e6ad96c1650385ad632 Mon Sep 17 00:00:00 2001 From: James Woolfenden Date: Fri, 24 Jan 2025 10:49:16 +0000 Subject: [PATCH] go fumpt --- src/aws.go | 2205 +++++++++++++++++++------------------- src/aws_datasource.go | 4 +- src/aws_test.go | 6 +- src/azure_datasource.go | 2 +- src/azure_policy.go | 1 - src/compare.go | 19 +- src/coverage/coverage.go | 3 - src/credentials.go | 10 +- src/data.go | 2 - src/data_test.go | 2 +- src/gcp.go | 394 ++++--- src/gcp_policy.go | 2 +- src/gitHub.go | 14 +- src/inspect.go | 10 +- src/inspect_test.go | 8 +- src/make.go | 4 +- src/parse/parse.go | 1 - src/parse/parse_test.go | 29 +- src/policy.go | 2 +- src/scan.go | 6 +- src/scan_test.go | 10 +- src/secrets.go | 6 +- src/watch.go | 4 - 23 files changed, 1373 insertions(+), 1371 deletions(-) diff --git a/src/aws.go b/src/aws.go index 6e375f35..502f02bd 100644 --- a/src/aws.go +++ b/src/aws.go @@ -14,1107 +14,1105 @@ const ( data string = "data" ) -var ( - tFLookup = map[string]interface{}{ //nolint:gochecknoglobals - "aws_accessanalyzer_analyzer": awsAccessAnalyzer, - "aws_accessanalyzer_archive_rule": awsAccessAnalyzerArchiveRule, - "aws_account_alternate_contact": awsAccountAlternativeContact, - "aws_account_primary_contact": awsAccountPrimaryContact, - "aws_account_region": awsAccountRegion, - "aws_acm_certificate": AWSAcmCertificate, - "aws_acm_certificate_validation": placeholder, - "aws_acmpca_certificate": awsAcmpcaCertificate, - "aws_acmpca_certificate_authority": awsAcmpcaCertificateAuthority, - "aws_acmpca_certificate_authority_certificate": awsAcmpcaCertificateAuthorityCertificate, - "aws_acmpca_permission": awsAcmpcaPermission, - "aws_acmpca_policy": awsAcmpcaPolicy, - "aws_alb": awsLb, - "aws_alb_listener": awsLbListener, - "aws_alb_target_group": awsLbTargetGroup, - "aws_alb_target_group_attachment": awsLbTargetGroupAttachment, - "aws_ami": awsAmi, - "aws_ami_copy": awsAmiCopy, - "aws_ami_from_instance": awsAmiFromInstance, - "aws_ami_launch_permission": awsAmiLauchPermission, - "aws_amplify_app": awsAmplifyApp, - "aws_amplify_branch": awsAmplifyBranch, - "aws_amplify_domain_association": awsAmplifyDomainAssociation, - "aws_api_gateway_account": awsAPIGatewayAccount, - "aws_api_gateway_api_key": awsApigatewayv2Api, - "aws_api_gateway_authorizer": awsApigatewayv2Api, - "aws_api_gateway_base_path_mapping": awsApigatewayv2Api, - "aws_api_gateway_client_certificate": awsAPIGatewayRestAPI, - "aws_api_gateway_deployment": awsApigatewayv2Api, - "aws_api_gateway_documentation_part": awsApigatewayv2Api, - "aws_api_gateway_documentation_version": awsApigatewayv2Api, - "aws_api_gateway_domain_name": awsApigatewayv2Api, - "aws_api_gateway_gateway_response": awsApigatewayv2Api, - "aws_api_gateway_integration": awsApigatewayv2Api, - "aws_api_gateway_integration_response": awsApigatewayv2Api, - "aws_api_gateway_method": awsApigatewayv2Api, - "aws_api_gateway_method_response": awsApigatewayv2Api, - "aws_api_gateway_method_settings": awsApigatewayv2Api, - "aws_api_gateway_model": awsApigatewayv2Api, - "aws_api_gateway_request_validator": awsAPIGatewayRestAPI, - "aws_api_gateway_resource": awsApigatewayv2Api, - "aws_api_gateway_rest_api": awsAPIGatewayRestAPI, - "aws_api_gateway_rest_api_policy": awsApigatewayv2Api, - "aws_api_gateway_stage": awsApigatewayv2Api, - "aws_api_gateway_usage_plan": awsApigatewayv2Api, - "aws_api_gateway_usage_plan_key": awsApigatewayv2Api, - "aws_api_gateway_vpc_link": awsApigatewayv2Api, - "aws_apigatewayv2_api": awsApigatewayv2Api, - "aws_apigatewayv2_api_mapping": awsApigatewayv2Api, - "aws_apigatewayv2_authorizer": awsApigatewayv2Api, - "aws_apigatewayv2_deployment": awsApigatewayv2Api, - "aws_apigatewayv2_domain_name": awsApigatewayv2Api, - "aws_apigatewayv2_integration": awsApigatewayv2Api, - "aws_apigatewayv2_integration_response": awsApigatewayv2Api, - "aws_apigatewayv2_model": awsApigatewayv2Api, - "aws_apigatewayv2_route": awsApigatewayv2Api, - "aws_apigatewayv2_route_response": awsApigatewayv2Api, - "aws_apigatewayv2_stage": awsApigatewayv2Api, - "aws_apigatewayv2_vpc_link": awsApigatewayv2Api, - "aws_app_cookie_stickiness_policy": awsAppCookieStickinessPolicy, - "aws_appautoscaling_policy": awsAppautoscalingPolicy, - "aws_appautoscaling_scheduled_action": awsAppautoscalingScheduledAction, - "aws_appautoscaling_target": awsAppautoscalingTarget, - "aws_appconfig_application": awsAppconfigApplication, - "aws_appconfig_configuration_profile": awsAppconfigConfigurationProfile, - "aws_appconfig_deployment": awsAppconfigDeployment, - "aws_appconfig_environment": awsAppconfigEnvironment, - "aws_appconfig_extension": awsAppconfigExtension, - "aws_appconfig_extension_association": awsAppconfigExtensionAssociation, - "aws_appconfig_hosted_configuration_version": awsAppconfigHostedConfigurationVersion, - "aws_appflow_connector_profile": awsAppflowConnectorProfile, - "aws_appflow_flow": awsAppflowFlow, - "aws_appintegrations_data_integration": awsAppintegrationsDataIntegration, - "aws_appintegrations_event_integration": awsAppintegrationsEventIntegration, - "aws_applicationinsights_application": awsApplicationinsightsApplication, - "aws_apprunner_auto_scaling_configuration_version": awsApprunnerAutoScalingConfigurationVersion, - "aws_apprunner_default_auto_scaling_configuration_version": awsApprunnerDefaultAutoScalingConfigurationVersion, //nolint:lll - "aws_apprunner_observability_configuration": awsApprunnerObservabilityConfiguration, - "aws_apprunner_service": awsApprunnerService, - "aws_apprunner_vpc_connector": awsApprunnerVpcConnector, - "aws_apprunner_vpc_ingress_connection": awsApprunnerVpcIngressConnection, - "aws_appstream_image_builder": awsAppstreamImageBuilder, - "aws_appsync_domain_name": awsAppsyncDomainName, - "aws_appsync_domain_name_api_association": awsAppsyncDomainNameAPIAssociation, - "aws_appsync_function": awsAppsyncFunction, - "aws_appsync_graphql_api": awsAppsyncGraphAPI, - "aws_appsync_resolver": awsAppsyncResolver, - "aws_athena_data_catalog": awsAthenaDataCatalog, - "aws_athena_database": awsAthenaDatabase, - "aws_athena_named_query": awsAthenaNamedQuery, - "aws_athena_prepared_statement": awsAthenaPreparedStatement, - "aws_athena_workgroup": awsAthenaWorkgroup, - "aws_auditmanager_account_registration": awsAuditmanagerAccountRegistration, - "aws_auditmanager_assessment": awsAuditmanagerAssessment, - "aws_auditmanager_assessment_delegation": awsAuditmanagerAssessmentDelegation, - "aws_auditmanager_assessment_report": awsAuditmanagerAssessmentReport, - "aws_auditmanager_control": awsAuditmanagerControl, - "aws_auditmanager_framework": awsAuditmanagerFramework, - "aws_auditmanager_framework_share": awsAuditmanagerFrameworkShare, - "aws_auditmanager_organization_admin_account_registration": awsAuditmanagerOrganizationAdminAccountRegistration, - "aws_autoscaling_attachment": awsAutoscalingAttachment, - "aws_autoscaling_group": awsAutoscalingGroup, - "aws_autoscaling_group_tag": awsAutoscalingGroupTag, - "aws_autoscaling_lifecycle_hook": awsAutoscalingLifecycleHook, - "aws_autoscaling_notification": awsAutoscalingNotification, - "aws_autoscaling_policy": awsAutoscalingPolicy, - "aws_autoscaling_schedule": awsAutoscalingSchedule, - "aws_autoscaling_traffic_source_attachment": awsAutoscalingTrafficSourceAttachment, - "aws_autoscalingplans_scaling_plan": awsAutoscalingplansScalingPlan, - "aws_backup_framework": awsBackupFramework, - "aws_backup_global_settings": awsBackupGlobalSettings, - "aws_backup_logically_air_gapped_vault": awsBackupLogicallyAirGappedVault, - "aws_backup_plan": awsBackupPlan, - "aws_backup_region_settings": awsBackupRegionSettings, - "aws_backup_report_plan": awsBackupReportPlan, - "aws_backup_selection": awsBackupSelection, - "aws_backup_vault": awsBackupVault, - "aws_backup_vault_lock_configuration": awsBackupVaultLockConfiguration, - "aws_backup_vault_notifications": awsBackupVaultNotification, - "aws_backup_vault_policy": awsBackupVaultPolicy, - "aws_batch_compute_environment": awsBatchComputeEnvironment, - "aws_batch_job_definition": awsBatchJobDefinition, - "aws_batch_job_queue": awsBatchJobQueue, - "aws_batch_scheduling_policy": awsBatchSchedulingPolicy, - "aws_bcmdataexports_export": awsBcmdataexportsExport, - "aws_bedrock_custom_model": awsBedrockCustomModel, - "aws_bedrock_inference_profile": awsBedrockInferenceProfile, - "aws_bedrock_model_invocation_logging_configuration": awsBedrockModelInvocationLoggingConfiguration, - "aws_bedrock_provisioned_model_throughput": awsBedrockProvisionedModelThroughput, - "aws_bedrockagent_agent": awsBedrockagentAgent, - "aws_bedrockagent_agent_action_group": awsBedrockagentActionGroup, - "aws_bedrockagent_agent_alias": awsBedrockagentAgentAlias, - "aws_bedrockagent_data_source": awsBedrockagentDatasource, - "aws_bedrockagent_knowledge_base": awsBedrockagentKnowledgeBase, - "aws_budgets_budget": awsBudgetsBudget, - "aws_budgets_budget_action": awsBudgetsBudgetAction, - "aws_ce_anomaly_monitor": awsCeAnomalyMonitor, - "aws_ce_anomaly_subscription": awsCeAnomalySubscription, - "aws_ce_cost_allocation_tag": awsCeCostAllocationTag, - "aws_ce_cost_category": awsCeCostCategory, - "aws_chatbot_slack_channel_configuration": awsChatbotSlackChannelConfiguration, - "aws_chatbot_teams_channel_configuration": awsChatbotTeamsChannelConfiguration, - "aws_chime_voice_connector": awsChimeVoiceConnector, - "aws_chime_voice_connector_group": awsChimeVoiceConnectorGroup, - "aws_chime_voice_connector_logging": awsChimeVoiceConnectorLogging, - "aws_chime_voice_connector_origination": awsChimeVoiceConnectorOrigination, - "aws_chime_voice_connector_streaming": awsChimeVoiceConnectorStreaming, - "aws_chime_voice_connector_termination": awsChimeVoiceConnectorTermination, - "aws_chime_voice_connector_termination_credentials": awsChimeVoiceConnectorTerminationCredentials, - "aws_chimesdkmediapipelines_media_insights_pipeline_configuration": awsChimesdkmediapipelinesMediaInsightsPipelineConfiguration, - "aws_chimesdkvoice_global_settings": awsChimesdkvoiceGlobalSettings, - "aws_chimesdkvoice_sip_media_application": awsChimesdkvoiceSIPMediaApplication, - "aws_chimesdkvoice_sip_rule": awsChimesdkvoiceSIPRule, - "aws_chimesdkvoice_voice_profile_domain": awsChimesdkvoiceVoiceProfileDomain, - "aws_cleanrooms_collaboration": awsCleanroomsCollaboration, - "aws_cleanrooms_configured_table": awsCleanroomsConfiguredTable, - "aws_cloud9_environment_ec2": awsCloud9EnvironmentEc2, - "aws_cloudformation_stack": awsCloudformationStack, - "aws_cloudformation_stack_set": awsCloudFormationStackSet, - "aws_cloudformation_stack_set_instance": awsCloudFormationStackSetInstance, - "aws_cloudformation_type": awsCloudformationType, - "aws_cloudfront_cache_policy": awsCloudfrontCachePolicy, - "aws_cloudfront_continuous_deployment_policy": awsCloudfrontContinuousDeploymentPolicy, - "aws_cloudfront_distribution": awsCloudfrontDistribution, - "aws_cloudfront_field_level_encryption_config": awsCloudfrontFieldLevelEncryptionConfig, - "aws_cloudfront_field_level_encryption_profile": awsCloudfrontFieldLevelEncryptionProfile, - "aws_cloudfront_function": awsCloudfrontFunction, - "aws_cloudfront_key_group": awsCloudfrontKeyGroup, - "aws_cloudfront_key_value_store": awsCloudfrontKeyValueStore, - "aws_cloudfront_monitoring_subscription": awsCloudfrontMonitoringSubscription, - "aws_cloudfront_origin_access_control": awsCloudfrontOriginAccessControl, - "aws_cloudfront_origin_access_identity": awsCloudfrontOriginAccessIdentity, - "aws_cloudfront_origin_request_policy": awsCloudfrontOriginRequestPolicy, - "aws_cloudfront_public_key": awsCloudfrontPublicKey, - "aws_cloudfront_realtime_log_config": awsCloudfrontRealtimeLogConfig, - "aws_cloudfront_response_headers_policy": awsCloudfrontResponseHeadersPolicy, - "aws_cloudfrontkeyvaluestore_key": awsCloudfrontkeyvaluestoreKey, - "aws_cloudsearch_domain": awsCloudsearchDomain, - "aws_cloudsearch_domain_service_access_policy": awsCloudsearchDomainServiceAccessPolicy, - "aws_cloudtrail": awsCloudtrail, - "aws_cloudtrail_event_data_store": awsCloudtrailEventDataStore, - "aws_cloudwatch_composite_alarm": awsCloudwatchCompositeAlarm, - "aws_cloudwatch_dashboard": awsCloudwatchDashboard, - "aws_cloudwatch_event_api_destination": awsCloudwatchEventAPIDestination, - "aws_cloudwatch_event_archive": awsCloudwatchEventArchive, - "aws_cloudwatch_event_bus": awsCloudwatchEventBus, - "aws_cloudwatch_event_bus_policy": awsCloudwatchEventBusPolicy, - "aws_cloudwatch_event_connection": awsCloudwatchEventConnection, - "aws_cloudwatch_event_endpoint": awsCloudwatchEventEndpoint, - "aws_cloudwatch_event_permission": awsCloudwatchEventPermission, - "aws_cloudwatch_event_rule": awsCloudwatchEventRule, - "aws_cloudwatch_event_target": awsCloudwatchEventTarget, - "aws_cloudwatch_log_account_policy": awsCloudwatchLogAccountPolicy, - "aws_cloudwatch_log_data_protection_policy": awsCloudwatchLogDataProtectionPolicy, - "aws_cloudwatch_log_destination": awsCloudwatchLogDestination, - "aws_cloudwatch_log_destination_policy": awsCloudwatchLogDestinationPolicy, - "aws_cloudwatch_log_group": awsCloudwatchLogGroup, - "aws_cloudwatch_log_metric_filter": awsCloudwatchLogMetricFilter, - "aws_cloudwatch_log_resource_policy": awsCloudwatchLogResourcePolicy, - "aws_cloudwatch_log_stream": awsCloudwatchLogStream, - "aws_cloudwatch_log_subscription_filter": awsCloudwatchLogSubscriptionFilter, - "aws_cloudwatch_metric_alarm": awsCloudwatchMetricAlarm, - "aws_cloudwatch_metric_stream": awsCloudwatchMetricStream, - "aws_cloudwatch_query_definition": awsCloudwatchQueryDestination, - "aws_codeartifact_domain": awsCodeartifactDomain, - "aws_codeartifact_domain_permissions_policy": awsCodeartifactDomainPermissionsPolicy, - "aws_codeartifact_repository": awsCodeartifactRepository, - "aws_codeartifact_repository_permissions_policy": awsCodeartifactRepositoryPermissionsPolicy, - "aws_codebuild_project": awsCodebuildProject, - "aws_codebuild_report_group": awsCodebuildReportGroup, - "aws_codebuild_resource_policy": awsCodebuildResourcePolicy, - "aws_codebuild_source_credential": awsCodebuildSourceCredential, - "aws_codebuild_webhook": awsCodebuildWebhook, - "aws_codecatalyst_dev_environment": placeholder, - "aws_codecatalyst_project": placeholder, - "aws_codecatalyst_source_repository": placeholder, - "aws_codecommit_approval_rule_template": awsCodecommitApprovalRuleTemplate, - "aws_codecommit_approval_rule_template_association": awsCodecommitApprovalRuleTemplateAssociation, - "aws_codecommit_repository": awsCodecommitRepository, - "aws_codecommit_trigger": awsCodecommitTrigger, - "aws_codedeploy_app": awsCodedeployApp, - "aws_codedeploy_deployment_config": awsCodedeployDeploymentConfig, - "aws_codedeploy_deployment_group": awsCodedeployDeploymentGroup, - "aws_codeguruprofiler_profiling_group": awsCodeguruprofilerProfilingGroup, - "aws_codegurureviewer_repository_association": awsCodegurureviewerRepositoryAssociation, - "aws_codepipeline": awsCodepipeline, - "aws_codepipeline_custom_action_type": awsCodepipelineCustomActionType, - "aws_codepipeline_webhook": awsCodepipelineWebhook, - "aws_codestarconnections_connection": awsCodestarconnectionsConnection, - "aws_codestarconnections_host": awsCodestarconnectionsHost, - "aws_codestarnotifications_notification_rule": awsCodestarconnectionsNotificationsRule, - "aws_cognito_identity_pool": awsCognitoIdentityPool, - "aws_cognito_identity_pool_provider_principal_tag": awsCognitoIdentityPoolProviderPrincipalTag, - "aws_cognito_identity_pool_roles_attachment": awsCognitoIdentityPoolRolesAttachment, - "aws_cognito_identity_provider": awsCognitoIdentityProvider, - "aws_cognito_resource_server": awsCognitoResourceServer, - "aws_cognito_risk_configuration": awsCognitoRiskConfiguration, - "aws_cognito_user": awsCognitoUser, - "aws_cognito_user_group": awsCognitoUserGroup, - "aws_cognito_user_in_group": awsCognitoUserInGroup, - "aws_cognito_user_pool": awsCognitoUserPool, - "aws_cognito_user_pool_client": awsCognitoUserPoolClient, - "aws_cognito_user_pool_domain": awsCognitoUserPoolDomain, - "aws_cognito_user_pool_ui_customization": awsCognitoUserPoolUICustomization, - "aws_comprehend_document_classifier": awsComprehendDocumentClassifier, - "aws_config_config_rule": awsConfigConfigRule, - "aws_config_configuration_aggregator": awsConfigConfigurationAggregator, - "aws_config_configuration_recorder": awsConfigConfigurationRecorder, - "aws_config_configuration_recorder_status": awsConfigConfigurationRecorderStatus, - "aws_config_conformance_pack": awsConfigConformancePack, - "aws_config_delivery_channel": awsConfigDeliveryChannel, - "aws_config_organization_conformance_pack": awsConfigOrganizationConformancePack, - "aws_connect_bot_association": awsConnectBotAssociation, - "aws_connect_contact_flow": awsConnectContactFlow, - "aws_connect_contact_flow_module": awsConnectContactFlowModule, - "aws_connect_hours_of_operation": awsConnectHoursOfOperation, - "aws_connect_instance": awsConnectInstance, - "aws_connect_instance_storage_config": awsConnectInstanceStorageConfig, - "aws_connect_phone_number": awsConnectPhoneNumber, - "aws_connect_queue": awsConnectQueue, - "aws_connect_quick_connect": awsConnectQuickConnect, - "aws_connect_routing_profile": awsConnectRoutingProfile, - "aws_connect_security_profile": awsConnectSecurityProfile, - "aws_connect_user": awsConnectUser, - "aws_connect_user_hierarchy_group": awsConnectUserHierarchyGroup, - "aws_connect_user_hierarchy_structure": awsConnectUserHierarchyStructure, - "aws_connect_vocabulary": awsConnectVocabulary, - "aws_controltower_control": awsControltowerControl, - "aws_controltower_landing_zone": awsControltowerLandingZone, - "aws_cur_report_definition": awsCurReportDefinition, - "aws_customer_gateway": awsCustomerGateway, - "aws_datapipeline_pipeline": awsDatapipelinePipeline, - "aws_datapipeline_pipeline_definition": awsDatapipelinePipelineDefinition, - "aws_datasync_agent": awsDatasyncAgent, - "aws_datasync_location_azure_blob": awsDatasyncLocationAzureBlob, - "aws_datasync_location_efs": awsDatasyncLocationEfs, - "aws_datasync_location_fsx_lustre_file_system": awsDatasyncLocationFsxLustreFileSystem, - "aws_datasync_location_fsx_ontap_file_system": awsDatasyncLocationFsxOntapFileSystem, - "aws_datasync_location_fsx_openzfs_file_system": awsDatasyncLocationFsxOpenzfsFileSystem, - "aws_datasync_location_fsx_windows_file_system": awsDatasyncLocationFsxWindowsFileSystem, - "aws_datasync_location_hdfs": awsDatasyncLocationHdfs, - "aws_datasync_location_nfs": awsDatasyncLocationNfs, - "aws_datasync_location_object_storage": awsDatasyncLocationObjectStorage, - "aws_datasync_location_s3": awsDatasyncLocationS3, - "aws_datasync_location_smb": awsDatasyncLocationSmb, - "aws_datasync_task": awsDatasyncTask, - "aws_datazone_asset_type": awsDatazoneAssetType, - "aws_datazone_domain": awsDatazoneDomain, - "aws_datazone_environment": awsDatazoneEnvironment, - "aws_datazone_environment_blueprint_configuration": awsDatazoneEnvironmentBlueprintConfiguration, - "aws_datazone_environment_profile": awsDatazoneEnvironmentProfile, - "aws_datazone_form_type": awsDatazoneFormType, - "aws_datazone_glossary": awsDatazoneGlossary, - "aws_datazone_glossary_term": awsDatazoneGlossaryTerm, - "aws_datazone_project": awsDatazoneProject, - "aws_datazone_user_profile": awsDatazoneUserProfile, - "aws_dax_cluster": awsDaxCluster, - "aws_dax_parameter_group": awsDaxParameterGroup, - "aws_dax_subnet_group": awsDaxSubnetGroup, - "aws_db_cluster_snapshot": awsDBClusterSnapshot, - "aws_db_event_subscription": awsDBEventSubscription, - "aws_db_instance": awsDBInstance, - "aws_db_instance_automated_backups_replication": awsDBInstanceAutomatedBackupsReplication, - "aws_db_instance_role_association": awsDBInstanceRoleAssociation, - "aws_db_option_group": awsDBOptionGroup, - "aws_db_parameter_group": awsDBParameterGroup, - "aws_db_proxy": awsDBProxy, - "aws_db_proxy_default_target_group": awsDBProxyDefaultTargetGroup, - "aws_db_proxy_endpoint": awsDBProxyEndpoint, - "aws_db_proxy_target": awsDBProxyTarget, - "aws_db_snapshot": awsDBSnapshot, - "aws_db_snapshot_copy": awsDBSnapshotCopy, - "aws_db_subnet_group": awsDBSubnetGroup, - "aws_default_network_acl": awsDefaultNetworkACL, - "aws_default_route_table": awsDefaultRouteTable, - "aws_default_security_group": awsDefaultSecurityGroup, - "aws_default_subnet": awsDefaultSubnet, - "aws_default_vpc": awsDefaultVpc, - "aws_default_vpc_dhcp_options": awsDefaultVpcDhcpOptions, - "aws_detective_graph": awsDetectiveGraph, - "aws_detective_invitation_accepter": awsDetectiveInvitationAccepter, - "aws_detective_organization_admin_account": awsDectectiveOrganizationAdminAccount, - "aws_devopsguru_notification_channel": awsDevopsguruNotificationChannel, - "aws_devopsguru_resource_collection": awsDevopsguruResourceCollection, - "aws_directory_service_directory": awsDirectoryServiceDirectory, - "aws_directory_service_log_subscription": awsDirectoryServiceLogSubscription, - "aws_dlm_lifecycle_policy": awsDlmLifecyclePolicy, - "aws_dms_certificate": awsDmsCertificate, - "aws_dms_endpoint": awsDmsEndpoint, - "aws_dms_event_subscription": awsDmsEventSubscription, - "aws_dms_replication_config": awsDmsReplicationConfig, - "aws_dms_replication_instance": awsDmsReplicationInstance, - "aws_dms_replication_subnet_group": awsDmsReplicationSubnetGroup, - "aws_dms_replication_task": awsDmsReplicationTask, - "aws_dms_s3_endpoint": awsDmsS3Endpoint, - "aws_docdb_cluster": awsRdsCluster, - "aws_docdb_cluster_instance": awsNeptuneClusterInstance, - "aws_docdb_cluster_parameter_group": awsRdsClusterParameterGroup, - "aws_docdb_cluster_snapshot": awsDBClusterSnapshot, - "aws_docdb_event_subscription": awsNeptuneEventSubscription, - "aws_docdb_global_cluster": awsRdsGlobalCluster, - "aws_docdb_subnet_group": awsDBSubnetGroup, - "aws_docdbelastic_cluster": awsDocdbelasticCluster, - "aws_dx_gateway": awsDxGateway, - "aws_dx_gateway_association": awsDxGatewayAssociation, - "aws_dx_hosted_transit_virtual_interface_accepter": awsDxHostedTransitVirtualInterfaceAccepter, - "aws_dynamodb_contributor_insights": awsDynamodbContributorInsights, - "aws_dynamodb_global_table": awsDynamodbGlobalTable, - "aws_dynamodb_table": awsDynamodbTable, - "aws_dynamodb_table_item": awsDynamodbTableItem, - "aws_dynamodb_tag": awsDynamodbTag, - "aws_ebs_default_kms_key": awsEbsDefaultKmsKey, - "aws_ebs_encryption_by_default": awsEbsEncryptionByDefault, - "aws_ebs_snapshot": awsEbsSnapshot, - "aws_ebs_snapshot_block_public_access": awsEbsSnapshotBlockPublicAccess, - "aws_ebs_snapshot_copy": awsEbsSnapshotCopy, - "aws_ebs_volume": awsEbsVolume, - "aws_ec2_availability_zone_group": awsEc2AvailabilityGroup, - "aws_ec2_capacity_reservation": awsEc2CapacityReservation, - "aws_ec2_carrier_gateway": awsEc2CarrierGateway, - "aws_ec2_client_vpn_authorization_rule": awsEc2ClientvpnAuthorizationRule, - "aws_ec2_client_vpn_endpoint": awsEc2ClientVpnEndpoint, - "aws_ec2_client_vpn_network_association": awsEc2ClientVpnNetworkAssociation, - "aws_ec2_client_vpn_route": awsEc2ClientVpnRoute, - "aws_ec2_fleet": awsEc2Fleet, - "aws_ec2_host": awsEc2Host, - "aws_ec2_image_block_public_access": awsEc2ImageBlockPublicAccess, - "aws_ec2_local_gateway_route": awsEc2LocalGatewayRoute, - "aws_ec2_local_gateway_route_table_vpc_association": awsEc2LocalGatewayRouteTableVpcAssociation, - "aws_ec2_managed_prefix_list": awsEc2ManagedPrefixList, - "aws_ec2_network_insights_analysis": awsEc2NetworkInsightsAnalysis, - "aws_ec2_network_insights_path": awsEc2NetworkInsightsPath, - "aws_ec2_serial_console_access": awsEc2SerialConsoleAccess, - "aws_ec2_tag": awsEc2Tag, - "aws_ec2_transit_gateway": awsEc2TransitGateway, - "aws_ec2_transit_gateway_connect": awsEc2TransitGatewayConnect, - "aws_ec2_transit_gateway_multicast_domain": awsEc2TransitGatewayMulticastDomain, - "aws_ec2_transit_gateway_multicast_domain_association": awsEc2TransitGatewayMulticastDomainAssociation, - "aws_ec2_transit_gateway_multicast_group_member": awsEc2TransitGatewayMulticastGroupMember, - "aws_ec2_transit_gateway_multicast_group_source": awsEc2TransitGatewayMulticastGroupSource, - "aws_ec2_transit_gateway_peering_attachment": awsEc2TransitGatewayPeeringAttachment, - "aws_ec2_transit_gateway_route": awsEc2TransitGatewayRoute, - "aws_ec2_transit_gateway_route_table": awsEc2TransitGatewayRouteTable, - "aws_ec2_transit_gateway_route_table_association": awsEc2TransitGatewayRouteTableAssociation, - "aws_ec2_transit_gateway_route_table_propagation": awsEc2TransitGatewayRouteTablePropagation, - "aws_ec2_transit_gateway_vpc_attachment": awsEc2TransitGatewayVpcAttachment, - "aws_ecr_lifecycle_policy": awsEcrLifecyclePolicy, - "aws_ecr_pull_through_cache_rule": awsEcrPullThroughCacheRule, - "aws_ecr_registry_policy": awsEcrRegistryPolicy, - "aws_ecr_registry_scanning_configuration": awsEcrRegistryScanningConfiguration, - "aws_ecr_replication_configuration": awsEcrReplicationConfiguration, - "aws_ecr_repository": awsEcrRepository, - "aws_ecr_repository_creation_template": awsEcrRepositoryCreationTemplate, - "aws_ecr_repository_policy": awsEcrRepositoryPolicy, - "aws_ecrpublic_repository": awsEcrPublicRepository, - "aws_ecrpublic_repository_policy": awsEcrpublicRepositoryPolicy, - "aws_ecs_capacity_provider": awsEcsCapacityProvider, - "aws_ecs_cluster": awsEcsCluster, - "aws_ecs_service": awsEcsService, - "aws_ecs_tag": awsEcsTag, - "aws_ecs_task_definition": awsEcsTaskDefinition, - "aws_ecs_task_set": awsEcsTaskSet, - "aws_efs_access_point": awsEfsAccessPoint, - "aws_efs_backup_policy": awsEfsBackupPolicy, - "aws_efs_file_system": awsEfsFileSystem, - "aws_efs_file_system_policy": awsEfsFileSystemPolicy, - "aws_efs_mount_target": awsEfsMountTarget, - "aws_efs_replication_configuration": awsEfsReplicationConfiguration, - "aws_egress_only_internet_gateway": awsEgressOnlyInternetGateway, - "aws_eip": awsEip, - "aws_eip_association": awsEipAssociation, - "aws_eks_access_entry": awsEksAccessEntry, - "aws_eks_addon": awsEksAddon, - "aws_eks_cluster": awsEksCluster, - "aws_eks_fargate_profile": awsEksFargateProfile, - "aws_eks_identity_provider_config": awsEksIdentityProviderConfig, - "aws_eks_node_group": awsEksNodeGroup, - "aws_eks_pod_identity_association": awsEksPodIdentityAssociation, - "aws_elastic_beanstalk_application": awsElasticBeanstalkApplication, - "aws_elastic_beanstalk_application_version": awsElasticBeanstalkApplicationVersion, - "aws_elastic_beanstalk_configuration_template": awsElasticBeanstalkConfigurationTemplate, - "aws_elastic_beanstalk_environment": awsElastiBeanstalkEnvironment, - "aws_elasticache_cluster": awsElasticacheCluster, - "aws_elasticache_global_replication_group": awsElasticacheGlobalReplicationGroup, - "aws_elasticache_parameter_group": awsElasticacheParameterGroup, - "aws_elasticache_replication_group": awsElasticacheReplicationGroup, - "aws_elasticache_subnet_group": awsElasticacheSubnetGroup, - "aws_elasticache_user": awsElasticacheUser, - "aws_elasticache_user_group": awsElasticacheUserGroup, - "aws_elasticsearch_domain": awsElasticsearchDomain, - "aws_elasticsearch_domain_policy": awsElasticsearchDomainPolicy, - "aws_elb": awsElb, - "aws_elb_attachment": awsElbAttachment, - "aws_emr_block_public_access_configuration": awsEmrBlockPublicAccessConfiguration, - "aws_emr_cluster": awsEmrCluster, - "aws_emr_managed_scaling_policy": awsEmrManagedScalingPolicy, - "aws_emr_security_configuration": awsEmrSecurityConfiguration, - "aws_emr_studio": awsEmrStudio, - "aws_emr_studio_session_mapping": awsEmrStudioSessionMapping, - "aws_emrcontainers_virtual_cluster": awsEmrcontainersVirtualCluster, - "aws_emrserverless_application": awsEmrseverlessApplication, - "aws_evidently_feature": awsEvidentlyFeature, - "aws_evidently_launch": awsEvidentlyLaunch, - "aws_evidently_project": awsEvidentlyProject, - "aws_evidently_segment": awsEvidentlySegment, - "aws_finspace_kx_environment": awsFinspaceKxEnvironment, - "aws_fis_experiment_template": awsFisExperimentTemplate, - "aws_flow_log": awsFlowLog, - "aws_fms_policy": awsFmsPolicy, - "aws_fms_resource_set": awsFmsResourceSet, - "aws_fsx_backup": awsFsxBackup, - "aws_fsx_data_repository_association": awsFsxDataRepositoryAssociation, - "aws_fsx_file_cache": awsFsxFileCache, - "aws_fsx_lustre_file_system": awsFsxLustreFileSystem, - "aws_fsx_ontap_file_system": awsFsxOntapFileSystem, - "aws_fsx_ontap_storage_virtual_machine": awsFsxOntapStorageVirtualMachine, - "aws_fsx_ontap_volume": awsFsxOntapVolume, - "aws_fsx_openzfs_file_system": awsFsxOpenzfsFileSystem, - "aws_fsx_openzfs_snapshot": awsFsxOpenzfsSnaphot, - "aws_fsx_openzfs_volume": awsFsxOpenzfsVolume, - "aws_fsx_windows_file_system": awsFsxWindowsFileSystem, - "aws_gamelift_alias": awsGameliftAlias, - "aws_gamelift_build": awsGameliftBuild, - "aws_gamelift_fleet": awsGameliftFleet, - "aws_gamelift_game_server_group": awsGameliftGameServerGroup, - "aws_gamelift_game_session_queue": awsGameliftGameSessionQueue, - "aws_gamelift_script": awsGameliftScript, - "aws_glacier_vault": awsGlacierVault, - "aws_glacier_vault_lock": awsGlacierVaultLock, - "aws_globalaccelerator_accelerator": awsGlobalacceleratorAccelerator, - "aws_globalaccelerator_cross_account_attachment": awsGlobalacceleratorCrossAccountAttachment, - "aws_globalaccelerator_endpoint_group": awsGlobalacceleratorEndpointGroup, - "aws_globalaccelerator_listener": awsGlobalacceleratorListener, - "aws_glue_catalog_database": awsGlueCatalogDatabase, - "aws_glue_catalog_table": awsGlueCatalogTable, - "aws_glue_classifier": awsGlueClassifier, - "aws_glue_connection": awsGlueConnection, - "aws_glue_crawler": awsGlueCrawler, - "aws_glue_data_catalog_encryption_settings": awsGlueDataCatalogEncryptionSettings, - "aws_glue_job": awsGlueJob, - "aws_glue_ml_transform": awsGlueMlTransform, - "aws_glue_registry": awsGlueRegistry, - "aws_glue_resource_policy": awsGlueResourcePolicy, - "aws_glue_schema": awsGlueSchema, - "aws_glue_security_configuration": awsGlueSecurityConfiguration, - "aws_glue_trigger": awsGlueTrigger, - "aws_glue_user_defined_function": awsGlueUserDefinedFunction, - "aws_glue_workflow": awsGlueWorkflow, - "aws_grafana_workspace_api_key": awsGrafanaWorkspaceAPIKey, - "aws_guardduty_detector": awsGuarddutyDetector, - "aws_guardduty_filter": awsGuarddutyFilter, - "aws_guardduty_ipset": awsGuarddutyIpset, - "aws_guardduty_malware_protection_plan": awsGuarddutyMalwareProtectionPlan, - "aws_guardduty_member": awsGuarddutyMember, - "aws_guardduty_threatintelset": awsGuarddutyThreatintelset, - "aws_iam_access_key": awsIamAccessKey, - "aws_iam_account_alias": awsIamAccountAlias, - "aws_iam_account_password_policy": awsIamAccountPasswordPolicy, - "aws_iam_group": awsIamGroup, - "aws_iam_group_membership": awsIamGroupMembership, - "aws_iam_group_policies_exclusive": awsIamGroupPoliciesExclusive, - "aws_iam_group_policy": awsIamGroupPolicy, - "aws_iam_group_policy_attachment": awsIamGroupPolicyAttachment, - "aws_iam_instance_profile": awsIamInstanceProfile, - "aws_iam_openid_connect_provider": awsIamOpenidConnectProvider, - "aws_iam_policy": awsIamPolicy, - "aws_iam_policy_attachment": awsIamPolicyAttachment, - "aws_iam_role": awsIamRole, - "aws_iam_role_policies_exclusive": awsIamRolePoliciesExclusive, - "aws_iam_role_policy": awsIamRolePolicy, - "aws_iam_role_policy_attachment": awsIamRolePolicyAttachment, - "aws_iam_saml_provider": awsIamSamlProvider, - "aws_iam_security_token_service_preferences": awsIamSecurityTokenServicePreferences, - "aws_iam_server_certificate": awsIamServerCertificate, - "aws_iam_service_linked_role": awsIamServiceLinkedRole, - "aws_iam_service_specific_credential": awsIamServiceSpecificCredential, - "aws_iam_signing_certificate": awsIamSigningCertificate, - "aws_iam_user": awsIamUser, - "aws_iam_user_group_membership": awsIamUserGroupMembership, - "aws_iam_user_login_profile": awsIamUserLoginProfile, - "aws_iam_user_policies_exclusive": awsIamUserPoliciesExclusive, - "aws_iam_user_policy": awsIamUserPolicy, - "aws_iam_user_policy_attachment": awsIamUserPolicyAttachment, - "aws_iam_user_ssh_key": awsIamUserSSHKey, - "aws_iam_virtual_mfa_device": awsIamVirtualMfaDevice, - "aws_imagebuilder_component": awsImagebuilderComponent, - "aws_imagebuilder_container_recipe": awsImagebuilderContainerRecipe, - "aws_imagebuilder_distribution_configuration": awsImagebuilderDistributionConfiguration, - "aws_imagebuilder_image": awsImagebuilderImage, - "aws_imagebuilder_image_pipeline": awsImagebuilderImagePipeline, - "aws_imagebuilder_image_recipe": awsImagebuilderImageRecipe, - "aws_imagebuilder_infrastructure_configuration": awsImagebuilderInstrastructureConfiguration, - "aws_imagebuilder_workflow": awsImagebuilderWorkflow, - "aws_inspector2_delegated_admin_account": awsInspector2DelegatedAdminAccount, - "aws_inspector2_enabler": awsInspector2Enabler, - "aws_inspector2_member_association": awsInspector2MemberAssociation, - "aws_inspector2_organization_configuration": awsInspector2OrganizationConfiguration, - "aws_inspector_assessment_target": awsInspectorAssessmentTarget, - "aws_inspector_assessment_template": awsInspectorAssessmentTemplate, - "aws_inspector_resource_group": awsInspectorResouceGroup, - "aws_instance": awsInstance, - "aws_internet_gateway": awsInternetGateway, - "aws_internetmonitor_monitor": awsInternetmonitorMonitor, - "aws_iot_authorizer": awsIotAuthorizer, - "aws_iot_billing_group": awsIotBillingGroup, - "aws_iot_ca_certificate": awsIotCaCertificate, - "aws_iot_certificate": awsIotCertificate, - "aws_iot_policy": awsIotPolicy, - "aws_iot_provisioning_template": awsIotProvisioningTemplate, - "aws_iot_role_alias": awsIotRoleAlias, - "aws_iot_thing": awsIotThing, - "aws_iot_thing_group": awsIotThingGroup, - "aws_iot_thing_type": awsIotThingType, - "aws_iot_topic_rule": awsIotTopicRule, - "aws_iot_topic_rule_destination": awsIotTopicRuleDestination, - "aws_ivs_channel": awsIvsChannel, - "aws_ivs_playback_key_pair": awsIvsPlaybackKeyPair, - "aws_ivs_recording_configuration": awsIvsRecordingConfigration, - "aws_ivschat_logging_configuration": awsIvschatLoggingConfiguration, - "aws_ivschat_room": awsIvschatRoom, - "aws_kendra_data_source": awsKendraDataSource, - "aws_kendra_faq": awsKendraFaq, - "aws_kendra_index": awsKendraIndex, - "aws_key_pair": awsKeyPair, - "aws_keyspaces_keyspace": awsKeyspacesKeyspace, - "aws_keyspaces_table": awsKeyspacesTable, - "aws_kinesis_firehose_delivery_stream": awsKinesisFirehoseDeliveryStream, - "aws_kinesis_resource_policy": awsKinesisResourcePolicy, - "aws_kinesis_stream": awsKinesisStream, - "aws_kinesis_stream_consumer": awsKinesisStreamConsumer, - "aws_kinesis_video_stream": awsKinesisVideoStream, - "aws_kinesisanalyticsv2_application": awsKinesisanalyticsv2Application, - "aws_kms_alias": awsKmsAlias, - "aws_kms_ciphertext": awsKmsCiphertext, - "aws_kms_custom_key_store": awsKmsCustomKeyStore, - "aws_kms_external_key": awsKmsExternalKey, - "aws_kms_grant": awsKmsGrant, - "aws_kms_key": awsKmsKey, - "aws_kms_key_policy": awsKmsKeyPolicy, - "aws_kms_replica_external_key": awsKmsReplicaExternalKey, - "aws_kms_replica_key": awsKmsReplicaKey, - "aws_lakeformation_data_cells_filter": awsLakeformationDataCellsFilter, - "aws_lakeformation_resource_lf_tag": awsLakeformationResourceLfTag, - "aws_lambda_alias": awsLambdaAlias, - "aws_lambda_code_signing_config": awsLambdaCodeSigningConfig, - "aws_lambda_event_source_mapping": awsLambdaEventSourceMapping, - "aws_lambda_function": awsLambdaFunction, - "aws_lambda_function_event_invoke_config": awsLambdaFunctionEventInvokeConfig, - "aws_lambda_function_url": awsLambdaFunctionURL, - "aws_lambda_invocation": awsLambdaInvocation, - "aws_lambda_layer_version": awsLambdaLayerVersion, - "aws_lambda_layer_version_permission": awsLambdaLayerVersionPermission, - "aws_lambda_permission": awsLambdaPermission, - "aws_lambda_provisioned_concurrency_config": awsLambdaProvisionedConcurrencyConfig, - "aws_launch_configuration": awsLaunchConfiguration, - "aws_launch_template": awsLaunchTemplate, - "aws_lb": awsLb, - "aws_lb_cookie_stickiness_policy": awsLbCookieStickinessPolicy, - "aws_lb_listener": awsLbListener, - "aws_lb_listener_rule": awsLbListenerRule, - "aws_lb_target_group": awsLbTargetGroup, - "aws_lb_target_group_attachment": awsLbTargetGroupAttachment, - "aws_lb_trust_store": awsLbTrustStore, - "aws_lb_trust_store_revocation": awsLbTrustStoreRevocation, - "aws_lex_bot": awsLexBot, - "aws_lex_bot_alias": awsLexBotAlias, - "aws_lex_intent": awsLexIntent, - "aws_lex_slot_type": awsLexSlotType, - "aws_licensemanager_grant": awsLicencemanagerGrant, - "aws_licensemanager_license_configuration": awsLicenceManagerLicencenceConfiguration, - "aws_lightsail_bucket": awsLightsailBucket, - "aws_lightsail_certificate": awsLightsailCertificate, - "aws_lightsail_database": awsLightsailDatabase, - "aws_lightsail_disk": awsLightsailDisk, - "aws_lightsail_distribution": awsLightsailDistribution, - "aws_lightsail_instance": awsLightsailInstance, - "aws_lightsail_instance_public_ports": awsLightsailInstancePublicPorts, - "aws_lightsail_key_pair": awsLightsailKeyPair, - "aws_lightsail_lb": awsLightsailLb, - "aws_lightsail_static_ip": awsLightsailStaticIP, - "aws_lightsail_static_ip_attachment": awsLightsailStaticIPAttachment, - "aws_load_balancer_backend_server_policy": awsLoadBalancerBackendServerPolicy, - "aws_load_balancer_listener_policy": awsLoadBalancerListenerPolicy, - "aws_load_balancer_policy": awsLoadBalancerPolicy, - "aws_location_geofence_collection": awsLocationGeofenceCollection, - "aws_location_map": awsLocationMap, - "aws_location_place_index": awsLocationPlaceIndex, - "aws_location_route_calculator": awsLocationRouteCalculator, - "aws_location_tracker": awsLocationTracker, - "aws_location_tracker_association": awsLocationTrackerAssociation, - "aws_m2_application": awsM2Application, - "aws_m2_deployment": awsM2Deployment, - "aws_m2_environment": awsM2Environment, - "aws_macie2_custom_data_identifier": awsMacie2CustomDataIdentifier, - "aws_macie2_findings_filter": awsMacie2FindingsFilter, - "aws_media_convert_queue": awsMediaConvertQueue, - "aws_media_package_channel": awsMediaPackageChannel, - "aws_medialive_input": awsMedialiveInput, - "aws_medialive_input_security_group": awsMedialiveInputSecurityGroup, - "aws_medialive_multiplex": awsMedialiveMulitplex, - "aws_medialive_multiplex_program": awsMedialiveMultiplexProgram, - "aws_memorydb_acl": awsMemorydbACL, - "aws_memorydb_cluster": awsMemorydbCluster, - "aws_memorydb_parameter_group": awsMemorydbParameterGroup, - "aws_memorydb_snapshot": awsMemorydbSnapshot, - "aws_memorydb_subnet_group": awsMemorydbSubnetGroup, - "aws_memorydb_user": awsMemorydbUser, - "aws_mq_broker": awsMqBroker, - "aws_mq_configuration": awsMqConfiguration, - "aws_msk_cluster": awsMskCluster, - "aws_msk_cluster_policy": awsMskClusterPolicy, - "aws_msk_configuration": awsMskConfiguration, - "aws_msk_replicator": awsMskReplicator, - "aws_msk_scram_secret_association": awsMskScramSecretAssociation, - "aws_msk_serverless_cluster": awsMskServerlessCluster, - "aws_msk_vpc_connection": awsMskVpcConnection, - "aws_mwaa_environment": awsMwaaEnvironment, - "aws_nat_gateway": awsNatGateway, - "aws_neptune_cluster": awsNeptuneCluster, - "aws_neptune_cluster_endpoint": awsNeptuneClusterEndpoint, - "aws_neptune_cluster_instance": awsNeptuneClusterInstance, - "aws_neptune_cluster_parameter_group": awsRdsClusterParameterGroup, - "aws_neptune_cluster_snapshot": awsNeptuneClusterSnapshot, - "aws_neptune_event_subscription": awsNeptuneEventSubscription, - "aws_neptune_parameter_group": awsDBParameterGroup, - "aws_neptune_subnet_group": awsDBSubnetGroup, - "aws_network_acl": awsNetworkACL, - "aws_network_acl_association": awsNetworkACLAssociation, - "aws_network_acl_rule": awsNetworkACLRule, - "aws_network_interface": awsNetworkInterface, - "aws_network_interface_attachment": awsNetworkInterfaceAttachment, - "aws_networkfirewall_firewall": awsNetworkfirewallFirewall, - "aws_networkfirewall_firewall_policy": awsNetworkfirewallFirewallPolicy, - "aws_networkfirewall_logging_configuration": awsNetworkfirewallLoggingConfiguration, - "aws_networkfirewall_resource_policy": awsNetworkfirewallResourcePolicy, - "aws_networkfirewall_rule_group": awsNetworkfirewallRuleGroup, - "aws_networkfirewall_tls_inspection_configuration": awsNetworkfirewallTLSInspectionConfiguration, - "aws_networkmanager_connect_attachment": awsNetworkManagerConnectAttachment, - "aws_networkmanager_connect_peer": awsNetworkManagerConnectPeer, - "aws_networkmanager_core_network": awsNetworkmanagerCoreNetwork, - "aws_networkmanager_customer_gateway_association": awsNetworkmanagerCustomerGatewayAssociation, - "aws_networkmanager_device": awsNetworkmanagerDevice, - "aws_networkmanager_dx_gateway_attachment": awsNetworkmanagerDxGatewayAttachment, - "aws_networkmanager_global_network": awsNetworkmanagerGlobalNetwork, - "aws_networkmanager_link": awsNetworkmanagerLink, - "aws_networkmanager_link_association": awsNetworkmanagerLinkAssocation, - "aws_networkmanager_site": awsNetworkmanagerSite, - "aws_networkmanager_site_to_site_vpn_attachment": awsNetworkmanagerSiteToSiteVpnAttachment, - "aws_networkmanager_transit_gateway_peering": awsNetworkmanagerTransitGatewayPeering, - "aws_networkmanager_transit_gateway_registration": awsNetworkmanagerTransitGatewayRegistration, - "aws_networkmanager_transit_gateway_route_table_attachment": awsNetworkmanagerTransitGatewayRouteTableAttachment, - "aws_networkmanager_vpc_attachment": awsNetworkmanagerVpcAttachment, - "aws_oam_link": awsOamLink, - "aws_oam_sink": awsOamSink, - "aws_oam_sink_policy": awsOamSinkPolicy, - "aws_opensearch_domain": awsElasticsearchDomain, - "aws_opensearch_domain_policy": awsElasticsearchDomainPolicy, - "aws_opensearchserverless_access_policy": awsOpenseachserverlessAccessPolicy, - "aws_opensearchserverless_collection": awsOpenseachserverlessCollection, - "aws_opensearchserverless_lifecycle_policy": awsOpenseachserverlessLifecyclePolicy, - "aws_opensearchserverless_security_config": awsOpenseachserverlessSecurityConfig, - "aws_opensearchserverless_security_policy": awsOpenseachserverlessSecurityPolicy, - "aws_opensearchserverless_vpc_endpoint": awsOpenseachserverlessVpcEndpoint, - "aws_organizations_account": awsOrganizationsAccount, - "aws_organizations_organization": awsOrganizationsOrganization, - "aws_organizations_organizational_unit": awsOrganizationsOrganizationalUnit, - "aws_organizations_policy": awsOrganizationsPolicy, - "aws_organizations_policy_attachment": awsOrganizationsPolicyAttachment, - "aws_organizations_resource_policy": awsOrganizationsResourcePolicy, - "aws_osis_pipeline": awsOsisPipeline, - "aws_paymentcryptography_key": awsPaymentcrytopgraphyKey, - "aws_paymentcryptography_key_alias": awsPaymentcrytopgraphyKeyAlias, - "aws_pipes_pipe": awsPipesPipe, - "aws_placement_group": awsPlacementGroup, - "aws_proxy_protocol_policy": awsProxyProtocolPolicy, - "aws_qldb_stream": awsQldbStream, - "aws_quicksight_account_subscription": awsQuicksightAccountSubscription, - "aws_quicksight_analysis": awsQuicksightAnalysis, - "aws_quicksight_dashboard": awsQuicksightDashboard, - "aws_quicksight_data_set": awsQuicksightDataSet, - "aws_quicksight_data_source": awsQuicksightDataSource, - "aws_quicksight_folder": awsQuicksightFolder, - "aws_quicksight_folder_membership": awsQuicksightFolderMembership, - "aws_quicksight_group": awsQuicksightGroup, - "aws_quicksight_group_membership": awsQuicksightGroupMembership, - "aws_quicksight_iam_policy_assignment": awsQuicksightIamPolicyAssignment, - "aws_quicksight_ingestion": awsQuicksightIngestion, - "aws_quicksight_namespace": awsQuicksightNamespace, - "aws_quicksight_refresh_schedule": awsQuicksightRefreshSchedule, - "aws_quicksight_template": awsQuicksightTemplate, - "aws_quicksight_template_alias": awsQuicksightTemplateAlias, - "aws_quicksight_theme": awsQuicksightTheme, - "aws_quicksight_user": awsQuicksightUser, - "aws_quicksight_vpc_connection": awsQuicksightVpcConnection, - "aws_ram_principal_association": awsRAMPrincipleAssociation, - "aws_ram_resource_association": awsRAMResourceAssociation, - "aws_ram_resource_share": awsRAMResourceShare, - "aws_rds_cluster": awsRdsCluster, - "aws_rds_cluster_activity_stream": awsRdsClusterActivityStream, - "aws_rds_cluster_endpoint": awsRdsClusterEndpoint, - "aws_rds_cluster_instance": awsDBInstance, - "aws_rds_cluster_parameter_group": awsRdsClusterParameterGroup, - "aws_rds_cluster_role_association": awsRdsClusterRoleAssociation, - "aws_rds_global_cluster": awsRdsGlobalCluster, - "aws_rds_integration": awsRdsIntegration, - "aws_redshift_authentication_profile": awsRedshiftAuthenticationProfile, - "aws_redshift_cluster": awsRedshiftCluster, - "aws_redshift_cluster_iam_roles": awsRedshiftClusterIamRoles, - "aws_redshift_endpoint_access": awsRedshiftEndpointAccess, - "aws_redshift_endpoint_authorization": awsRedshiftEndpointAuthorization, - "aws_redshift_event_subscription": awsRedshiftEventSubscription, - "aws_redshift_hsm_client_certificate": awsRedshiftHsmClientCertififcate, - "aws_redshift_hsm_configuration": awsRedshiftHsmConfiguration, - "aws_redshift_parameter_group": awsRedshiftParameterGroup, - "aws_redshift_scheduled_action": awsRedshiftScheduledAction, - "aws_redshift_snapshot_copy_grant": awsRedshiftSnapshotCopyGrant, - "aws_redshift_snapshot_schedule": awsRedshiftSnapshotSchedule, - "aws_redshift_snapshot_schedule_association": awsRedshiftSnapshotScheduleAssociation, - "aws_redshift_subnet_group": awsRedshiftSubnetGroup, - "aws_redshift_usage_limit": awsRedshiftUsageLimit, - "aws_redshiftserverless_namespace": awsRedshiftserverlessNamespace, - "aws_redshiftserverless_workgroup": awsRedshiftserverlessWorkgroup, - "aws_rekognition_collection": awsRekognitionCollection, - "aws_rekognition_project": awsRekognitionProject, - "aws_rekognition_stream_processor": awsRekognitionStreamProcessor, - "aws_resourceexplorer2_index": awsResourceexplorer2Index, - "aws_resourceexplorer2_view": awsResourceexplorer2View, - "aws_resourcegroups_group": awsResourcegroupsGroup, - "aws_rolesanywhere_profile": awsRolesanywhereProfile, - "aws_rolesanywhere_trust_anchor": awsRolesanywhereTrustAnchor, - "aws_route": awsRoute, - "aws_route53_cidr_collection": awsRoute53CidrCollection, - "aws_route53_cidr_location": awsRoute53CidrLocation, - "aws_route53_delegation_set": awsRoute53DelegationSet, - "aws_route53_health_check": awsRoute53HealthCheck, - "aws_route53_hosted_zone_dnssec": awsRoute53HostedZoneDnssec, - "aws_route53_key_signing_key": awsRoute53KeySiginingKey, - "aws_route53_query_log": awsRoute53QueryLog, - "aws_route53_record": awsRoute53Record, - "aws_route53_resolver_config": awsRoute53ResolverConfig, - "aws_route53_resolver_dnssec_config": awsRoute53ResolverDnssecConfig, - "aws_route53_resolver_endpoint": awsRoute53ResolverEndpoint, - "aws_route53_resolver_firewall_config": awsRoute53ResolverFirewallConfig, - "aws_route53_resolver_firewall_domain_list": awsRoute53ResolverFirewallDomainList, - "aws_route53_resolver_firewall_rule": awsRoute53ResolverFirewallRule, - "aws_route53_resolver_firewall_rule_group": awsRoute53ResolverFirewallRuleGroup, - "aws_route53_resolver_firewall_rule_group_association": awsRoute53ResolverFirewallRuleGroupAssociation, - "aws_route53_resolver_query_log_config": awsRoute53ResolverQueryLogConfig, - "aws_route53_resolver_query_log_config_association": awsRoute53ResolverQueryLogConfigAssociation, - "aws_route53_resolver_rule": awsRoute53ResolverRule, - "aws_route53_resolver_rule_association": awsRoute53ResolverRuleAssociation, - "aws_route53_traffic_policy": awsRoute53TrafficPolicy, - "aws_route53_traffic_policy_instance": awsRoute53TrafficPolicyInstance, - "aws_route53_vpc_association_authorization": awsRoute53VpcAssociationAuthorization, - "aws_route53_zone": awsRoute53Zone, - "aws_route53_zone_association": awsRoute53ZoneAssociation, - "aws_route53recoverycontrolconfig_cluster": awsRoute53recoverycontrolconfigCluster, - "aws_route53recoverycontrolconfig_control_panel": awsRoute53recoverycontrolconfigControlPanel, - "aws_route53recoverycontrolconfig_routing_control": awsRoute53recoverycontrolconfigRoutingControl, - "aws_route53recoverycontrolconfig_safety_rule": awsRoute53recoverycontrolconfigSafetyRule, - "aws_route53recoveryreadiness_cell": awsRoute53recoveryreadinessCell, - "aws_route53recoveryreadiness_readiness_check": awsRoute53recoveryreadinessReadinessCheck, - "aws_route53recoveryreadiness_recovery_group": awsRoute53recoveryreadinessRecoveryGroup, - "aws_route53recoveryreadiness_resource_set": awsRoute53recoveryreadinessResourceSet, - "aws_route_table": awsRouteTable, - "aws_route_table_association": awsRouteTableAssociation, - "aws_rum_app_monitor": awsRumAppMonitor, - "aws_s3_access_point": awsS3AccessPoint, - "aws_s3_account_public_access_block": awsS3AccountPublicAccessBlock, - "aws_s3_bucket": awsS3Bucket, - "aws_s3_bucket_accelerate_configuration": awsS3BucketAccelerateConfiguration, - "aws_s3_bucket_acl": awsS3BucketACL, - "aws_s3_bucket_analytics_configuration": awsS3BucketAnalyticsConfiguration, - "aws_s3_bucket_cors_configuration": awsS3BucketCorsConfiguration, - "aws_s3_bucket_intelligent_tiering_configuration": awsS3BucketIntelligentTieringConfiguration, - "aws_s3_bucket_inventory": awsS3BucketInventory, - "aws_s3_bucket_lifecycle_configuration": awsS3BucketLifecycleConfiguration, - "aws_s3_bucket_logging": awsS3BucketLogging, - "aws_s3_bucket_metric": awsS3BucketMetric, - "aws_s3_bucket_notification": awsS3BucketNotification, - "aws_s3_bucket_object": awsS3Object, - "aws_s3_bucket_object_lock_configuration": awsS3BucketObjectLockCOnfiguration, - "aws_s3_bucket_ownership_controls": awsS3BucketOwnershipControls, - "aws_s3_bucket_policy": awsS3BucketPolicy, - "aws_s3_bucket_public_access_block": awsS3BucketPublicAccessBlock, - "aws_s3_bucket_replication_configuration": awsS3BucketReplicationConfiguration, - "aws_s3_bucket_request_payment_configuration": awsS3BucketRequestPaymentConfiguration, - "aws_s3_bucket_server_side_encryption_configuration": awsS3BucketServerSideEncryptionConfiguration, - "aws_s3_bucket_versioning": awsS3BucketVersioning, - "aws_s3_bucket_website_configuration": awsS3BucketWebsiteConfiguration, - "aws_s3_object": awsS3Object, - "aws_s3control_access_grant": awsS3controlAccessGrant, - "aws_s3control_access_grants_instance": awsS3controlAccessGrantInstance, - "aws_s3control_access_grants_location": awsS3controlAccessGrantLocation, - "aws_s3control_access_point_policy": awsS3controlAccessPointPolicy, - "aws_s3control_multi_region_access_point": awscontrolMultiRegionAccessPoint, - "aws_s3control_multi_region_access_point_policy": awscontrolMultiRegionAccessPointPolicy, - "aws_s3outposts_endpoint": awsS3outpostsEndpoint, - "aws_s3tables_namespace": awsS3tablesNamespace, - "aws_s3tables_table": awsS3tablesTable, - "aws_s3tables_table_bucket": awsS3tablesTableBucket, - "aws_s3tables_table_bucket_policy": awsS3tablesTableBucketPolicy, - "aws_s3tables_table_policy": awsS3tablesTablePolicy, - "aws_sagemaker_app": awsSagemakerApp, - "aws_sagemaker_app_image_config": awsSagemakerAppImageConfig, - "aws_sagemaker_code_repository": awsSagemakerCodeRepository, - "aws_sagemaker_data_quality_job_definition": awsSagemakerDataQualityJobDefinition, - "aws_sagemaker_device": awsSagemakerDevice, - "aws_sagemaker_device_fleet": awsSagemakerDeviceFleet, - "aws_sagemaker_domain": awsSagemakerDomain, - "aws_sagemaker_endpoint": awsSagemakerEndpoint, - "aws_sagemaker_endpoint_configuration": awsSagemakerEndpointConfiguration, - "aws_sagemaker_feature_group": awsSagemakerFeatureGroup, - "aws_sagemaker_human_task_ui": awsSagemakerHumanTaskUI, - "aws_sagemaker_image": awsSagemakerImage, - "aws_sagemaker_image_version": awsSagemakerImageVersion, - "aws_sagemaker_model": awsSagemakerModel, - "aws_sagemaker_model_package_group": awsSagemakerModelPackageGroup, - "aws_sagemaker_model_package_group_policy": awsSagemakerModelPackageGroupPolicy, - "aws_sagemaker_monitoring_schedule": awsSagemakerMonitoringSchedule, - "aws_sagemaker_notebook_instance": awsSagemakerNotebookInstance, - "aws_sagemaker_notebook_instance_lifecycle_configuration": awsSagemakerNotebookInstanceLifecycleConfiguration, - "aws_sagemaker_pipeline": awsSagemakerPipeline, - "aws_sagemaker_project": awsSagemakerProject, - "aws_sagemaker_servicecatalog_portfolio_status": awsSagemakerServicecatalogPortfolioStatus, - "aws_sagemaker_space": awsSagemakerSpace, - "aws_sagemaker_studio_lifecycle_config": awsSagemakerStudioLifecycleConfig, - "aws_sagemaker_user_profile": awsSagemakerUserProfile, - "aws_sagemaker_workforce": awsSagemakerWorkforce, - "aws_sagemaker_workteam": awsSagemakerWorkteam, - "aws_scheduler_schedule": awsSchedulerSchedule, - "aws_scheduler_schedule_group": awsSchedulerScheduleGroup, - "aws_schemas_discoverer": awsSchemasDiscoverer, - "aws_schemas_registry": awsSchemasRegistry, - "aws_schemas_registry_policy": awsSchemasRegistryPolicy, - "aws_schemas_schema": awsSchemasSchema, - "aws_secretsmanager_secret": awsSecretsmanagerSecret, - "aws_secretsmanager_secret_policy": awsSecretsmanagerSecretPolicy, - "aws_secretsmanager_secret_rotation": awsSecretsmanagerSecretRotation, - "aws_secretsmanager_secret_version": awsSecretsmanagerSecretVersion, - "aws_security_group": awsSecurityGroup, - "aws_security_group_rule": awsSecurityGroupRule, - "aws_securityhub_automation_rule": awsSecurityhubAutomationRule, - "aws_securityhub_configuration_policy": awsSecurityhubConfigurationPolicy, - "aws_securityhub_finding_aggregator": awsSecurityhubFindingAggregator, - "aws_securityhub_insight": awsSecurityhubInsight, - "aws_securityhub_organization_configuration": awsSecurityhubOrganizationConfiguration, - "aws_securityhub_product_subscription": awsSecurityhubProductSubscription, - "aws_securityhub_standards_control": awsSecurityhubStandardsControl, - "aws_securitylake_aws_log_source": awsSecuritylakeAwsLogSource, - "aws_securitylake_data_lake": awsSecuritylakeDataLake, - "aws_securitylake_subscriber": awsSecuritylakeSubscriber, - "aws_securitylake_subscriber_notification": awsSecuritylakeSubscriberNotification, - "aws_servicecatalog_budget_resource_association": awsServicecatalogBudgetResourceAssociation, - "aws_servicecatalog_constraint": awsServicecatalogConstraint, - "aws_servicecatalog_organizations_access": awsServicecatalogOrganizationAccess, - "aws_servicecatalog_portfolio": awsServicecatalogPortfolio, - "aws_servicecatalog_portfolio_share": awsServicecatalogPortfolioShare, - "aws_servicecatalog_principal_portfolio_association": awsServicecatalogPrincipalPortfolioAssociation, - "aws_servicecatalog_product": awsServicecatalogProduct, - "aws_servicecatalog_product_portfolio_association": awsServicecatalogProductPortfolioAssociation, - "aws_servicecatalog_provisioned_product": awsServicecatalogProvisionedProduct, - "aws_servicecatalog_service_action": awsServicecatalogServiceAction, - "aws_servicecatalog_tag_option": awsServicecatalogTagOption, - "aws_servicecatalog_tag_option_resource_association": awsServicecatalogTagOptionResourceAssociation, - "aws_servicecatalogappregistry_application": awsServicecatalogappregistryApplication, - "aws_servicequotas_service_quota": awsServicequotasServiceQuota, - "aws_servicequotas_template": awsServiceQuotasTemplate, - "aws_servicequotas_template_association": awsServiceQuotasTemplateAssociation, - "aws_ses_active_receipt_rule_set": awsSesActiveReceiptRuleSet, - "aws_ses_configuration_set": awsSesConfigurationSet, - "aws_ses_domain_dkim": awsSesDomainDkim, - "aws_ses_domain_identity": awsSesDomainIdentity, - "aws_ses_domain_identity_verification": awsSesDomainIdentityVerification, - "aws_ses_domain_mail_from": awsSesDomainMailFrom, - "aws_ses_email_identity": awsSesEmailIdentity, - "aws_ses_event_destination": awsSesEventDestination, - "aws_ses_identity_notification_topic": awsSesIdentityNotificationTopic, - "aws_ses_identity_policy": awsSesIdentityPolicy, - "aws_ses_receipt_filter": awsSesReceiptFilter, - "aws_ses_receipt_rule": awsSesReceiptRule, - "aws_ses_receipt_rule_set": awsSesReceiptRuleSet, - "aws_ses_template": awsSesTemplate, - "aws_sfn_activity": awsSfnActivity, - "aws_sfn_alias": awsSfnAlias, - "aws_sfn_state_machine": awsSfnStateMachine, - "aws_shield_proactive_engagement": awsShieldProactiveEngagement, - "aws_shield_protection": awsShieldProtection, - "aws_shield_protection_group": awsShieldProtectionGroup, - "aws_signer_signing_job": awsSignerSigningJob, - "aws_signer_signing_profile": awsSignerSigningProfile, - "aws_signer_signing_profile_permission": awsSignerSigningProfilePermission, - "aws_simpledb_domain": awsSimpledbDomain, - "aws_snapshot_create_volume_permission": awsSnapshotCreateVolumePermission, - "aws_sns_platform_application": awsSnsPlatformApplication, - "aws_sns_sms_preferences": awsSnsSmsPreferences, - "aws_sns_topic": awsSnsTopic, - "aws_sns_topic_data_protection_policy": awsSnsTopicDataProtection, - "aws_sns_topic_policy": awsSnsTopicPolicy, - "aws_sns_topic_subscription": awsSnsTopicSubscription, - "aws_spot_fleet_request": awsSpotFleetRequest, - "aws_spot_instance_request": awsSpotInstanceRequest, - "aws_sqs_queue": awsSqsQueue, - "aws_sqs_queue_policy": awsSqsQueuePolicy, - "aws_sqs_queue_redrive_allow_policy": awsSqsQueueRedriveAllowPolicy, - "aws_sqs_queue_redrive_policy": awsSqsQueueRedrivePolicy, - "aws_ssm_association": awsSsmAssociation, - "aws_ssm_document": awsSsmDocument, - "aws_ssm_maintenance_window": awsSsmMaintenanceWindow, - "aws_ssm_maintenance_window_target": awsSsmMaintenanceWindowTarget, - "aws_ssm_maintenance_window_task": awsSsmMaintenanceWindowTask, - "aws_ssm_parameter": awsSsmParameter, - "aws_ssm_patch_baseline": awsSsmPatchBaseline, - "aws_ssm_patch_group": awsSsmPatchGroup, - "aws_ssm_resource_data_sync": awsSsmResourceDataSync, - "aws_ssmcontacts_contact": awsSsmcontactsContact, - "aws_ssmcontacts_contact_channel": awsSsmcontactContactChannel, - "aws_ssmcontacts_plan": awsSsmcontactsPlan, - "aws_ssmcontacts_rotation": awsSsmcontactsRotation, - "aws_ssmincidents_replication_set": awsSsmincidentsReplicationSet, - "aws_ssmincidents_response_plan": awsSsmincidentsResponsePlan, - "aws_ssoadmin_application": awsSsoadminApplication, - "aws_ssoadmin_application_assignment": awsSsoadminApplicationAssignment, - "aws_ssoadmin_permission_set": awsSsoadminPermissionSet, - "aws_storagegateway_cache": awsStoragegatewayCache, - "aws_storagegateway_cached_iscsi_volume": awsStoragegatewayCachedIscsiVolume, - "aws_storagegateway_file_system_association": awsStoragegatewayFileSystemAssociation, - "aws_storagegateway_gateway": awsStoragegatewayGateway, - "aws_storagegateway_nfs_file_share": awsStoragegatewayNfsFileShare, - "aws_storagegateway_smb_file_share": awsStoragegatewaySmbFileShare, - "aws_storagegateway_stored_iscsi_volume": awsStoragegatewayStoredIscsiVolume, - "aws_storagegateway_tape_pool": awsStoragegatewayTapePool, - "aws_storagegateway_upload_buffer": awsStoragegatewayUploadBuffer, - "aws_storagegateway_working_storage": awsStoragegatewayWorkingStorage, - "aws_subnet": awsSubnet, - "aws_swf_domain": awsSwfDomain, - "aws_synthetics_canary": awsSyntheticsCanary, - "aws_synthetics_group": awsSyntheticsGroup, - "aws_synthetics_group_association": awsSyntheticsGroupAssociation, - "aws_timestreaminfluxdb_db_instance": awsTimestreamhubFindingAggregator, - "aws_timestreamwrite_database": awsTimestreamwriteDatabase, - "aws_timestreamwrite_table": awsTimestreamwriteTable, - "aws_transcribe_language_model": awsTranscribeLanguageModel, - "aws_transcribe_medical_vocabulary": awsTranscribeMedicalVocabulary, - "aws_transcribe_vocabulary": awsTranscribeVocabulary, - "aws_transcribe_vocabulary_filter": awsTranscribeVocabularyFilter, - "aws_transfer_agreement": awsTransferAgreement, - "aws_transfer_certificate": awsTransferCertificate, - "aws_transfer_connector": awsTransferConnector, - "aws_transfer_profile": awsTransferProfile, - "aws_transfer_workflow": awsTransferWorkflow, - "aws_verifiedaccess_endpoint": awsVerifiedaccessEndpoint, - "aws_verifiedaccess_group": awsVerifiedaccessGroup, - "aws_verifiedaccess_instance": awsVerifiedaccessInstance, - "aws_verifiedaccess_instance_logging_configuration": awsVerifiedaccessInstanceLoggingConfiguration, - "aws_verifiedaccess_trust_provider": awsVerifiedaccessTrustProvider, - "aws_verifiedpermissions_identity_source": awsVerifiedpermissionsIdentitySource, - "aws_verifiedpermissions_policy": awsVerifiedpermissionsPolicy, - "aws_verifiedpermissions_policy_store": awsVerifiedpermissionsPolicyStore, - "aws_verifiedpermissions_policy_template": awsVerifiedpermissionsPolicyTemplate, - "aws_volume_attachment": awsVolumeAttachment, - "aws_vpc": awsVpc, - "aws_vpc_dhcp_options": awsVpcDhcpOptions, - "aws_vpc_dhcp_options_association": awsVpcDhcpOptionsAssociation, - "aws_vpc_endpoint": awsVpcEndpoint, - "aws_vpc_endpoint_connection_notification": awsVpcEndpointConnectionNotification, - "aws_vpc_endpoint_route_table_association": awsVpcEndpointRouteTableAssociation, - "aws_vpc_endpoint_service": awsVpcEndpointService, - "aws_vpc_endpoint_subnet_association": awsVpcEndpointSubnetAssociation, - "aws_vpc_ipam": awsVpcIpam, - "aws_vpc_ipam_pool": awsVpcIpamPool, - "aws_vpc_ipam_pool_cidr": awsVpcIpamPoolCidr, - "aws_vpc_ipam_pool_cidr_allocation": awsVpcIpamPoolCidrAllocation, - "aws_vpc_ipam_preview_next_cidr": awsVpcIpamPreviewNextCidr, - "aws_vpc_ipam_resource_discovery": awsVpcIpamResourceDiscovery, - "aws_vpc_ipam_resource_discovery_association": awsVpcIpamResourceDiscoveryAssociation, - "aws_vpc_ipam_scope": awsVpcIpamScope, - "aws_vpc_ipv4_cidr_block_association": awsVpcIpv4CidrBlockAssociation, - "aws_vpc_peering_connection": awsVpcPeeringConnection, - "aws_vpc_peering_connection_accepter": awsVpcPeeringConnectionAccepter, - "aws_vpc_peering_connection_options": awsVpcPeeringConnectionOptions, - "aws_vpc_security_group_egress_rule": awsVpcSecurityGroupEgressRule, - "aws_vpc_security_group_ingress_rule": awsVpcSecurityGroupIngressRule, - "aws_vpclattice_access_log_subscription": awsVpclatticeAccesLogSubscription, - "aws_vpclattice_auth_policy": awsVpclatticeAuthPolicy, - "aws_vpclattice_listener": awsVpclatticeListener, - "aws_vpclattice_listener_rule": awsVpclatticeListernerRule, - "aws_vpclattice_resource_policy": awsVpclatticeResourcePolicy, - "aws_vpclattice_service": awsVpclatticeService, - "aws_vpclattice_service_network": awsVpclatticeServiceNetwork, - "aws_vpclattice_service_network_service_association": awsVpclatticeServiceNetworkServiceAssocation, - "aws_vpclattice_service_network_vpc_association": awsVpclatticeServiceNetworkVpcAssociation, - "aws_vpclattice_target_group": awsVpclatticeTargetGroup, - "aws_vpclattice_target_group_attachment": awsVpclatticeTargetGroupAssociation, - "aws_vpn_connection": awsVpnConnection, - "aws_vpn_connection_route": awsVpnConnectionRoute, - "aws_vpn_gateway": awsVpnGateway, - "aws_vpn_gateway_attachment": awsVpnGatewayAttachment, - "aws_vpn_gateway_route_propagation": awsVpnGatewayRoutePropagation, - "aws_waf_byte_match_set": awsWafByteMatchSet, - "aws_waf_geo_match_set": awsWafGeoMatchSet, - "aws_waf_ipset": awsWafIpset, - "aws_waf_rate_based_rule": awsWafRateBasedRule, - "aws_waf_regex_match_set": awsWafRegexMatchSet, - "aws_waf_regex_pattern_set": awsWafRegexPatternSet, - "aws_waf_rule": awsWafRule, - "aws_waf_rule_group": awsWafRuleGroup, - "aws_waf_size_constraint_set": awsWafSizeConstraintSet, - "aws_waf_sql_injection_match_set": awsWafSQLInjectionMatchSet, - "aws_waf_web_acl": awsWafWebACL, - "aws_waf_xss_match_set": awsWafXSSNatchSet, - "aws_wafregional_byte_match_set": awsWafregionalByteMatchSet, - "aws_wafregional_geo_match_set": awsWafregionalGeoMatchSet, - "aws_wafregional_ipset": awsWafregionalIpset, - "aws_wafregional_rate_based_rule": awsWafregionalRateBasedRule, - "aws_wafregional_regex_match_set": awsWafregionalRegexMatchSet, - "aws_wafregional_regex_pattern_set": awsWafregionalRegexPatternSet, - "aws_wafregional_rule": awsWafregionalRule, - "aws_wafregional_rule_group": awsWafregionalRuleGroup, - "aws_wafregional_size_constraint_set": awsWafregionalSizeConstraintSet, - "aws_wafregional_sql_injection_match_set": awsWafregionalSQLInjectionMatchSet, - "aws_wafregional_web_acl": awsWafregionalWebACL, - "aws_wafregional_xss_match_set": awsWafregionalXSSNatchSet, - "aws_wafv2_ip_set": awsWafv2IpSet, - "aws_wafv2_regex_pattern_set": awsWafv2RegexPatternSet, - "aws_wafv2_rule_group": awsWafv2RuleGroup, - "aws_wafv2_web_acl": awsWafv2WebACL, - "aws_wafv2_web_acl_association": awsWafv2WebACLAssociation, - "aws_wafv2_web_acl_logging_configuration": awsWafv2WebACLLoggingConfiguration, - "aws_workspaces_connection_alias": awsWorkspacesConnectionAlias, - "aws_workspaces_directory": awsWorkspacesDirectory, - "aws_workspaces_ip_group": awsWorkspacesIPGroup, - "aws_workspaces_workspace": awsWorkspacesWorkspace, - "aws_xray_encryption_config": awsXrayEncryptionConfig, - "aws_xray_group": awsXrayGroup, - "aws_xray_sampling_rule": awsXraySamplingRule, - "backend": s3backend, - "aws_api_gateway_domain_name_access_association": awsApiGatewayDomainNameAccessAssociation, - "aws_appconfig_deployment_strategy": awsAppconfigDeploymentStrategy, - "aws_appmesh_gateway_route": awsAppmeshGatewayRoute, - "aws_appmesh_mesh": awsAppmeshMesh, - "aws_appmesh_route": awsAppmeshRoute, - "aws_appmesh_virtual_gateway": awsAppmeshVirtualGateway, - "aws_appmesh_virtual_node": awsAppmeshVirtualNode, - "aws_appmesh_virtual_router": awsAppmeshVirtualRouter, - "aws_appmesh_virtual_service": awsAppmeshVirtualService, - "aws_appstream_directory_config": awsAppstreamDirectoryConfig, - "aws_appstream_fleet": awsAppstreamFleet, - "aws_appstream_fleet_stack_association": awsAppstreamFleetStackAssociation, - "aws_appstream_stack": awsAppstreamStack, - "aws_appstream_user": awsAppstreamUser, - "aws_appstream_user_stack_association": awsAppstreamUserStackAssociation, - "aws_appsync_api_cache": awsAppsyncApiCache, - "aws_appsync_api_key": awsAppsyncApiKey, - "aws_appsync_datasource": awsAppsyncDatasource, - "aws_appsync_source_api_association": awsAppsyncSourceApiAssociation, - "aws_appsync_type": awsAppsyncType, - } -) +var tFLookup = map[string]interface{}{ //nolint:gochecknoglobals + "aws_accessanalyzer_analyzer": awsAccessAnalyzer, + "aws_accessanalyzer_archive_rule": awsAccessAnalyzerArchiveRule, + "aws_account_alternate_contact": awsAccountAlternativeContact, + "aws_account_primary_contact": awsAccountPrimaryContact, + "aws_account_region": awsAccountRegion, + "aws_acm_certificate": AWSAcmCertificate, + "aws_acm_certificate_validation": placeholder, + "aws_acmpca_certificate": awsAcmpcaCertificate, + "aws_acmpca_certificate_authority": awsAcmpcaCertificateAuthority, + "aws_acmpca_certificate_authority_certificate": awsAcmpcaCertificateAuthorityCertificate, + "aws_acmpca_permission": awsAcmpcaPermission, + "aws_acmpca_policy": awsAcmpcaPolicy, + "aws_alb": awsLb, + "aws_alb_listener": awsLbListener, + "aws_alb_target_group": awsLbTargetGroup, + "aws_alb_target_group_attachment": awsLbTargetGroupAttachment, + "aws_ami": awsAmi, + "aws_ami_copy": awsAmiCopy, + "aws_ami_from_instance": awsAmiFromInstance, + "aws_ami_launch_permission": awsAmiLauchPermission, + "aws_amplify_app": awsAmplifyApp, + "aws_amplify_branch": awsAmplifyBranch, + "aws_amplify_domain_association": awsAmplifyDomainAssociation, + "aws_api_gateway_account": awsAPIGatewayAccount, + "aws_api_gateway_api_key": awsApigatewayv2Api, + "aws_api_gateway_authorizer": awsApigatewayv2Api, + "aws_api_gateway_base_path_mapping": awsApigatewayv2Api, + "aws_api_gateway_client_certificate": awsAPIGatewayRestAPI, + "aws_api_gateway_deployment": awsApigatewayv2Api, + "aws_api_gateway_documentation_part": awsApigatewayv2Api, + "aws_api_gateway_documentation_version": awsApigatewayv2Api, + "aws_api_gateway_domain_name": awsApigatewayv2Api, + "aws_api_gateway_gateway_response": awsApigatewayv2Api, + "aws_api_gateway_integration": awsApigatewayv2Api, + "aws_api_gateway_integration_response": awsApigatewayv2Api, + "aws_api_gateway_method": awsApigatewayv2Api, + "aws_api_gateway_method_response": awsApigatewayv2Api, + "aws_api_gateway_method_settings": awsApigatewayv2Api, + "aws_api_gateway_model": awsApigatewayv2Api, + "aws_api_gateway_request_validator": awsAPIGatewayRestAPI, + "aws_api_gateway_resource": awsApigatewayv2Api, + "aws_api_gateway_rest_api": awsAPIGatewayRestAPI, + "aws_api_gateway_rest_api_policy": awsApigatewayv2Api, + "aws_api_gateway_stage": awsApigatewayv2Api, + "aws_api_gateway_usage_plan": awsApigatewayv2Api, + "aws_api_gateway_usage_plan_key": awsApigatewayv2Api, + "aws_api_gateway_vpc_link": awsApigatewayv2Api, + "aws_apigatewayv2_api": awsApigatewayv2Api, + "aws_apigatewayv2_api_mapping": awsApigatewayv2Api, + "aws_apigatewayv2_authorizer": awsApigatewayv2Api, + "aws_apigatewayv2_deployment": awsApigatewayv2Api, + "aws_apigatewayv2_domain_name": awsApigatewayv2Api, + "aws_apigatewayv2_integration": awsApigatewayv2Api, + "aws_apigatewayv2_integration_response": awsApigatewayv2Api, + "aws_apigatewayv2_model": awsApigatewayv2Api, + "aws_apigatewayv2_route": awsApigatewayv2Api, + "aws_apigatewayv2_route_response": awsApigatewayv2Api, + "aws_apigatewayv2_stage": awsApigatewayv2Api, + "aws_apigatewayv2_vpc_link": awsApigatewayv2Api, + "aws_app_cookie_stickiness_policy": awsAppCookieStickinessPolicy, + "aws_appautoscaling_policy": awsAppautoscalingPolicy, + "aws_appautoscaling_scheduled_action": awsAppautoscalingScheduledAction, + "aws_appautoscaling_target": awsAppautoscalingTarget, + "aws_appconfig_application": awsAppconfigApplication, + "aws_appconfig_configuration_profile": awsAppconfigConfigurationProfile, + "aws_appconfig_deployment": awsAppconfigDeployment, + "aws_appconfig_environment": awsAppconfigEnvironment, + "aws_appconfig_extension": awsAppconfigExtension, + "aws_appconfig_extension_association": awsAppconfigExtensionAssociation, + "aws_appconfig_hosted_configuration_version": awsAppconfigHostedConfigurationVersion, + "aws_appflow_connector_profile": awsAppflowConnectorProfile, + "aws_appflow_flow": awsAppflowFlow, + "aws_appintegrations_data_integration": awsAppintegrationsDataIntegration, + "aws_appintegrations_event_integration": awsAppintegrationsEventIntegration, + "aws_applicationinsights_application": awsApplicationinsightsApplication, + "aws_apprunner_auto_scaling_configuration_version": awsApprunnerAutoScalingConfigurationVersion, + "aws_apprunner_default_auto_scaling_configuration_version": awsApprunnerDefaultAutoScalingConfigurationVersion, //nolint:lll + "aws_apprunner_observability_configuration": awsApprunnerObservabilityConfiguration, + "aws_apprunner_service": awsApprunnerService, + "aws_apprunner_vpc_connector": awsApprunnerVpcConnector, + "aws_apprunner_vpc_ingress_connection": awsApprunnerVpcIngressConnection, + "aws_appstream_image_builder": awsAppstreamImageBuilder, + "aws_appsync_domain_name": awsAppsyncDomainName, + "aws_appsync_domain_name_api_association": awsAppsyncDomainNameAPIAssociation, + "aws_appsync_function": awsAppsyncFunction, + "aws_appsync_graphql_api": awsAppsyncGraphAPI, + "aws_appsync_resolver": awsAppsyncResolver, + "aws_athena_data_catalog": awsAthenaDataCatalog, + "aws_athena_database": awsAthenaDatabase, + "aws_athena_named_query": awsAthenaNamedQuery, + "aws_athena_prepared_statement": awsAthenaPreparedStatement, + "aws_athena_workgroup": awsAthenaWorkgroup, + "aws_auditmanager_account_registration": awsAuditmanagerAccountRegistration, + "aws_auditmanager_assessment": awsAuditmanagerAssessment, + "aws_auditmanager_assessment_delegation": awsAuditmanagerAssessmentDelegation, + "aws_auditmanager_assessment_report": awsAuditmanagerAssessmentReport, + "aws_auditmanager_control": awsAuditmanagerControl, + "aws_auditmanager_framework": awsAuditmanagerFramework, + "aws_auditmanager_framework_share": awsAuditmanagerFrameworkShare, + "aws_auditmanager_organization_admin_account_registration": awsAuditmanagerOrganizationAdminAccountRegistration, + "aws_autoscaling_attachment": awsAutoscalingAttachment, + "aws_autoscaling_group": awsAutoscalingGroup, + "aws_autoscaling_group_tag": awsAutoscalingGroupTag, + "aws_autoscaling_lifecycle_hook": awsAutoscalingLifecycleHook, + "aws_autoscaling_notification": awsAutoscalingNotification, + "aws_autoscaling_policy": awsAutoscalingPolicy, + "aws_autoscaling_schedule": awsAutoscalingSchedule, + "aws_autoscaling_traffic_source_attachment": awsAutoscalingTrafficSourceAttachment, + "aws_autoscalingplans_scaling_plan": awsAutoscalingplansScalingPlan, + "aws_backup_framework": awsBackupFramework, + "aws_backup_global_settings": awsBackupGlobalSettings, + "aws_backup_logically_air_gapped_vault": awsBackupLogicallyAirGappedVault, + "aws_backup_plan": awsBackupPlan, + "aws_backup_region_settings": awsBackupRegionSettings, + "aws_backup_report_plan": awsBackupReportPlan, + "aws_backup_selection": awsBackupSelection, + "aws_backup_vault": awsBackupVault, + "aws_backup_vault_lock_configuration": awsBackupVaultLockConfiguration, + "aws_backup_vault_notifications": awsBackupVaultNotification, + "aws_backup_vault_policy": awsBackupVaultPolicy, + "aws_batch_compute_environment": awsBatchComputeEnvironment, + "aws_batch_job_definition": awsBatchJobDefinition, + "aws_batch_job_queue": awsBatchJobQueue, + "aws_batch_scheduling_policy": awsBatchSchedulingPolicy, + "aws_bcmdataexports_export": awsBcmdataexportsExport, + "aws_bedrock_custom_model": awsBedrockCustomModel, + "aws_bedrock_inference_profile": awsBedrockInferenceProfile, + "aws_bedrock_model_invocation_logging_configuration": awsBedrockModelInvocationLoggingConfiguration, + "aws_bedrock_provisioned_model_throughput": awsBedrockProvisionedModelThroughput, + "aws_bedrockagent_agent": awsBedrockagentAgent, + "aws_bedrockagent_agent_action_group": awsBedrockagentActionGroup, + "aws_bedrockagent_agent_alias": awsBedrockagentAgentAlias, + "aws_bedrockagent_data_source": awsBedrockagentDatasource, + "aws_bedrockagent_knowledge_base": awsBedrockagentKnowledgeBase, + "aws_budgets_budget": awsBudgetsBudget, + "aws_budgets_budget_action": awsBudgetsBudgetAction, + "aws_ce_anomaly_monitor": awsCeAnomalyMonitor, + "aws_ce_anomaly_subscription": awsCeAnomalySubscription, + "aws_ce_cost_allocation_tag": awsCeCostAllocationTag, + "aws_ce_cost_category": awsCeCostCategory, + "aws_chatbot_slack_channel_configuration": awsChatbotSlackChannelConfiguration, + "aws_chatbot_teams_channel_configuration": awsChatbotTeamsChannelConfiguration, + "aws_chime_voice_connector": awsChimeVoiceConnector, + "aws_chime_voice_connector_group": awsChimeVoiceConnectorGroup, + "aws_chime_voice_connector_logging": awsChimeVoiceConnectorLogging, + "aws_chime_voice_connector_origination": awsChimeVoiceConnectorOrigination, + "aws_chime_voice_connector_streaming": awsChimeVoiceConnectorStreaming, + "aws_chime_voice_connector_termination": awsChimeVoiceConnectorTermination, + "aws_chime_voice_connector_termination_credentials": awsChimeVoiceConnectorTerminationCredentials, + "aws_chimesdkmediapipelines_media_insights_pipeline_configuration": awsChimesdkmediapipelinesMediaInsightsPipelineConfiguration, + "aws_chimesdkvoice_global_settings": awsChimesdkvoiceGlobalSettings, + "aws_chimesdkvoice_sip_media_application": awsChimesdkvoiceSIPMediaApplication, + "aws_chimesdkvoice_sip_rule": awsChimesdkvoiceSIPRule, + "aws_chimesdkvoice_voice_profile_domain": awsChimesdkvoiceVoiceProfileDomain, + "aws_cleanrooms_collaboration": awsCleanroomsCollaboration, + "aws_cleanrooms_configured_table": awsCleanroomsConfiguredTable, + "aws_cloud9_environment_ec2": awsCloud9EnvironmentEc2, + "aws_cloudformation_stack": awsCloudformationStack, + "aws_cloudformation_stack_set": awsCloudFormationStackSet, + "aws_cloudformation_stack_set_instance": awsCloudFormationStackSetInstance, + "aws_cloudformation_type": awsCloudformationType, + "aws_cloudfront_cache_policy": awsCloudfrontCachePolicy, + "aws_cloudfront_continuous_deployment_policy": awsCloudfrontContinuousDeploymentPolicy, + "aws_cloudfront_distribution": awsCloudfrontDistribution, + "aws_cloudfront_field_level_encryption_config": awsCloudfrontFieldLevelEncryptionConfig, + "aws_cloudfront_field_level_encryption_profile": awsCloudfrontFieldLevelEncryptionProfile, + "aws_cloudfront_function": awsCloudfrontFunction, + "aws_cloudfront_key_group": awsCloudfrontKeyGroup, + "aws_cloudfront_key_value_store": awsCloudfrontKeyValueStore, + "aws_cloudfront_monitoring_subscription": awsCloudfrontMonitoringSubscription, + "aws_cloudfront_origin_access_control": awsCloudfrontOriginAccessControl, + "aws_cloudfront_origin_access_identity": awsCloudfrontOriginAccessIdentity, + "aws_cloudfront_origin_request_policy": awsCloudfrontOriginRequestPolicy, + "aws_cloudfront_public_key": awsCloudfrontPublicKey, + "aws_cloudfront_realtime_log_config": awsCloudfrontRealtimeLogConfig, + "aws_cloudfront_response_headers_policy": awsCloudfrontResponseHeadersPolicy, + "aws_cloudfrontkeyvaluestore_key": awsCloudfrontkeyvaluestoreKey, + "aws_cloudsearch_domain": awsCloudsearchDomain, + "aws_cloudsearch_domain_service_access_policy": awsCloudsearchDomainServiceAccessPolicy, + "aws_cloudtrail": awsCloudtrail, + "aws_cloudtrail_event_data_store": awsCloudtrailEventDataStore, + "aws_cloudwatch_composite_alarm": awsCloudwatchCompositeAlarm, + "aws_cloudwatch_dashboard": awsCloudwatchDashboard, + "aws_cloudwatch_event_api_destination": awsCloudwatchEventAPIDestination, + "aws_cloudwatch_event_archive": awsCloudwatchEventArchive, + "aws_cloudwatch_event_bus": awsCloudwatchEventBus, + "aws_cloudwatch_event_bus_policy": awsCloudwatchEventBusPolicy, + "aws_cloudwatch_event_connection": awsCloudwatchEventConnection, + "aws_cloudwatch_event_endpoint": awsCloudwatchEventEndpoint, + "aws_cloudwatch_event_permission": awsCloudwatchEventPermission, + "aws_cloudwatch_event_rule": awsCloudwatchEventRule, + "aws_cloudwatch_event_target": awsCloudwatchEventTarget, + "aws_cloudwatch_log_account_policy": awsCloudwatchLogAccountPolicy, + "aws_cloudwatch_log_data_protection_policy": awsCloudwatchLogDataProtectionPolicy, + "aws_cloudwatch_log_destination": awsCloudwatchLogDestination, + "aws_cloudwatch_log_destination_policy": awsCloudwatchLogDestinationPolicy, + "aws_cloudwatch_log_group": awsCloudwatchLogGroup, + "aws_cloudwatch_log_metric_filter": awsCloudwatchLogMetricFilter, + "aws_cloudwatch_log_resource_policy": awsCloudwatchLogResourcePolicy, + "aws_cloudwatch_log_stream": awsCloudwatchLogStream, + "aws_cloudwatch_log_subscription_filter": awsCloudwatchLogSubscriptionFilter, + "aws_cloudwatch_metric_alarm": awsCloudwatchMetricAlarm, + "aws_cloudwatch_metric_stream": awsCloudwatchMetricStream, + "aws_cloudwatch_query_definition": awsCloudwatchQueryDestination, + "aws_codeartifact_domain": awsCodeartifactDomain, + "aws_codeartifact_domain_permissions_policy": awsCodeartifactDomainPermissionsPolicy, + "aws_codeartifact_repository": awsCodeartifactRepository, + "aws_codeartifact_repository_permissions_policy": awsCodeartifactRepositoryPermissionsPolicy, + "aws_codebuild_project": awsCodebuildProject, + "aws_codebuild_report_group": awsCodebuildReportGroup, + "aws_codebuild_resource_policy": awsCodebuildResourcePolicy, + "aws_codebuild_source_credential": awsCodebuildSourceCredential, + "aws_codebuild_webhook": awsCodebuildWebhook, + "aws_codecatalyst_dev_environment": placeholder, + "aws_codecatalyst_project": placeholder, + "aws_codecatalyst_source_repository": placeholder, + "aws_codecommit_approval_rule_template": awsCodecommitApprovalRuleTemplate, + "aws_codecommit_approval_rule_template_association": awsCodecommitApprovalRuleTemplateAssociation, + "aws_codecommit_repository": awsCodecommitRepository, + "aws_codecommit_trigger": awsCodecommitTrigger, + "aws_codedeploy_app": awsCodedeployApp, + "aws_codedeploy_deployment_config": awsCodedeployDeploymentConfig, + "aws_codedeploy_deployment_group": awsCodedeployDeploymentGroup, + "aws_codeguruprofiler_profiling_group": awsCodeguruprofilerProfilingGroup, + "aws_codegurureviewer_repository_association": awsCodegurureviewerRepositoryAssociation, + "aws_codepipeline": awsCodepipeline, + "aws_codepipeline_custom_action_type": awsCodepipelineCustomActionType, + "aws_codepipeline_webhook": awsCodepipelineWebhook, + "aws_codestarconnections_connection": awsCodestarconnectionsConnection, + "aws_codestarconnections_host": awsCodestarconnectionsHost, + "aws_codestarnotifications_notification_rule": awsCodestarconnectionsNotificationsRule, + "aws_cognito_identity_pool": awsCognitoIdentityPool, + "aws_cognito_identity_pool_provider_principal_tag": awsCognitoIdentityPoolProviderPrincipalTag, + "aws_cognito_identity_pool_roles_attachment": awsCognitoIdentityPoolRolesAttachment, + "aws_cognito_identity_provider": awsCognitoIdentityProvider, + "aws_cognito_resource_server": awsCognitoResourceServer, + "aws_cognito_risk_configuration": awsCognitoRiskConfiguration, + "aws_cognito_user": awsCognitoUser, + "aws_cognito_user_group": awsCognitoUserGroup, + "aws_cognito_user_in_group": awsCognitoUserInGroup, + "aws_cognito_user_pool": awsCognitoUserPool, + "aws_cognito_user_pool_client": awsCognitoUserPoolClient, + "aws_cognito_user_pool_domain": awsCognitoUserPoolDomain, + "aws_cognito_user_pool_ui_customization": awsCognitoUserPoolUICustomization, + "aws_comprehend_document_classifier": awsComprehendDocumentClassifier, + "aws_config_config_rule": awsConfigConfigRule, + "aws_config_configuration_aggregator": awsConfigConfigurationAggregator, + "aws_config_configuration_recorder": awsConfigConfigurationRecorder, + "aws_config_configuration_recorder_status": awsConfigConfigurationRecorderStatus, + "aws_config_conformance_pack": awsConfigConformancePack, + "aws_config_delivery_channel": awsConfigDeliveryChannel, + "aws_config_organization_conformance_pack": awsConfigOrganizationConformancePack, + "aws_connect_bot_association": awsConnectBotAssociation, + "aws_connect_contact_flow": awsConnectContactFlow, + "aws_connect_contact_flow_module": awsConnectContactFlowModule, + "aws_connect_hours_of_operation": awsConnectHoursOfOperation, + "aws_connect_instance": awsConnectInstance, + "aws_connect_instance_storage_config": awsConnectInstanceStorageConfig, + "aws_connect_phone_number": awsConnectPhoneNumber, + "aws_connect_queue": awsConnectQueue, + "aws_connect_quick_connect": awsConnectQuickConnect, + "aws_connect_routing_profile": awsConnectRoutingProfile, + "aws_connect_security_profile": awsConnectSecurityProfile, + "aws_connect_user": awsConnectUser, + "aws_connect_user_hierarchy_group": awsConnectUserHierarchyGroup, + "aws_connect_user_hierarchy_structure": awsConnectUserHierarchyStructure, + "aws_connect_vocabulary": awsConnectVocabulary, + "aws_controltower_control": awsControltowerControl, + "aws_controltower_landing_zone": awsControltowerLandingZone, + "aws_cur_report_definition": awsCurReportDefinition, + "aws_customer_gateway": awsCustomerGateway, + "aws_datapipeline_pipeline": awsDatapipelinePipeline, + "aws_datapipeline_pipeline_definition": awsDatapipelinePipelineDefinition, + "aws_datasync_agent": awsDatasyncAgent, + "aws_datasync_location_azure_blob": awsDatasyncLocationAzureBlob, + "aws_datasync_location_efs": awsDatasyncLocationEfs, + "aws_datasync_location_fsx_lustre_file_system": awsDatasyncLocationFsxLustreFileSystem, + "aws_datasync_location_fsx_ontap_file_system": awsDatasyncLocationFsxOntapFileSystem, + "aws_datasync_location_fsx_openzfs_file_system": awsDatasyncLocationFsxOpenzfsFileSystem, + "aws_datasync_location_fsx_windows_file_system": awsDatasyncLocationFsxWindowsFileSystem, + "aws_datasync_location_hdfs": awsDatasyncLocationHdfs, + "aws_datasync_location_nfs": awsDatasyncLocationNfs, + "aws_datasync_location_object_storage": awsDatasyncLocationObjectStorage, + "aws_datasync_location_s3": awsDatasyncLocationS3, + "aws_datasync_location_smb": awsDatasyncLocationSmb, + "aws_datasync_task": awsDatasyncTask, + "aws_datazone_asset_type": awsDatazoneAssetType, + "aws_datazone_domain": awsDatazoneDomain, + "aws_datazone_environment": awsDatazoneEnvironment, + "aws_datazone_environment_blueprint_configuration": awsDatazoneEnvironmentBlueprintConfiguration, + "aws_datazone_environment_profile": awsDatazoneEnvironmentProfile, + "aws_datazone_form_type": awsDatazoneFormType, + "aws_datazone_glossary": awsDatazoneGlossary, + "aws_datazone_glossary_term": awsDatazoneGlossaryTerm, + "aws_datazone_project": awsDatazoneProject, + "aws_datazone_user_profile": awsDatazoneUserProfile, + "aws_dax_cluster": awsDaxCluster, + "aws_dax_parameter_group": awsDaxParameterGroup, + "aws_dax_subnet_group": awsDaxSubnetGroup, + "aws_db_cluster_snapshot": awsDBClusterSnapshot, + "aws_db_event_subscription": awsDBEventSubscription, + "aws_db_instance": awsDBInstance, + "aws_db_instance_automated_backups_replication": awsDBInstanceAutomatedBackupsReplication, + "aws_db_instance_role_association": awsDBInstanceRoleAssociation, + "aws_db_option_group": awsDBOptionGroup, + "aws_db_parameter_group": awsDBParameterGroup, + "aws_db_proxy": awsDBProxy, + "aws_db_proxy_default_target_group": awsDBProxyDefaultTargetGroup, + "aws_db_proxy_endpoint": awsDBProxyEndpoint, + "aws_db_proxy_target": awsDBProxyTarget, + "aws_db_snapshot": awsDBSnapshot, + "aws_db_snapshot_copy": awsDBSnapshotCopy, + "aws_db_subnet_group": awsDBSubnetGroup, + "aws_default_network_acl": awsDefaultNetworkACL, + "aws_default_route_table": awsDefaultRouteTable, + "aws_default_security_group": awsDefaultSecurityGroup, + "aws_default_subnet": awsDefaultSubnet, + "aws_default_vpc": awsDefaultVpc, + "aws_default_vpc_dhcp_options": awsDefaultVpcDhcpOptions, + "aws_detective_graph": awsDetectiveGraph, + "aws_detective_invitation_accepter": awsDetectiveInvitationAccepter, + "aws_detective_organization_admin_account": awsDectectiveOrganizationAdminAccount, + "aws_devopsguru_notification_channel": awsDevopsguruNotificationChannel, + "aws_devopsguru_resource_collection": awsDevopsguruResourceCollection, + "aws_directory_service_directory": awsDirectoryServiceDirectory, + "aws_directory_service_log_subscription": awsDirectoryServiceLogSubscription, + "aws_dlm_lifecycle_policy": awsDlmLifecyclePolicy, + "aws_dms_certificate": awsDmsCertificate, + "aws_dms_endpoint": awsDmsEndpoint, + "aws_dms_event_subscription": awsDmsEventSubscription, + "aws_dms_replication_config": awsDmsReplicationConfig, + "aws_dms_replication_instance": awsDmsReplicationInstance, + "aws_dms_replication_subnet_group": awsDmsReplicationSubnetGroup, + "aws_dms_replication_task": awsDmsReplicationTask, + "aws_dms_s3_endpoint": awsDmsS3Endpoint, + "aws_docdb_cluster": awsRdsCluster, + "aws_docdb_cluster_instance": awsNeptuneClusterInstance, + "aws_docdb_cluster_parameter_group": awsRdsClusterParameterGroup, + "aws_docdb_cluster_snapshot": awsDBClusterSnapshot, + "aws_docdb_event_subscription": awsNeptuneEventSubscription, + "aws_docdb_global_cluster": awsRdsGlobalCluster, + "aws_docdb_subnet_group": awsDBSubnetGroup, + "aws_docdbelastic_cluster": awsDocdbelasticCluster, + "aws_dx_gateway": awsDxGateway, + "aws_dx_gateway_association": awsDxGatewayAssociation, + "aws_dx_hosted_transit_virtual_interface_accepter": awsDxHostedTransitVirtualInterfaceAccepter, + "aws_dynamodb_contributor_insights": awsDynamodbContributorInsights, + "aws_dynamodb_global_table": awsDynamodbGlobalTable, + "aws_dynamodb_table": awsDynamodbTable, + "aws_dynamodb_table_item": awsDynamodbTableItem, + "aws_dynamodb_tag": awsDynamodbTag, + "aws_ebs_default_kms_key": awsEbsDefaultKmsKey, + "aws_ebs_encryption_by_default": awsEbsEncryptionByDefault, + "aws_ebs_snapshot": awsEbsSnapshot, + "aws_ebs_snapshot_block_public_access": awsEbsSnapshotBlockPublicAccess, + "aws_ebs_snapshot_copy": awsEbsSnapshotCopy, + "aws_ebs_volume": awsEbsVolume, + "aws_ec2_availability_zone_group": awsEc2AvailabilityGroup, + "aws_ec2_capacity_reservation": awsEc2CapacityReservation, + "aws_ec2_carrier_gateway": awsEc2CarrierGateway, + "aws_ec2_client_vpn_authorization_rule": awsEc2ClientvpnAuthorizationRule, + "aws_ec2_client_vpn_endpoint": awsEc2ClientVpnEndpoint, + "aws_ec2_client_vpn_network_association": awsEc2ClientVpnNetworkAssociation, + "aws_ec2_client_vpn_route": awsEc2ClientVpnRoute, + "aws_ec2_fleet": awsEc2Fleet, + "aws_ec2_host": awsEc2Host, + "aws_ec2_image_block_public_access": awsEc2ImageBlockPublicAccess, + "aws_ec2_local_gateway_route": awsEc2LocalGatewayRoute, + "aws_ec2_local_gateway_route_table_vpc_association": awsEc2LocalGatewayRouteTableVpcAssociation, + "aws_ec2_managed_prefix_list": awsEc2ManagedPrefixList, + "aws_ec2_network_insights_analysis": awsEc2NetworkInsightsAnalysis, + "aws_ec2_network_insights_path": awsEc2NetworkInsightsPath, + "aws_ec2_serial_console_access": awsEc2SerialConsoleAccess, + "aws_ec2_tag": awsEc2Tag, + "aws_ec2_transit_gateway": awsEc2TransitGateway, + "aws_ec2_transit_gateway_connect": awsEc2TransitGatewayConnect, + "aws_ec2_transit_gateway_multicast_domain": awsEc2TransitGatewayMulticastDomain, + "aws_ec2_transit_gateway_multicast_domain_association": awsEc2TransitGatewayMulticastDomainAssociation, + "aws_ec2_transit_gateway_multicast_group_member": awsEc2TransitGatewayMulticastGroupMember, + "aws_ec2_transit_gateway_multicast_group_source": awsEc2TransitGatewayMulticastGroupSource, + "aws_ec2_transit_gateway_peering_attachment": awsEc2TransitGatewayPeeringAttachment, + "aws_ec2_transit_gateway_route": awsEc2TransitGatewayRoute, + "aws_ec2_transit_gateway_route_table": awsEc2TransitGatewayRouteTable, + "aws_ec2_transit_gateway_route_table_association": awsEc2TransitGatewayRouteTableAssociation, + "aws_ec2_transit_gateway_route_table_propagation": awsEc2TransitGatewayRouteTablePropagation, + "aws_ec2_transit_gateway_vpc_attachment": awsEc2TransitGatewayVpcAttachment, + "aws_ecr_lifecycle_policy": awsEcrLifecyclePolicy, + "aws_ecr_pull_through_cache_rule": awsEcrPullThroughCacheRule, + "aws_ecr_registry_policy": awsEcrRegistryPolicy, + "aws_ecr_registry_scanning_configuration": awsEcrRegistryScanningConfiguration, + "aws_ecr_replication_configuration": awsEcrReplicationConfiguration, + "aws_ecr_repository": awsEcrRepository, + "aws_ecr_repository_creation_template": awsEcrRepositoryCreationTemplate, + "aws_ecr_repository_policy": awsEcrRepositoryPolicy, + "aws_ecrpublic_repository": awsEcrPublicRepository, + "aws_ecrpublic_repository_policy": awsEcrpublicRepositoryPolicy, + "aws_ecs_capacity_provider": awsEcsCapacityProvider, + "aws_ecs_cluster": awsEcsCluster, + "aws_ecs_service": awsEcsService, + "aws_ecs_tag": awsEcsTag, + "aws_ecs_task_definition": awsEcsTaskDefinition, + "aws_ecs_task_set": awsEcsTaskSet, + "aws_efs_access_point": awsEfsAccessPoint, + "aws_efs_backup_policy": awsEfsBackupPolicy, + "aws_efs_file_system": awsEfsFileSystem, + "aws_efs_file_system_policy": awsEfsFileSystemPolicy, + "aws_efs_mount_target": awsEfsMountTarget, + "aws_efs_replication_configuration": awsEfsReplicationConfiguration, + "aws_egress_only_internet_gateway": awsEgressOnlyInternetGateway, + "aws_eip": awsEip, + "aws_eip_association": awsEipAssociation, + "aws_eks_access_entry": awsEksAccessEntry, + "aws_eks_addon": awsEksAddon, + "aws_eks_cluster": awsEksCluster, + "aws_eks_fargate_profile": awsEksFargateProfile, + "aws_eks_identity_provider_config": awsEksIdentityProviderConfig, + "aws_eks_node_group": awsEksNodeGroup, + "aws_eks_pod_identity_association": awsEksPodIdentityAssociation, + "aws_elastic_beanstalk_application": awsElasticBeanstalkApplication, + "aws_elastic_beanstalk_application_version": awsElasticBeanstalkApplicationVersion, + "aws_elastic_beanstalk_configuration_template": awsElasticBeanstalkConfigurationTemplate, + "aws_elastic_beanstalk_environment": awsElastiBeanstalkEnvironment, + "aws_elasticache_cluster": awsElasticacheCluster, + "aws_elasticache_global_replication_group": awsElasticacheGlobalReplicationGroup, + "aws_elasticache_parameter_group": awsElasticacheParameterGroup, + "aws_elasticache_replication_group": awsElasticacheReplicationGroup, + "aws_elasticache_subnet_group": awsElasticacheSubnetGroup, + "aws_elasticache_user": awsElasticacheUser, + "aws_elasticache_user_group": awsElasticacheUserGroup, + "aws_elasticsearch_domain": awsElasticsearchDomain, + "aws_elasticsearch_domain_policy": awsElasticsearchDomainPolicy, + "aws_elb": awsElb, + "aws_elb_attachment": awsElbAttachment, + "aws_emr_block_public_access_configuration": awsEmrBlockPublicAccessConfiguration, + "aws_emr_cluster": awsEmrCluster, + "aws_emr_managed_scaling_policy": awsEmrManagedScalingPolicy, + "aws_emr_security_configuration": awsEmrSecurityConfiguration, + "aws_emr_studio": awsEmrStudio, + "aws_emr_studio_session_mapping": awsEmrStudioSessionMapping, + "aws_emrcontainers_virtual_cluster": awsEmrcontainersVirtualCluster, + "aws_emrserverless_application": awsEmrseverlessApplication, + "aws_evidently_feature": awsEvidentlyFeature, + "aws_evidently_launch": awsEvidentlyLaunch, + "aws_evidently_project": awsEvidentlyProject, + "aws_evidently_segment": awsEvidentlySegment, + "aws_finspace_kx_environment": awsFinspaceKxEnvironment, + "aws_fis_experiment_template": awsFisExperimentTemplate, + "aws_flow_log": awsFlowLog, + "aws_fms_policy": awsFmsPolicy, + "aws_fms_resource_set": awsFmsResourceSet, + "aws_fsx_backup": awsFsxBackup, + "aws_fsx_data_repository_association": awsFsxDataRepositoryAssociation, + "aws_fsx_file_cache": awsFsxFileCache, + "aws_fsx_lustre_file_system": awsFsxLustreFileSystem, + "aws_fsx_ontap_file_system": awsFsxOntapFileSystem, + "aws_fsx_ontap_storage_virtual_machine": awsFsxOntapStorageVirtualMachine, + "aws_fsx_ontap_volume": awsFsxOntapVolume, + "aws_fsx_openzfs_file_system": awsFsxOpenzfsFileSystem, + "aws_fsx_openzfs_snapshot": awsFsxOpenzfsSnaphot, + "aws_fsx_openzfs_volume": awsFsxOpenzfsVolume, + "aws_fsx_windows_file_system": awsFsxWindowsFileSystem, + "aws_gamelift_alias": awsGameliftAlias, + "aws_gamelift_build": awsGameliftBuild, + "aws_gamelift_fleet": awsGameliftFleet, + "aws_gamelift_game_server_group": awsGameliftGameServerGroup, + "aws_gamelift_game_session_queue": awsGameliftGameSessionQueue, + "aws_gamelift_script": awsGameliftScript, + "aws_glacier_vault": awsGlacierVault, + "aws_glacier_vault_lock": awsGlacierVaultLock, + "aws_globalaccelerator_accelerator": awsGlobalacceleratorAccelerator, + "aws_globalaccelerator_cross_account_attachment": awsGlobalacceleratorCrossAccountAttachment, + "aws_globalaccelerator_endpoint_group": awsGlobalacceleratorEndpointGroup, + "aws_globalaccelerator_listener": awsGlobalacceleratorListener, + "aws_glue_catalog_database": awsGlueCatalogDatabase, + "aws_glue_catalog_table": awsGlueCatalogTable, + "aws_glue_classifier": awsGlueClassifier, + "aws_glue_connection": awsGlueConnection, + "aws_glue_crawler": awsGlueCrawler, + "aws_glue_data_catalog_encryption_settings": awsGlueDataCatalogEncryptionSettings, + "aws_glue_job": awsGlueJob, + "aws_glue_ml_transform": awsGlueMlTransform, + "aws_glue_registry": awsGlueRegistry, + "aws_glue_resource_policy": awsGlueResourcePolicy, + "aws_glue_schema": awsGlueSchema, + "aws_glue_security_configuration": awsGlueSecurityConfiguration, + "aws_glue_trigger": awsGlueTrigger, + "aws_glue_user_defined_function": awsGlueUserDefinedFunction, + "aws_glue_workflow": awsGlueWorkflow, + "aws_grafana_workspace_api_key": awsGrafanaWorkspaceAPIKey, + "aws_guardduty_detector": awsGuarddutyDetector, + "aws_guardduty_filter": awsGuarddutyFilter, + "aws_guardduty_ipset": awsGuarddutyIpset, + "aws_guardduty_malware_protection_plan": awsGuarddutyMalwareProtectionPlan, + "aws_guardduty_member": awsGuarddutyMember, + "aws_guardduty_threatintelset": awsGuarddutyThreatintelset, + "aws_iam_access_key": awsIamAccessKey, + "aws_iam_account_alias": awsIamAccountAlias, + "aws_iam_account_password_policy": awsIamAccountPasswordPolicy, + "aws_iam_group": awsIamGroup, + "aws_iam_group_membership": awsIamGroupMembership, + "aws_iam_group_policies_exclusive": awsIamGroupPoliciesExclusive, + "aws_iam_group_policy": awsIamGroupPolicy, + "aws_iam_group_policy_attachment": awsIamGroupPolicyAttachment, + "aws_iam_instance_profile": awsIamInstanceProfile, + "aws_iam_openid_connect_provider": awsIamOpenidConnectProvider, + "aws_iam_policy": awsIamPolicy, + "aws_iam_policy_attachment": awsIamPolicyAttachment, + "aws_iam_role": awsIamRole, + "aws_iam_role_policies_exclusive": awsIamRolePoliciesExclusive, + "aws_iam_role_policy": awsIamRolePolicy, + "aws_iam_role_policy_attachment": awsIamRolePolicyAttachment, + "aws_iam_saml_provider": awsIamSamlProvider, + "aws_iam_security_token_service_preferences": awsIamSecurityTokenServicePreferences, + "aws_iam_server_certificate": awsIamServerCertificate, + "aws_iam_service_linked_role": awsIamServiceLinkedRole, + "aws_iam_service_specific_credential": awsIamServiceSpecificCredential, + "aws_iam_signing_certificate": awsIamSigningCertificate, + "aws_iam_user": awsIamUser, + "aws_iam_user_group_membership": awsIamUserGroupMembership, + "aws_iam_user_login_profile": awsIamUserLoginProfile, + "aws_iam_user_policies_exclusive": awsIamUserPoliciesExclusive, + "aws_iam_user_policy": awsIamUserPolicy, + "aws_iam_user_policy_attachment": awsIamUserPolicyAttachment, + "aws_iam_user_ssh_key": awsIamUserSSHKey, + "aws_iam_virtual_mfa_device": awsIamVirtualMfaDevice, + "aws_imagebuilder_component": awsImagebuilderComponent, + "aws_imagebuilder_container_recipe": awsImagebuilderContainerRecipe, + "aws_imagebuilder_distribution_configuration": awsImagebuilderDistributionConfiguration, + "aws_imagebuilder_image": awsImagebuilderImage, + "aws_imagebuilder_image_pipeline": awsImagebuilderImagePipeline, + "aws_imagebuilder_image_recipe": awsImagebuilderImageRecipe, + "aws_imagebuilder_infrastructure_configuration": awsImagebuilderInstrastructureConfiguration, + "aws_imagebuilder_workflow": awsImagebuilderWorkflow, + "aws_inspector2_delegated_admin_account": awsInspector2DelegatedAdminAccount, + "aws_inspector2_enabler": awsInspector2Enabler, + "aws_inspector2_member_association": awsInspector2MemberAssociation, + "aws_inspector2_organization_configuration": awsInspector2OrganizationConfiguration, + "aws_inspector_assessment_target": awsInspectorAssessmentTarget, + "aws_inspector_assessment_template": awsInspectorAssessmentTemplate, + "aws_inspector_resource_group": awsInspectorResouceGroup, + "aws_instance": awsInstance, + "aws_internet_gateway": awsInternetGateway, + "aws_internetmonitor_monitor": awsInternetmonitorMonitor, + "aws_iot_authorizer": awsIotAuthorizer, + "aws_iot_billing_group": awsIotBillingGroup, + "aws_iot_ca_certificate": awsIotCaCertificate, + "aws_iot_certificate": awsIotCertificate, + "aws_iot_policy": awsIotPolicy, + "aws_iot_provisioning_template": awsIotProvisioningTemplate, + "aws_iot_role_alias": awsIotRoleAlias, + "aws_iot_thing": awsIotThing, + "aws_iot_thing_group": awsIotThingGroup, + "aws_iot_thing_type": awsIotThingType, + "aws_iot_topic_rule": awsIotTopicRule, + "aws_iot_topic_rule_destination": awsIotTopicRuleDestination, + "aws_ivs_channel": awsIvsChannel, + "aws_ivs_playback_key_pair": awsIvsPlaybackKeyPair, + "aws_ivs_recording_configuration": awsIvsRecordingConfigration, + "aws_ivschat_logging_configuration": awsIvschatLoggingConfiguration, + "aws_ivschat_room": awsIvschatRoom, + "aws_kendra_data_source": awsKendraDataSource, + "aws_kendra_faq": awsKendraFaq, + "aws_kendra_index": awsKendraIndex, + "aws_key_pair": awsKeyPair, + "aws_keyspaces_keyspace": awsKeyspacesKeyspace, + "aws_keyspaces_table": awsKeyspacesTable, + "aws_kinesis_firehose_delivery_stream": awsKinesisFirehoseDeliveryStream, + "aws_kinesis_resource_policy": awsKinesisResourcePolicy, + "aws_kinesis_stream": awsKinesisStream, + "aws_kinesis_stream_consumer": awsKinesisStreamConsumer, + "aws_kinesis_video_stream": awsKinesisVideoStream, + "aws_kinesisanalyticsv2_application": awsKinesisanalyticsv2Application, + "aws_kms_alias": awsKmsAlias, + "aws_kms_ciphertext": awsKmsCiphertext, + "aws_kms_custom_key_store": awsKmsCustomKeyStore, + "aws_kms_external_key": awsKmsExternalKey, + "aws_kms_grant": awsKmsGrant, + "aws_kms_key": awsKmsKey, + "aws_kms_key_policy": awsKmsKeyPolicy, + "aws_kms_replica_external_key": awsKmsReplicaExternalKey, + "aws_kms_replica_key": awsKmsReplicaKey, + "aws_lakeformation_data_cells_filter": awsLakeformationDataCellsFilter, + "aws_lakeformation_resource_lf_tag": awsLakeformationResourceLfTag, + "aws_lambda_alias": awsLambdaAlias, + "aws_lambda_code_signing_config": awsLambdaCodeSigningConfig, + "aws_lambda_event_source_mapping": awsLambdaEventSourceMapping, + "aws_lambda_function": awsLambdaFunction, + "aws_lambda_function_event_invoke_config": awsLambdaFunctionEventInvokeConfig, + "aws_lambda_function_url": awsLambdaFunctionURL, + "aws_lambda_invocation": awsLambdaInvocation, + "aws_lambda_layer_version": awsLambdaLayerVersion, + "aws_lambda_layer_version_permission": awsLambdaLayerVersionPermission, + "aws_lambda_permission": awsLambdaPermission, + "aws_lambda_provisioned_concurrency_config": awsLambdaProvisionedConcurrencyConfig, + "aws_launch_configuration": awsLaunchConfiguration, + "aws_launch_template": awsLaunchTemplate, + "aws_lb": awsLb, + "aws_lb_cookie_stickiness_policy": awsLbCookieStickinessPolicy, + "aws_lb_listener": awsLbListener, + "aws_lb_listener_rule": awsLbListenerRule, + "aws_lb_target_group": awsLbTargetGroup, + "aws_lb_target_group_attachment": awsLbTargetGroupAttachment, + "aws_lb_trust_store": awsLbTrustStore, + "aws_lb_trust_store_revocation": awsLbTrustStoreRevocation, + "aws_lex_bot": awsLexBot, + "aws_lex_bot_alias": awsLexBotAlias, + "aws_lex_intent": awsLexIntent, + "aws_lex_slot_type": awsLexSlotType, + "aws_licensemanager_grant": awsLicencemanagerGrant, + "aws_licensemanager_license_configuration": awsLicenceManagerLicencenceConfiguration, + "aws_lightsail_bucket": awsLightsailBucket, + "aws_lightsail_certificate": awsLightsailCertificate, + "aws_lightsail_database": awsLightsailDatabase, + "aws_lightsail_disk": awsLightsailDisk, + "aws_lightsail_distribution": awsLightsailDistribution, + "aws_lightsail_instance": awsLightsailInstance, + "aws_lightsail_instance_public_ports": awsLightsailInstancePublicPorts, + "aws_lightsail_key_pair": awsLightsailKeyPair, + "aws_lightsail_lb": awsLightsailLb, + "aws_lightsail_static_ip": awsLightsailStaticIP, + "aws_lightsail_static_ip_attachment": awsLightsailStaticIPAttachment, + "aws_load_balancer_backend_server_policy": awsLoadBalancerBackendServerPolicy, + "aws_load_balancer_listener_policy": awsLoadBalancerListenerPolicy, + "aws_load_balancer_policy": awsLoadBalancerPolicy, + "aws_location_geofence_collection": awsLocationGeofenceCollection, + "aws_location_map": awsLocationMap, + "aws_location_place_index": awsLocationPlaceIndex, + "aws_location_route_calculator": awsLocationRouteCalculator, + "aws_location_tracker": awsLocationTracker, + "aws_location_tracker_association": awsLocationTrackerAssociation, + "aws_m2_application": awsM2Application, + "aws_m2_deployment": awsM2Deployment, + "aws_m2_environment": awsM2Environment, + "aws_macie2_custom_data_identifier": awsMacie2CustomDataIdentifier, + "aws_macie2_findings_filter": awsMacie2FindingsFilter, + "aws_media_convert_queue": awsMediaConvertQueue, + "aws_media_package_channel": awsMediaPackageChannel, + "aws_medialive_input": awsMedialiveInput, + "aws_medialive_input_security_group": awsMedialiveInputSecurityGroup, + "aws_medialive_multiplex": awsMedialiveMulitplex, + "aws_medialive_multiplex_program": awsMedialiveMultiplexProgram, + "aws_memorydb_acl": awsMemorydbACL, + "aws_memorydb_cluster": awsMemorydbCluster, + "aws_memorydb_parameter_group": awsMemorydbParameterGroup, + "aws_memorydb_snapshot": awsMemorydbSnapshot, + "aws_memorydb_subnet_group": awsMemorydbSubnetGroup, + "aws_memorydb_user": awsMemorydbUser, + "aws_mq_broker": awsMqBroker, + "aws_mq_configuration": awsMqConfiguration, + "aws_msk_cluster": awsMskCluster, + "aws_msk_cluster_policy": awsMskClusterPolicy, + "aws_msk_configuration": awsMskConfiguration, + "aws_msk_replicator": awsMskReplicator, + "aws_msk_scram_secret_association": awsMskScramSecretAssociation, + "aws_msk_serverless_cluster": awsMskServerlessCluster, + "aws_msk_vpc_connection": awsMskVpcConnection, + "aws_mwaa_environment": awsMwaaEnvironment, + "aws_nat_gateway": awsNatGateway, + "aws_neptune_cluster": awsNeptuneCluster, + "aws_neptune_cluster_endpoint": awsNeptuneClusterEndpoint, + "aws_neptune_cluster_instance": awsNeptuneClusterInstance, + "aws_neptune_cluster_parameter_group": awsRdsClusterParameterGroup, + "aws_neptune_cluster_snapshot": awsNeptuneClusterSnapshot, + "aws_neptune_event_subscription": awsNeptuneEventSubscription, + "aws_neptune_parameter_group": awsDBParameterGroup, + "aws_neptune_subnet_group": awsDBSubnetGroup, + "aws_network_acl": awsNetworkACL, + "aws_network_acl_association": awsNetworkACLAssociation, + "aws_network_acl_rule": awsNetworkACLRule, + "aws_network_interface": awsNetworkInterface, + "aws_network_interface_attachment": awsNetworkInterfaceAttachment, + "aws_networkfirewall_firewall": awsNetworkfirewallFirewall, + "aws_networkfirewall_firewall_policy": awsNetworkfirewallFirewallPolicy, + "aws_networkfirewall_logging_configuration": awsNetworkfirewallLoggingConfiguration, + "aws_networkfirewall_resource_policy": awsNetworkfirewallResourcePolicy, + "aws_networkfirewall_rule_group": awsNetworkfirewallRuleGroup, + "aws_networkfirewall_tls_inspection_configuration": awsNetworkfirewallTLSInspectionConfiguration, + "aws_networkmanager_connect_attachment": awsNetworkManagerConnectAttachment, + "aws_networkmanager_connect_peer": awsNetworkManagerConnectPeer, + "aws_networkmanager_core_network": awsNetworkmanagerCoreNetwork, + "aws_networkmanager_customer_gateway_association": awsNetworkmanagerCustomerGatewayAssociation, + "aws_networkmanager_device": awsNetworkmanagerDevice, + "aws_networkmanager_dx_gateway_attachment": awsNetworkmanagerDxGatewayAttachment, + "aws_networkmanager_global_network": awsNetworkmanagerGlobalNetwork, + "aws_networkmanager_link": awsNetworkmanagerLink, + "aws_networkmanager_link_association": awsNetworkmanagerLinkAssocation, + "aws_networkmanager_site": awsNetworkmanagerSite, + "aws_networkmanager_site_to_site_vpn_attachment": awsNetworkmanagerSiteToSiteVpnAttachment, + "aws_networkmanager_transit_gateway_peering": awsNetworkmanagerTransitGatewayPeering, + "aws_networkmanager_transit_gateway_registration": awsNetworkmanagerTransitGatewayRegistration, + "aws_networkmanager_transit_gateway_route_table_attachment": awsNetworkmanagerTransitGatewayRouteTableAttachment, + "aws_networkmanager_vpc_attachment": awsNetworkmanagerVpcAttachment, + "aws_oam_link": awsOamLink, + "aws_oam_sink": awsOamSink, + "aws_oam_sink_policy": awsOamSinkPolicy, + "aws_opensearch_domain": awsElasticsearchDomain, + "aws_opensearch_domain_policy": awsElasticsearchDomainPolicy, + "aws_opensearchserverless_access_policy": awsOpenseachserverlessAccessPolicy, + "aws_opensearchserverless_collection": awsOpenseachserverlessCollection, + "aws_opensearchserverless_lifecycle_policy": awsOpenseachserverlessLifecyclePolicy, + "aws_opensearchserverless_security_config": awsOpenseachserverlessSecurityConfig, + "aws_opensearchserverless_security_policy": awsOpenseachserverlessSecurityPolicy, + "aws_opensearchserverless_vpc_endpoint": awsOpenseachserverlessVpcEndpoint, + "aws_organizations_account": awsOrganizationsAccount, + "aws_organizations_organization": awsOrganizationsOrganization, + "aws_organizations_organizational_unit": awsOrganizationsOrganizationalUnit, + "aws_organizations_policy": awsOrganizationsPolicy, + "aws_organizations_policy_attachment": awsOrganizationsPolicyAttachment, + "aws_organizations_resource_policy": awsOrganizationsResourcePolicy, + "aws_osis_pipeline": awsOsisPipeline, + "aws_paymentcryptography_key": awsPaymentcrytopgraphyKey, + "aws_paymentcryptography_key_alias": awsPaymentcrytopgraphyKeyAlias, + "aws_pipes_pipe": awsPipesPipe, + "aws_placement_group": awsPlacementGroup, + "aws_proxy_protocol_policy": awsProxyProtocolPolicy, + "aws_qldb_stream": awsQldbStream, + "aws_quicksight_account_subscription": awsQuicksightAccountSubscription, + "aws_quicksight_analysis": awsQuicksightAnalysis, + "aws_quicksight_dashboard": awsQuicksightDashboard, + "aws_quicksight_data_set": awsQuicksightDataSet, + "aws_quicksight_data_source": awsQuicksightDataSource, + "aws_quicksight_folder": awsQuicksightFolder, + "aws_quicksight_folder_membership": awsQuicksightFolderMembership, + "aws_quicksight_group": awsQuicksightGroup, + "aws_quicksight_group_membership": awsQuicksightGroupMembership, + "aws_quicksight_iam_policy_assignment": awsQuicksightIamPolicyAssignment, + "aws_quicksight_ingestion": awsQuicksightIngestion, + "aws_quicksight_namespace": awsQuicksightNamespace, + "aws_quicksight_refresh_schedule": awsQuicksightRefreshSchedule, + "aws_quicksight_template": awsQuicksightTemplate, + "aws_quicksight_template_alias": awsQuicksightTemplateAlias, + "aws_quicksight_theme": awsQuicksightTheme, + "aws_quicksight_user": awsQuicksightUser, + "aws_quicksight_vpc_connection": awsQuicksightVpcConnection, + "aws_ram_principal_association": awsRAMPrincipleAssociation, + "aws_ram_resource_association": awsRAMResourceAssociation, + "aws_ram_resource_share": awsRAMResourceShare, + "aws_rds_cluster": awsRdsCluster, + "aws_rds_cluster_activity_stream": awsRdsClusterActivityStream, + "aws_rds_cluster_endpoint": awsRdsClusterEndpoint, + "aws_rds_cluster_instance": awsDBInstance, + "aws_rds_cluster_parameter_group": awsRdsClusterParameterGroup, + "aws_rds_cluster_role_association": awsRdsClusterRoleAssociation, + "aws_rds_global_cluster": awsRdsGlobalCluster, + "aws_rds_integration": awsRdsIntegration, + "aws_redshift_authentication_profile": awsRedshiftAuthenticationProfile, + "aws_redshift_cluster": awsRedshiftCluster, + "aws_redshift_cluster_iam_roles": awsRedshiftClusterIamRoles, + "aws_redshift_endpoint_access": awsRedshiftEndpointAccess, + "aws_redshift_endpoint_authorization": awsRedshiftEndpointAuthorization, + "aws_redshift_event_subscription": awsRedshiftEventSubscription, + "aws_redshift_hsm_client_certificate": awsRedshiftHsmClientCertififcate, + "aws_redshift_hsm_configuration": awsRedshiftHsmConfiguration, + "aws_redshift_parameter_group": awsRedshiftParameterGroup, + "aws_redshift_scheduled_action": awsRedshiftScheduledAction, + "aws_redshift_snapshot_copy_grant": awsRedshiftSnapshotCopyGrant, + "aws_redshift_snapshot_schedule": awsRedshiftSnapshotSchedule, + "aws_redshift_snapshot_schedule_association": awsRedshiftSnapshotScheduleAssociation, + "aws_redshift_subnet_group": awsRedshiftSubnetGroup, + "aws_redshift_usage_limit": awsRedshiftUsageLimit, + "aws_redshiftserverless_namespace": awsRedshiftserverlessNamespace, + "aws_redshiftserverless_workgroup": awsRedshiftserverlessWorkgroup, + "aws_rekognition_collection": awsRekognitionCollection, + "aws_rekognition_project": awsRekognitionProject, + "aws_rekognition_stream_processor": awsRekognitionStreamProcessor, + "aws_resourceexplorer2_index": awsResourceexplorer2Index, + "aws_resourceexplorer2_view": awsResourceexplorer2View, + "aws_resourcegroups_group": awsResourcegroupsGroup, + "aws_rolesanywhere_profile": awsRolesanywhereProfile, + "aws_rolesanywhere_trust_anchor": awsRolesanywhereTrustAnchor, + "aws_route": awsRoute, + "aws_route53_cidr_collection": awsRoute53CidrCollection, + "aws_route53_cidr_location": awsRoute53CidrLocation, + "aws_route53_delegation_set": awsRoute53DelegationSet, + "aws_route53_health_check": awsRoute53HealthCheck, + "aws_route53_hosted_zone_dnssec": awsRoute53HostedZoneDnssec, + "aws_route53_key_signing_key": awsRoute53KeySiginingKey, + "aws_route53_query_log": awsRoute53QueryLog, + "aws_route53_record": awsRoute53Record, + "aws_route53_resolver_config": awsRoute53ResolverConfig, + "aws_route53_resolver_dnssec_config": awsRoute53ResolverDnssecConfig, + "aws_route53_resolver_endpoint": awsRoute53ResolverEndpoint, + "aws_route53_resolver_firewall_config": awsRoute53ResolverFirewallConfig, + "aws_route53_resolver_firewall_domain_list": awsRoute53ResolverFirewallDomainList, + "aws_route53_resolver_firewall_rule": awsRoute53ResolverFirewallRule, + "aws_route53_resolver_firewall_rule_group": awsRoute53ResolverFirewallRuleGroup, + "aws_route53_resolver_firewall_rule_group_association": awsRoute53ResolverFirewallRuleGroupAssociation, + "aws_route53_resolver_query_log_config": awsRoute53ResolverQueryLogConfig, + "aws_route53_resolver_query_log_config_association": awsRoute53ResolverQueryLogConfigAssociation, + "aws_route53_resolver_rule": awsRoute53ResolverRule, + "aws_route53_resolver_rule_association": awsRoute53ResolverRuleAssociation, + "aws_route53_traffic_policy": awsRoute53TrafficPolicy, + "aws_route53_traffic_policy_instance": awsRoute53TrafficPolicyInstance, + "aws_route53_vpc_association_authorization": awsRoute53VpcAssociationAuthorization, + "aws_route53_zone": awsRoute53Zone, + "aws_route53_zone_association": awsRoute53ZoneAssociation, + "aws_route53recoverycontrolconfig_cluster": awsRoute53recoverycontrolconfigCluster, + "aws_route53recoverycontrolconfig_control_panel": awsRoute53recoverycontrolconfigControlPanel, + "aws_route53recoverycontrolconfig_routing_control": awsRoute53recoverycontrolconfigRoutingControl, + "aws_route53recoverycontrolconfig_safety_rule": awsRoute53recoverycontrolconfigSafetyRule, + "aws_route53recoveryreadiness_cell": awsRoute53recoveryreadinessCell, + "aws_route53recoveryreadiness_readiness_check": awsRoute53recoveryreadinessReadinessCheck, + "aws_route53recoveryreadiness_recovery_group": awsRoute53recoveryreadinessRecoveryGroup, + "aws_route53recoveryreadiness_resource_set": awsRoute53recoveryreadinessResourceSet, + "aws_route_table": awsRouteTable, + "aws_route_table_association": awsRouteTableAssociation, + "aws_rum_app_monitor": awsRumAppMonitor, + "aws_s3_access_point": awsS3AccessPoint, + "aws_s3_account_public_access_block": awsS3AccountPublicAccessBlock, + "aws_s3_bucket": awsS3Bucket, + "aws_s3_bucket_accelerate_configuration": awsS3BucketAccelerateConfiguration, + "aws_s3_bucket_acl": awsS3BucketACL, + "aws_s3_bucket_analytics_configuration": awsS3BucketAnalyticsConfiguration, + "aws_s3_bucket_cors_configuration": awsS3BucketCorsConfiguration, + "aws_s3_bucket_intelligent_tiering_configuration": awsS3BucketIntelligentTieringConfiguration, + "aws_s3_bucket_inventory": awsS3BucketInventory, + "aws_s3_bucket_lifecycle_configuration": awsS3BucketLifecycleConfiguration, + "aws_s3_bucket_logging": awsS3BucketLogging, + "aws_s3_bucket_metric": awsS3BucketMetric, + "aws_s3_bucket_notification": awsS3BucketNotification, + "aws_s3_bucket_object": awsS3Object, + "aws_s3_bucket_object_lock_configuration": awsS3BucketObjectLockCOnfiguration, + "aws_s3_bucket_ownership_controls": awsS3BucketOwnershipControls, + "aws_s3_bucket_policy": awsS3BucketPolicy, + "aws_s3_bucket_public_access_block": awsS3BucketPublicAccessBlock, + "aws_s3_bucket_replication_configuration": awsS3BucketReplicationConfiguration, + "aws_s3_bucket_request_payment_configuration": awsS3BucketRequestPaymentConfiguration, + "aws_s3_bucket_server_side_encryption_configuration": awsS3BucketServerSideEncryptionConfiguration, + "aws_s3_bucket_versioning": awsS3BucketVersioning, + "aws_s3_bucket_website_configuration": awsS3BucketWebsiteConfiguration, + "aws_s3_object": awsS3Object, + "aws_s3control_access_grant": awsS3controlAccessGrant, + "aws_s3control_access_grants_instance": awsS3controlAccessGrantInstance, + "aws_s3control_access_grants_location": awsS3controlAccessGrantLocation, + "aws_s3control_access_point_policy": awsS3controlAccessPointPolicy, + "aws_s3control_multi_region_access_point": awscontrolMultiRegionAccessPoint, + "aws_s3control_multi_region_access_point_policy": awscontrolMultiRegionAccessPointPolicy, + "aws_s3outposts_endpoint": awsS3outpostsEndpoint, + "aws_s3tables_namespace": awsS3tablesNamespace, + "aws_s3tables_table": awsS3tablesTable, + "aws_s3tables_table_bucket": awsS3tablesTableBucket, + "aws_s3tables_table_bucket_policy": awsS3tablesTableBucketPolicy, + "aws_s3tables_table_policy": awsS3tablesTablePolicy, + "aws_sagemaker_app": awsSagemakerApp, + "aws_sagemaker_app_image_config": awsSagemakerAppImageConfig, + "aws_sagemaker_code_repository": awsSagemakerCodeRepository, + "aws_sagemaker_data_quality_job_definition": awsSagemakerDataQualityJobDefinition, + "aws_sagemaker_device": awsSagemakerDevice, + "aws_sagemaker_device_fleet": awsSagemakerDeviceFleet, + "aws_sagemaker_domain": awsSagemakerDomain, + "aws_sagemaker_endpoint": awsSagemakerEndpoint, + "aws_sagemaker_endpoint_configuration": awsSagemakerEndpointConfiguration, + "aws_sagemaker_feature_group": awsSagemakerFeatureGroup, + "aws_sagemaker_human_task_ui": awsSagemakerHumanTaskUI, + "aws_sagemaker_image": awsSagemakerImage, + "aws_sagemaker_image_version": awsSagemakerImageVersion, + "aws_sagemaker_model": awsSagemakerModel, + "aws_sagemaker_model_package_group": awsSagemakerModelPackageGroup, + "aws_sagemaker_model_package_group_policy": awsSagemakerModelPackageGroupPolicy, + "aws_sagemaker_monitoring_schedule": awsSagemakerMonitoringSchedule, + "aws_sagemaker_notebook_instance": awsSagemakerNotebookInstance, + "aws_sagemaker_notebook_instance_lifecycle_configuration": awsSagemakerNotebookInstanceLifecycleConfiguration, + "aws_sagemaker_pipeline": awsSagemakerPipeline, + "aws_sagemaker_project": awsSagemakerProject, + "aws_sagemaker_servicecatalog_portfolio_status": awsSagemakerServicecatalogPortfolioStatus, + "aws_sagemaker_space": awsSagemakerSpace, + "aws_sagemaker_studio_lifecycle_config": awsSagemakerStudioLifecycleConfig, + "aws_sagemaker_user_profile": awsSagemakerUserProfile, + "aws_sagemaker_workforce": awsSagemakerWorkforce, + "aws_sagemaker_workteam": awsSagemakerWorkteam, + "aws_scheduler_schedule": awsSchedulerSchedule, + "aws_scheduler_schedule_group": awsSchedulerScheduleGroup, + "aws_schemas_discoverer": awsSchemasDiscoverer, + "aws_schemas_registry": awsSchemasRegistry, + "aws_schemas_registry_policy": awsSchemasRegistryPolicy, + "aws_schemas_schema": awsSchemasSchema, + "aws_secretsmanager_secret": awsSecretsmanagerSecret, + "aws_secretsmanager_secret_policy": awsSecretsmanagerSecretPolicy, + "aws_secretsmanager_secret_rotation": awsSecretsmanagerSecretRotation, + "aws_secretsmanager_secret_version": awsSecretsmanagerSecretVersion, + "aws_security_group": awsSecurityGroup, + "aws_security_group_rule": awsSecurityGroupRule, + "aws_securityhub_automation_rule": awsSecurityhubAutomationRule, + "aws_securityhub_configuration_policy": awsSecurityhubConfigurationPolicy, + "aws_securityhub_finding_aggregator": awsSecurityhubFindingAggregator, + "aws_securityhub_insight": awsSecurityhubInsight, + "aws_securityhub_organization_configuration": awsSecurityhubOrganizationConfiguration, + "aws_securityhub_product_subscription": awsSecurityhubProductSubscription, + "aws_securityhub_standards_control": awsSecurityhubStandardsControl, + "aws_securitylake_aws_log_source": awsSecuritylakeAwsLogSource, + "aws_securitylake_data_lake": awsSecuritylakeDataLake, + "aws_securitylake_subscriber": awsSecuritylakeSubscriber, + "aws_securitylake_subscriber_notification": awsSecuritylakeSubscriberNotification, + "aws_servicecatalog_budget_resource_association": awsServicecatalogBudgetResourceAssociation, + "aws_servicecatalog_constraint": awsServicecatalogConstraint, + "aws_servicecatalog_organizations_access": awsServicecatalogOrganizationAccess, + "aws_servicecatalog_portfolio": awsServicecatalogPortfolio, + "aws_servicecatalog_portfolio_share": awsServicecatalogPortfolioShare, + "aws_servicecatalog_principal_portfolio_association": awsServicecatalogPrincipalPortfolioAssociation, + "aws_servicecatalog_product": awsServicecatalogProduct, + "aws_servicecatalog_product_portfolio_association": awsServicecatalogProductPortfolioAssociation, + "aws_servicecatalog_provisioned_product": awsServicecatalogProvisionedProduct, + "aws_servicecatalog_service_action": awsServicecatalogServiceAction, + "aws_servicecatalog_tag_option": awsServicecatalogTagOption, + "aws_servicecatalog_tag_option_resource_association": awsServicecatalogTagOptionResourceAssociation, + "aws_servicecatalogappregistry_application": awsServicecatalogappregistryApplication, + "aws_servicequotas_service_quota": awsServicequotasServiceQuota, + "aws_servicequotas_template": awsServiceQuotasTemplate, + "aws_servicequotas_template_association": awsServiceQuotasTemplateAssociation, + "aws_ses_active_receipt_rule_set": awsSesActiveReceiptRuleSet, + "aws_ses_configuration_set": awsSesConfigurationSet, + "aws_ses_domain_dkim": awsSesDomainDkim, + "aws_ses_domain_identity": awsSesDomainIdentity, + "aws_ses_domain_identity_verification": awsSesDomainIdentityVerification, + "aws_ses_domain_mail_from": awsSesDomainMailFrom, + "aws_ses_email_identity": awsSesEmailIdentity, + "aws_ses_event_destination": awsSesEventDestination, + "aws_ses_identity_notification_topic": awsSesIdentityNotificationTopic, + "aws_ses_identity_policy": awsSesIdentityPolicy, + "aws_ses_receipt_filter": awsSesReceiptFilter, + "aws_ses_receipt_rule": awsSesReceiptRule, + "aws_ses_receipt_rule_set": awsSesReceiptRuleSet, + "aws_ses_template": awsSesTemplate, + "aws_sfn_activity": awsSfnActivity, + "aws_sfn_alias": awsSfnAlias, + "aws_sfn_state_machine": awsSfnStateMachine, + "aws_shield_proactive_engagement": awsShieldProactiveEngagement, + "aws_shield_protection": awsShieldProtection, + "aws_shield_protection_group": awsShieldProtectionGroup, + "aws_signer_signing_job": awsSignerSigningJob, + "aws_signer_signing_profile": awsSignerSigningProfile, + "aws_signer_signing_profile_permission": awsSignerSigningProfilePermission, + "aws_simpledb_domain": awsSimpledbDomain, + "aws_snapshot_create_volume_permission": awsSnapshotCreateVolumePermission, + "aws_sns_platform_application": awsSnsPlatformApplication, + "aws_sns_sms_preferences": awsSnsSmsPreferences, + "aws_sns_topic": awsSnsTopic, + "aws_sns_topic_data_protection_policy": awsSnsTopicDataProtection, + "aws_sns_topic_policy": awsSnsTopicPolicy, + "aws_sns_topic_subscription": awsSnsTopicSubscription, + "aws_spot_fleet_request": awsSpotFleetRequest, + "aws_spot_instance_request": awsSpotInstanceRequest, + "aws_sqs_queue": awsSqsQueue, + "aws_sqs_queue_policy": awsSqsQueuePolicy, + "aws_sqs_queue_redrive_allow_policy": awsSqsQueueRedriveAllowPolicy, + "aws_sqs_queue_redrive_policy": awsSqsQueueRedrivePolicy, + "aws_ssm_association": awsSsmAssociation, + "aws_ssm_document": awsSsmDocument, + "aws_ssm_maintenance_window": awsSsmMaintenanceWindow, + "aws_ssm_maintenance_window_target": awsSsmMaintenanceWindowTarget, + "aws_ssm_maintenance_window_task": awsSsmMaintenanceWindowTask, + "aws_ssm_parameter": awsSsmParameter, + "aws_ssm_patch_baseline": awsSsmPatchBaseline, + "aws_ssm_patch_group": awsSsmPatchGroup, + "aws_ssm_resource_data_sync": awsSsmResourceDataSync, + "aws_ssmcontacts_contact": awsSsmcontactsContact, + "aws_ssmcontacts_contact_channel": awsSsmcontactContactChannel, + "aws_ssmcontacts_plan": awsSsmcontactsPlan, + "aws_ssmcontacts_rotation": awsSsmcontactsRotation, + "aws_ssmincidents_replication_set": awsSsmincidentsReplicationSet, + "aws_ssmincidents_response_plan": awsSsmincidentsResponsePlan, + "aws_ssoadmin_application": awsSsoadminApplication, + "aws_ssoadmin_application_assignment": awsSsoadminApplicationAssignment, + "aws_ssoadmin_permission_set": awsSsoadminPermissionSet, + "aws_storagegateway_cache": awsStoragegatewayCache, + "aws_storagegateway_cached_iscsi_volume": awsStoragegatewayCachedIscsiVolume, + "aws_storagegateway_file_system_association": awsStoragegatewayFileSystemAssociation, + "aws_storagegateway_gateway": awsStoragegatewayGateway, + "aws_storagegateway_nfs_file_share": awsStoragegatewayNfsFileShare, + "aws_storagegateway_smb_file_share": awsStoragegatewaySmbFileShare, + "aws_storagegateway_stored_iscsi_volume": awsStoragegatewayStoredIscsiVolume, + "aws_storagegateway_tape_pool": awsStoragegatewayTapePool, + "aws_storagegateway_upload_buffer": awsStoragegatewayUploadBuffer, + "aws_storagegateway_working_storage": awsStoragegatewayWorkingStorage, + "aws_subnet": awsSubnet, + "aws_swf_domain": awsSwfDomain, + "aws_synthetics_canary": awsSyntheticsCanary, + "aws_synthetics_group": awsSyntheticsGroup, + "aws_synthetics_group_association": awsSyntheticsGroupAssociation, + "aws_timestreaminfluxdb_db_instance": awsTimestreamhubFindingAggregator, + "aws_timestreamwrite_database": awsTimestreamwriteDatabase, + "aws_timestreamwrite_table": awsTimestreamwriteTable, + "aws_transcribe_language_model": awsTranscribeLanguageModel, + "aws_transcribe_medical_vocabulary": awsTranscribeMedicalVocabulary, + "aws_transcribe_vocabulary": awsTranscribeVocabulary, + "aws_transcribe_vocabulary_filter": awsTranscribeVocabularyFilter, + "aws_transfer_agreement": awsTransferAgreement, + "aws_transfer_certificate": awsTransferCertificate, + "aws_transfer_connector": awsTransferConnector, + "aws_transfer_profile": awsTransferProfile, + "aws_transfer_workflow": awsTransferWorkflow, + "aws_verifiedaccess_endpoint": awsVerifiedaccessEndpoint, + "aws_verifiedaccess_group": awsVerifiedaccessGroup, + "aws_verifiedaccess_instance": awsVerifiedaccessInstance, + "aws_verifiedaccess_instance_logging_configuration": awsVerifiedaccessInstanceLoggingConfiguration, + "aws_verifiedaccess_trust_provider": awsVerifiedaccessTrustProvider, + "aws_verifiedpermissions_identity_source": awsVerifiedpermissionsIdentitySource, + "aws_verifiedpermissions_policy": awsVerifiedpermissionsPolicy, + "aws_verifiedpermissions_policy_store": awsVerifiedpermissionsPolicyStore, + "aws_verifiedpermissions_policy_template": awsVerifiedpermissionsPolicyTemplate, + "aws_volume_attachment": awsVolumeAttachment, + "aws_vpc": awsVpc, + "aws_vpc_dhcp_options": awsVpcDhcpOptions, + "aws_vpc_dhcp_options_association": awsVpcDhcpOptionsAssociation, + "aws_vpc_endpoint": awsVpcEndpoint, + "aws_vpc_endpoint_connection_notification": awsVpcEndpointConnectionNotification, + "aws_vpc_endpoint_route_table_association": awsVpcEndpointRouteTableAssociation, + "aws_vpc_endpoint_service": awsVpcEndpointService, + "aws_vpc_endpoint_subnet_association": awsVpcEndpointSubnetAssociation, + "aws_vpc_ipam": awsVpcIpam, + "aws_vpc_ipam_pool": awsVpcIpamPool, + "aws_vpc_ipam_pool_cidr": awsVpcIpamPoolCidr, + "aws_vpc_ipam_pool_cidr_allocation": awsVpcIpamPoolCidrAllocation, + "aws_vpc_ipam_preview_next_cidr": awsVpcIpamPreviewNextCidr, + "aws_vpc_ipam_resource_discovery": awsVpcIpamResourceDiscovery, + "aws_vpc_ipam_resource_discovery_association": awsVpcIpamResourceDiscoveryAssociation, + "aws_vpc_ipam_scope": awsVpcIpamScope, + "aws_vpc_ipv4_cidr_block_association": awsVpcIpv4CidrBlockAssociation, + "aws_vpc_peering_connection": awsVpcPeeringConnection, + "aws_vpc_peering_connection_accepter": awsVpcPeeringConnectionAccepter, + "aws_vpc_peering_connection_options": awsVpcPeeringConnectionOptions, + "aws_vpc_security_group_egress_rule": awsVpcSecurityGroupEgressRule, + "aws_vpc_security_group_ingress_rule": awsVpcSecurityGroupIngressRule, + "aws_vpclattice_access_log_subscription": awsVpclatticeAccesLogSubscription, + "aws_vpclattice_auth_policy": awsVpclatticeAuthPolicy, + "aws_vpclattice_listener": awsVpclatticeListener, + "aws_vpclattice_listener_rule": awsVpclatticeListernerRule, + "aws_vpclattice_resource_policy": awsVpclatticeResourcePolicy, + "aws_vpclattice_service": awsVpclatticeService, + "aws_vpclattice_service_network": awsVpclatticeServiceNetwork, + "aws_vpclattice_service_network_service_association": awsVpclatticeServiceNetworkServiceAssocation, + "aws_vpclattice_service_network_vpc_association": awsVpclatticeServiceNetworkVpcAssociation, + "aws_vpclattice_target_group": awsVpclatticeTargetGroup, + "aws_vpclattice_target_group_attachment": awsVpclatticeTargetGroupAssociation, + "aws_vpn_connection": awsVpnConnection, + "aws_vpn_connection_route": awsVpnConnectionRoute, + "aws_vpn_gateway": awsVpnGateway, + "aws_vpn_gateway_attachment": awsVpnGatewayAttachment, + "aws_vpn_gateway_route_propagation": awsVpnGatewayRoutePropagation, + "aws_waf_byte_match_set": awsWafByteMatchSet, + "aws_waf_geo_match_set": awsWafGeoMatchSet, + "aws_waf_ipset": awsWafIpset, + "aws_waf_rate_based_rule": awsWafRateBasedRule, + "aws_waf_regex_match_set": awsWafRegexMatchSet, + "aws_waf_regex_pattern_set": awsWafRegexPatternSet, + "aws_waf_rule": awsWafRule, + "aws_waf_rule_group": awsWafRuleGroup, + "aws_waf_size_constraint_set": awsWafSizeConstraintSet, + "aws_waf_sql_injection_match_set": awsWafSQLInjectionMatchSet, + "aws_waf_web_acl": awsWafWebACL, + "aws_waf_xss_match_set": awsWafXSSNatchSet, + "aws_wafregional_byte_match_set": awsWafregionalByteMatchSet, + "aws_wafregional_geo_match_set": awsWafregionalGeoMatchSet, + "aws_wafregional_ipset": awsWafregionalIpset, + "aws_wafregional_rate_based_rule": awsWafregionalRateBasedRule, + "aws_wafregional_regex_match_set": awsWafregionalRegexMatchSet, + "aws_wafregional_regex_pattern_set": awsWafregionalRegexPatternSet, + "aws_wafregional_rule": awsWafregionalRule, + "aws_wafregional_rule_group": awsWafregionalRuleGroup, + "aws_wafregional_size_constraint_set": awsWafregionalSizeConstraintSet, + "aws_wafregional_sql_injection_match_set": awsWafregionalSQLInjectionMatchSet, + "aws_wafregional_web_acl": awsWafregionalWebACL, + "aws_wafregional_xss_match_set": awsWafregionalXSSNatchSet, + "aws_wafv2_ip_set": awsWafv2IpSet, + "aws_wafv2_regex_pattern_set": awsWafv2RegexPatternSet, + "aws_wafv2_rule_group": awsWafv2RuleGroup, + "aws_wafv2_web_acl": awsWafv2WebACL, + "aws_wafv2_web_acl_association": awsWafv2WebACLAssociation, + "aws_wafv2_web_acl_logging_configuration": awsWafv2WebACLLoggingConfiguration, + "aws_workspaces_connection_alias": awsWorkspacesConnectionAlias, + "aws_workspaces_directory": awsWorkspacesDirectory, + "aws_workspaces_ip_group": awsWorkspacesIPGroup, + "aws_workspaces_workspace": awsWorkspacesWorkspace, + "aws_xray_encryption_config": awsXrayEncryptionConfig, + "aws_xray_group": awsXrayGroup, + "aws_xray_sampling_rule": awsXraySamplingRule, + "backend": s3backend, + "aws_api_gateway_domain_name_access_association": awsApiGatewayDomainNameAccessAssociation, + "aws_appconfig_deployment_strategy": awsAppconfigDeploymentStrategy, + "aws_appmesh_gateway_route": awsAppmeshGatewayRoute, + "aws_appmesh_mesh": awsAppmeshMesh, + "aws_appmesh_route": awsAppmeshRoute, + "aws_appmesh_virtual_gateway": awsAppmeshVirtualGateway, + "aws_appmesh_virtual_node": awsAppmeshVirtualNode, + "aws_appmesh_virtual_router": awsAppmeshVirtualRouter, + "aws_appmesh_virtual_service": awsAppmeshVirtualService, + "aws_appstream_directory_config": awsAppstreamDirectoryConfig, + "aws_appstream_fleet": awsAppstreamFleet, + "aws_appstream_fleet_stack_association": awsAppstreamFleetStackAssociation, + "aws_appstream_stack": awsAppstreamStack, + "aws_appstream_user": awsAppstreamUser, + "aws_appstream_user_stack_association": awsAppstreamUserStackAssociation, + "aws_appsync_api_cache": awsAppsyncApiCache, + "aws_appsync_api_key": awsAppsyncApiKey, + "aws_appsync_datasource": awsAppsyncDatasource, + "aws_appsync_source_api_association": awsAppsyncSourceApiAssociation, + "aws_appsync_type": awsAppsyncType, +} // GetAWSPermissions for AWS resources. func GetAWSPermissions(result ResourceV2) ([]string, error) { @@ -1201,7 +1199,6 @@ func Contains(s []string, e string) bool { // GetPermissionMap Anonymous parsing. func GetPermissionMap(raw []byte, attributes []string, resource string) ([]string, error) { - if !json.Valid(raw) || len(raw) == 0 { return nil, &invalidJSONError{} } @@ -1213,7 +1210,6 @@ func GetPermissionMap(raw []byte, attributes []string, resource string) ([]strin var mappings []interface{} err := json.Unmarshal(raw, &mappings) - if err != nil { return nil, &unmarshallJSONError{err, resource} } @@ -1223,7 +1219,6 @@ func GetPermissionMap(raw []byte, attributes []string, resource string) ([]strin } temp, err := IsTypeOK(mappings[0]) - if err != nil { return nil, err } @@ -1233,7 +1228,6 @@ func GetPermissionMap(raw []byte, attributes []string, resource string) ([]strin } resourceAttributes, err := IsTypeOK(temp["attributes"]) - if err != nil { return nil, &assertionFailedError{"temp[\"attributes\"]", err} } @@ -1268,7 +1262,6 @@ const ( ) func getActionPermissions(permissionMap map[string]interface{}, found []string) ([]string, error) { - if permissionMap == nil { return nil, fmt.Errorf("permissionMap was nil") } diff --git a/src/aws_datasource.go b/src/aws_datasource.go index 86260541..e764b2d1 100644 --- a/src/aws_datasource.go +++ b/src/aws_datasource.go @@ -580,7 +580,7 @@ var tFLookupDataAWS = map[string]interface{}{ "aws_lb_listener_rule": dataAwsLbListenerRule, "aws_spot_datafeed_subscription": dataAwsSpotDatafeedSubscription, "aws_servicecatalogappregistry_attribute_group": dataServicecatalogappregistryAttributeGroup, - "aws_servicecatalogappregistry_attribute_group_associations": dataServicecatalogappregistryAttributeGroupAssociations, + "aws_servicecatalogappregistry_attribute_group_associations": dataServicecatalogappregistryAttributeGroupAssociations, //nolint:lll "aws_route53_records": dataAwsRoute53Records, "aws_cloudwatch_event_buses": dataAwsCloudwatchEventBuses, "aws_ecs_clusters": dataAwsEcsClusters, @@ -604,7 +604,7 @@ func GetAWSDataPermissions(result ResourceV2) ([]string, error) { return Permissions, err } -// AwsDataLookup is a map to connect resource name to an object map +// AwsDataLookup is a map to connect resource name to an object map. func AwsDataLookup(find string) interface{} { return tFLookupDataAWS[find] } diff --git a/src/aws_test.go b/src/aws_test.go index e04a38f3..8be52455 100644 --- a/src/aws_test.go +++ b/src/aws_test.go @@ -145,7 +145,8 @@ func TestGetAWSPermissions(t *testing.T) { "s3:GetEncryptionConfiguration", "s3:GetBucketRequestPayment", "s3:GetBucketCORS", - "s3:DeleteBucket"}, + "s3:DeleteBucket", + }, wantErr: false, }, { @@ -266,7 +267,8 @@ func TestGetAWSResourcePermissions(t *testing.T) { "s3:GetEncryptionConfiguration", "s3:GetBucketRequestPayment", "s3:GetBucketCORS", - "s3:DeleteBucket"}, + "s3:DeleteBucket", + }, wantErr: false, }, { diff --git a/src/azure_datasource.go b/src/azure_datasource.go index 18b1cc3f..03d791e0 100644 --- a/src/azure_datasource.go +++ b/src/azure_datasource.go @@ -19,7 +19,7 @@ func GetAZUREDataPermissions(result ResourceV2) ([]string, error) { } func AzureDataLookup(name string) interface{} { - var TFLookupAzureData = map[string]interface{}{ + TFLookupAzureData := map[string]interface{}{ "azurerm_app_service": dataAzurermAppService, "azurerm_app_service_certificate": dataAzurermAppServiceCertificate, "azurerm_app_service_certificate_order": dataAzurermAppServiceCertificateOrder, diff --git a/src/azure_policy.go b/src/azure_policy.go index 15323c3e..caf2b53a 100644 --- a/src/azure_policy.go +++ b/src/azure_policy.go @@ -35,7 +35,6 @@ func AZUREPolicy(permissions []string, policyName string) (string, error) { var output bytes.Buffer tmpl, err := template.New("test").Parse(string(policyAZURETemplate)) - if err != nil { return "", &templateParseError{err} } diff --git a/src/compare.go b/src/compare.go index 744885fc..58768250 100644 --- a/src/compare.go +++ b/src/compare.go @@ -16,7 +16,6 @@ import ( // Compare IAC codebase to AWS policy. func Compare(directory string, arn string, init bool) (bool, error) { - valid, err := inputValidationCompare(directory, arn) if err != nil { return valid, &inputValidationError{err} @@ -28,7 +27,6 @@ func Compare(directory string, arn string, init bool) (bool, error) { defer cancel() cfg, err := config.LoadDefaultConfig(ctx) - if err != nil { return false, &awsConfigError{err} } @@ -36,25 +34,21 @@ func Compare(directory string, arn string, init bool) (bool, error) { client := iam.NewFromConfig(cfg) version, err := GetVersion(client, arn) - if err != nil { return false, &getVersionError{err} } policy, err := GetPolicyVersion(client, arn, *version) - if err != nil { return false, &getPolicyVersionError{err} } iacPolicy, err := MakePolicy(directory, nil, init, false) - if err != nil { return false, &getIAMVersionError{err} } sorted, err := SortActions(iacPolicy.AWS.JSONOut) - if err != nil { return false, &sortActionsError{iacPolicy.AWS.JSONOut} } @@ -85,13 +79,20 @@ func inputValidationCompare(directory string, arn string) (bool, error) { return false, nil } +type compareDifferenceError struct { + err error +} + +func (m *compareDifferenceError) Error() string { + return fmt.Sprintf("compare difference failed: %v", m.err) +} + // CompareIAMPolicy takes two IAM policies and compares. func CompareIAMPolicy(policy string, oldPolicy string) (bool, error) { differ := diff.New() compare, err := differ.Compare([]byte(policy), []byte(oldPolicy)) - if err != nil { - return false, err + return false, &compareDifferenceError{err} } if compare.Modified() { @@ -112,7 +113,6 @@ func (m *formatterError) Error() string { func ShowDifferences(policy string, compare diff.Diff) (bool, error) { var aJSON map[string]interface{} err := json.Unmarshal([]byte(policy), &aJSON) - if err != nil { return false, &marshallPolicyError{err} } @@ -124,7 +124,6 @@ func ShowDifferences(policy string, compare diff.Diff) (bool, error) { myFormatter := formatter.NewAsciiFormatter(aJSON, myConfig) diffString, err := myFormatter.Format(compare) - if err != nil { return false, &formatterError{err} } diff --git a/src/coverage/coverage.go b/src/coverage/coverage.go index 10ebd9eb..a2f0aa13 100644 --- a/src/coverage/coverage.go +++ b/src/coverage/coverage.go @@ -46,7 +46,6 @@ func coverageAWS() error { target = Prepend + target err := os.WriteFile("aws.md", []byte(target), 0o700) - if err != nil { return &fileWriteError{err} } @@ -89,7 +88,6 @@ func coverageAzure() error { target = Prepend + target err := os.WriteFile("azure.md", []byte(target), 0o700) - if err != nil { return &fileWriteError{err} } @@ -124,7 +122,6 @@ func coverageGcp() error { target = Prepend + target err := os.WriteFile("google.md", []byte(target), 0o700) - if err != nil { return &fileWriteError{} } diff --git a/src/credentials.go b/src/credentials.go index 74e03e8c..02b0d836 100644 --- a/src/credentials.go +++ b/src/credentials.go @@ -78,10 +78,18 @@ func getAWSCredentials(iamRole string, region string) (*sts.AssumeRoleOutput, er return result, nil } +type getAWSCredentialsError struct { + err error +} + +func (e getAWSCredentialsError) Error() string { + return fmt.Sprintf("failed to get AWS credentials: %v", e.err) +} + func setAWSAuth(iamRole string, region string) error { credentials, err := getAWSCredentials(iamRole, region) if err != nil { - return err + return &getAWSCredentialsError{err} } _ = os.Setenv("AWS_ACCESS_KEY_ID", *credentials.Credentials.AccessKeyId) diff --git a/src/data.go b/src/data.go index ebb9e0e8..79721864 100644 --- a/src/data.go +++ b/src/data.go @@ -26,7 +26,6 @@ func (e *fileStringEmptyError) Error() string { // GetResources retrieves all the resources in a tf file. func GetResources(file string, dirName string) ([]ResourceV2, error) { - var Resources []ResourceV2 if file == "" { @@ -123,7 +122,6 @@ func GetResourceBlocks(file string) (*hclsyntax.Body, error) { } src, err := os.ReadFile(temp) - if err != nil { return nil, fmt.Errorf("failed to read file: %w", err) } diff --git a/src/data_test.go b/src/data_test.go index 4362ee12..b219f37c 100644 --- a/src/data_test.go +++ b/src/data_test.go @@ -129,7 +129,7 @@ func Test_getLocalModules(t *testing.T) { } for _, tt := range tests { - //t.Parallel() + // t.Parallel() t.Run(tt.name, func(t *testing.T) { got, err := pike.GetLocalModules(tt.args.block, tt.args.dirName) if (err != nil) != tt.wantErr { diff --git a/src/gcp.go b/src/gcp.go index 5701dc97..fcf5e998 100644 --- a/src/gcp.go +++ b/src/gcp.go @@ -50,201 +50,199 @@ func GCPLookup(result string) interface{} { return gCPTfLookup[result] } -var ( - gCPTfLookup = map[string]interface{}{ - "google_access_context_manager_access_level": googleAccessContextManagerAccessLevel, - "google_access_context_manager_access_levels": googleAccessContextManagerAccessLevels, - "google_access_context_manager_access_policy": googleAccessContextManagerAccessPolicy, - "google_access_context_manager_access_policy_iam_binding": googleAccessContextManagerAccessPolicyIam, - "google_access_context_manager_access_policy_iam_member": googleAccessContextManagerAccessPolicyIam, - "google_access_context_manager_access_policy_iam_policy": googleAccessContextManagerAccessPolicyIam, - "google_access_context_manager_authorized_orgs_desc": googleAccessContextManagerAuthorizedOrgsDesc, - "google_access_context_manager_gcp_user_access_binding": googleAccessContextManagerGcpUserAccessBinding, - "google_access_context_manager_service_perimeter": googleAccessContextManagerServicePerimeter, - "google_access_context_manager_service_perimeters": googleAccessContextManagerServicePerimeters, - "google_alloydb_backup": googleAlloydbBackup, - "google_alloydb_cluster": googleAlloydbCluster, - "google_alloydb_instance": googleAlloydbInstance, - "google_alloydb_user": googleAlloydbUser, - "google_api_gateway_api": googleAPIGatewayAPI, - "google_api_gateway_api_config": googleAPIGatewayAPIConfig, - "google_api_gateway_api_config_iam_binding": googleAPIGatewayAPIConfigIam, - "google_api_gateway_api_config_iam_member": googleAPIGatewayAPIConfigIam, - "google_api_gateway_api_config_iam_policy": googleAPIGatewayAPIConfigIam, - "google_api_gateway_api_iam_binding": googleAPIGatewayAPIIam, - "google_api_gateway_api_iam_member": googleAPIGatewayAPIIam, - "google_api_gateway_api_iam_policy": googleAPIGatewayAPIIam, - "google_api_gateway_gateway": googleAPIGatewayGateway, - "google_api_gateway_gateway_iam_binding": googleAPIGatewayGatewayIam, - "google_api_gateway_gateway_iam_member": googleAPIGatewayGatewayIam, - "google_api_gateway_gateway_iam_policy": googleAPIGatewayGatewayIam, - "google_artifact_registry_repository": googleArtifactRegistryRepository, - "google_artifact_registry_repository_iam_binding": googleArtifactRegistryRepositoryIamBinding, - "google_artifact_registry_repository_iam_member": googleArtifactRegistryRepositoryIamMember, - "google_artifact_registry_repository_iam_policy": googleArtifactRegistryRepositoryIamPolicy, - "google_bigquery_dataset": googleBigqueryDataset, - "google_bigquery_job": googleBigqueryJob, - "google_bigquery_table": placeholder, - "google_bigtable_app_profile": googleBigtableAppProfile, - "google_bigtable_gc_policy": googleBigtableGcPolicy, - "google_bigtable_instance": googleBigtableInstance, - "google_bigtable_instance_iam_binding": googleBigTableInstanceIam, - "google_bigtable_instance_iam_member": googleBigTableInstanceIam, - "google_bigtable_instance_iam_policy": googleBigTableInstanceIam, - "google_bigtable_table": googleBigtableTable, - "google_bigtable_table_iam_binding": googleBigTableTableIam, - "google_bigtable_table_iam_member": googleBigTableTableIam, - "google_bigtable_table_iam_policy": googleBigTableTableIam, - "google_cloud_run_v2_job": googleCloudRunV2Job, - "google_cloud_run_v2_job_iam_binding": googleCloudRunV2JobIam, - "google_cloud_run_v2_job_iam_member": googleCloudRunV2JobIam, - "google_cloud_run_v2_job_iam_policy": googleCloudRunV2JobIam, - "google_cloud_run_v2_service": googleCloudRunV2Service, - "google_cloud_run_v2_service_iam_binding": googleCloudRunV2ServiceIam, - "google_cloud_run_v2_service_iam_member": googleCloudRunV2ServiceIam, - "google_cloud_run_v2_service_iam_policy": googleCloudRunV2ServiceIam, - "google_cloud_scheduler_job": googleCloudSchedulerJob, - "google_cloudbuild_trigger": googleCloudbuildTrigger, - "google_cloudfunctions_function": googleCloudfunctionsFunction, - "google_cloudfunctions_function_iam_member": googleCloudfunctionsFunctionIamPolicy, - "google_cloudfunctions_function_iam_policy": googleCloudfunctionsFunctionIamPolicy, - "google_compute_address": googleComputeAddress, - "google_compute_firewall": googleComputeFirewall, - "google_compute_global_address": googleComputeGlobalAddress, - "google_compute_instance": googleComputeInstance, - "google_compute_instance_template": googleComputeInstanceTemplate, - "google_compute_network": googleComputeNetwork, - "google_compute_project_metadata_item": googleComputeProjectMetadataItem, - "google_compute_region_ssl_certificate": googleComputeRegionSslCertificate, - "google_compute_security_policy": googleComputeSecurityPolicy, - "google_compute_subnetwork": googleComputeSubnetwork, - "google_container_cluster": googleContainerCluster, - "google_container_node_pool": googleContainerNodePool, - "google_dns_managed_zone": googleDnsmanagedZone, - "google_dns_policy": googleDNSPolicy, - "google_dns_record_set": googleDNSRecordSet, - "google_firebase_android_app": googleFirebaseAndroidApp, - "google_firebase_apple_app": googleFirebaseAppleApp, - "google_firebase_database_instance": googleFirebaseDatabaseInstance, - "google_firebase_hosting_channel": googleFirebaseHostingSite, - "google_firebase_hosting_custom_domain": googleFirebaseHostingSite, - "google_firebase_hosting_release": googleFirebaseHostingSite, - "google_firebase_hosting_site": googleFirebaseHostingSite, - "google_firebase_hosting_version": googleFirebaseHostingSite, - "google_firebase_project": googleFirebaseProject, - "google_firebase_storage_bucket": googleFirebaseStorageBucket, - "google_firebase_web_app": googleFirebaseWebApp, - "google_firebaserules_release": googleFirebaserulesRelease, - "google_firebaserules_ruleset": googleFirebaserulesRuleset, - "google_kms_crypto_key": googleKmsCryptoKey, - "google_kms_crypto_key_iam_binding": googlekmsCryptoKeyIamBinding, - "google_kms_crypto_key_iam_member": googlekmsCryptoKeyIamMember, - "google_kms_crypto_key_iam_policy": googlekmsCryptoKeyIamPolicy, - "google_kms_key_ring": googleKmsKeyRing, - "google_project_iam_binding": googleProjectIamBinding, - "google_project_iam_custom_role": googleProjectIamCustomRole, - "google_project_iam_member": googleProjectIamBinding, - "google_project_service": googleProjectService, - "google_project_service_identity": placeholder, - "google_pubsub_lite_reservation": googlePubsubLiteReservation, - "google_pubsub_lite_subscription": googlePubsubLiteSubscription, - "google_pubsub_lite_topic": googlePubsubLiteTopic, - "google_pubsub_schema": googlePubsubSchema, - "google_pubsub_subscription": googlePubsubSubscription, - "google_pubsub_topic": googlePubsubTopic, - "google_pubsub_topic_iam_binding": googlePubsubTopicIam, - "google_pubsub_topic_iam_member": googlePubsubTopicIam, - "google_pubsub_topic_iam_policy": googlePubsubTopicIam, - "google_redis_instance": googleRedisInstance, - "google_secret_manager_secret": googleSecretManagerSecret, - "google_secret_manager_secret_iam_binding": googleSecretManagerSecretIam, - "google_secret_manager_secret_iam_member": googleSecretManagerSecretIam, - "google_secret_manager_secret_iam_policy": googleSecretManagerSecretIam, - "google_secret_manager_secret_version": googleSecretManagerSecretVersion, - "google_service_account": googleServiceAccount, - "google_service_account_iam_binding": googleServiceAccountIamBinding, - "google_service_account_iam_member": googleServiceAccountIamMember, - "google_service_account_iam_policy": googleServiceAccountIamPolicy, - "google_service_account_key": googleServiceAccountKey, - "google_service_directory_endpoint": googleServiceDirectoryEndpoint, - "google_service_directory_namespace": googleServiceDirectoryNamespace, - "google_service_directory_namespace_iam_binding": googleServiceDirectoryNamespaceIamBinding, - "google_service_directory_namespace_iam_member": googleServiceDirectoryNamespaceIamMember, - "google_service_directory_namespace_iam_policy": googleServiceDirectoryNamespaceIamPolicy, - "google_service_directory_service": googleServiceDirectoryService, - "google_service_directory_service_iam_binding": googleServiceDirectoryServiceIamBinding, - "google_service_directory_service_iam_member": googleServiceDirectoryServiceIamMember, - "google_service_directory_service_iam_policy": googleServiceDirectoryServiceIamPolicy, - "google_service_networking_connection": googleServiceNetworkingConnection, - "google_sourcerepo_repository": googleSourcerepoRepository, - "google_spanner_database": GoogleSpannerDatabase, - "google_spanner_database_iam_binding": GoogleSpannerDatabaseIam, - "google_spanner_database_iam_member": GoogleSpannerDatabaseIam, - "google_spanner_database_iam_policy": GoogleSpannerDatabaseIam, - "google_spanner_instance": GoogleSpannerInstance, - "google_spanner_instance_iam_binding": GoogleSpannerInstanceIam, - "google_spanner_instance_iam_member": GoogleSpannerInstanceIam, - "google_spanner_instance_iam_policy": GoogleSpannerInstanceIam, - "google_sql_database": googleSQLDatabase, - "google_sql_database_instance": googleSQLDatabaseInstance, - "google_sql_user": googleSQLUser, - "google_storage_bucket": googleStorageBucket, - "google_storage_bucket_access_control": googleStorageBucketAccessControl, - "google_storage_bucket_acl": googleStorageBucketACL, - "google_storage_bucket_iam_binding": googleStorageBucketIamBinding, - "google_storage_bucket_iam_member": googleStorageBucketIamMember, - "google_storage_bucket_iam_policy": googleStorageBucketIamPolicy, - "google_storage_bucket_object": googleStorageBucketObject, - "google_storage_default_object_access_control": googleStorageDefaultObjectAccessControl, - "google_storage_default_object_acl": googleStorageDefaultObjectACL, - "google_storage_hmac_key": googleStorageHmacKey, - "google_storage_insights_report_config": googleStorageInsightsReportConfig, - "google_storage_object_access_control": googleStorageObjectAccessControl, - "google_vertex_ai_dataset": googleVertexAiDataset, - "google_vertex_ai_endpoint": googleVertexAiEndpoint, - "google_vertex_ai_endpoint_iam_binding": googleVertexAiEndpointIam, - "google_vertex_ai_endpoint_iam_member": googleVertexAiEndpointIam, - "google_vertex_ai_endpoint_iam_policy": googleVertexAiEndpointIam, - "google_vertex_ai_feature_group": googleVertexAiFeatureGroup, - "google_vertex_ai_feature_group_feature": googleVertexAiFeatureGroupFeature, - "google_vertex_ai_feature_online_store": googleVertexAiFeatureOnlineStore, - "google_vertex_ai_feature_online_store_featureview": googleVertexAiFeatureOnlineStoreFeatureview, - "google_vertex_ai_featurestore": googleVertexAiFeaturestore, - "google_vertex_ai_featurestore_entitytype": googleVertexAiFeaturestoreEntitytype, - "google_vertex_ai_featurestore_entitytype_feature": googleVertexAiFeaturestoreEntitytypeFeature, - "google_vertex_ai_featurestore_entitytype_iam_binding": googleVertexAiFeaturestoreEntitytypeIam, - "google_vertex_ai_featurestore_entitytype_iam_member": googleVertexAiFeaturestoreEntitytypeIam, - "google_vertex_ai_featurestore_entitytype_iam_policy": googleVertexAiFeaturestoreEntitytypeIam, - "google_vertex_ai_featurestore_iam_binding": googleVertexAiFeaturestoreIam, - "google_vertex_ai_featurestore_iam_member": googleVertexAiFeaturestoreIam, - "google_vertex_ai_featurestore_iam_policy": googleVertexAiFeaturestoreIam, - "google_vertex_ai_index": googleVertexAiIndex, - "google_vertex_ai_index_endpoint": googleVertexAiIndexEndpoint, - "google_vertex_ai_metadata_store": googleVertexAiMetadataStore, - "google_vertex_ai_tensorboard": googleVertexAiTensorboard, - "google_bigquery_analytics_hub_data_exchange": googleBigqueryAnalyticsHubDataExchange, - "google_bigquery_analytics_hub_data_exchange_iam_binding": googleBigqueryAnalyticsHubDataExchangeIam, - "google_bigquery_analytics_hub_data_exchange_iam_member": googleBigqueryAnalyticsHubDataExchangeIam, - "google_bigquery_analytics_hub_data_exchange_iam_policy": googleBigqueryAnalyticsHubDataExchangeIam, - "google_bigquery_analytics_hub_listing": googleBigqueryAnalyticsHubListing, - "google_bigquery_analytics_hub_listing_iam_binding": googleBigqueryAnalyticsHubListingIam, - "google_bigquery_analytics_hub_listing_iam_member": googleBigqueryAnalyticsHubListingIam, - "google_bigquery_analytics_hub_listing_iam_policy": googleBigqueryAnalyticsHubListingIam, - "google_bigquery_bi_reservation": googleBigqueryBiReservation, - "google_bigquery_capacity_commitment": googleBigqueryCapacityCommitment, - "google_bigquery_connection": googleBigqueryConnection, - "google_bigquery_connection_iam_binding": googleBigqueryConnectionIam, - "google_bigquery_connection_iam_member": googleBigqueryConnectionIam, - "google_bigquery_connection_iam_policy": googleBigqueryConnectionIam, - "google_bigquery_data_transfer_config": googleBigqueryDataTransferConfig, - "google_bigquery_dataset_iam_binding": googleBigqueryDatasetIam, - "google_bigquery_dataset_iam_member": googleBigqueryDatasetIam, - "google_bigquery_dataset_iam_policy": googleBigqueryDatasetIam, - "google_bigquery_reservation": googleBigqueryReservation, - "google_bigquery_reservation_assignment": googleBigqueryReservationAssignment, - "google_bigquery_routine": googleBigqueryRoutine, - "google_bigquery_table_iam_binding": googleBigqueryTableIam, - "google_bigquery_table_iam_member": googleBigqueryTableIam, - "google_bigquery_table_iam_policy": googleBigqueryTableIam, - } -) +var gCPTfLookup = map[string]interface{}{ + "google_access_context_manager_access_level": googleAccessContextManagerAccessLevel, + "google_access_context_manager_access_levels": googleAccessContextManagerAccessLevels, + "google_access_context_manager_access_policy": googleAccessContextManagerAccessPolicy, + "google_access_context_manager_access_policy_iam_binding": googleAccessContextManagerAccessPolicyIam, + "google_access_context_manager_access_policy_iam_member": googleAccessContextManagerAccessPolicyIam, + "google_access_context_manager_access_policy_iam_policy": googleAccessContextManagerAccessPolicyIam, + "google_access_context_manager_authorized_orgs_desc": googleAccessContextManagerAuthorizedOrgsDesc, + "google_access_context_manager_gcp_user_access_binding": googleAccessContextManagerGcpUserAccessBinding, + "google_access_context_manager_service_perimeter": googleAccessContextManagerServicePerimeter, + "google_access_context_manager_service_perimeters": googleAccessContextManagerServicePerimeters, + "google_alloydb_backup": googleAlloydbBackup, + "google_alloydb_cluster": googleAlloydbCluster, + "google_alloydb_instance": googleAlloydbInstance, + "google_alloydb_user": googleAlloydbUser, + "google_api_gateway_api": googleAPIGatewayAPI, + "google_api_gateway_api_config": googleAPIGatewayAPIConfig, + "google_api_gateway_api_config_iam_binding": googleAPIGatewayAPIConfigIam, + "google_api_gateway_api_config_iam_member": googleAPIGatewayAPIConfigIam, + "google_api_gateway_api_config_iam_policy": googleAPIGatewayAPIConfigIam, + "google_api_gateway_api_iam_binding": googleAPIGatewayAPIIam, + "google_api_gateway_api_iam_member": googleAPIGatewayAPIIam, + "google_api_gateway_api_iam_policy": googleAPIGatewayAPIIam, + "google_api_gateway_gateway": googleAPIGatewayGateway, + "google_api_gateway_gateway_iam_binding": googleAPIGatewayGatewayIam, + "google_api_gateway_gateway_iam_member": googleAPIGatewayGatewayIam, + "google_api_gateway_gateway_iam_policy": googleAPIGatewayGatewayIam, + "google_artifact_registry_repository": googleArtifactRegistryRepository, + "google_artifact_registry_repository_iam_binding": googleArtifactRegistryRepositoryIamBinding, + "google_artifact_registry_repository_iam_member": googleArtifactRegistryRepositoryIamMember, + "google_artifact_registry_repository_iam_policy": googleArtifactRegistryRepositoryIamPolicy, + "google_bigquery_dataset": googleBigqueryDataset, + "google_bigquery_job": googleBigqueryJob, + "google_bigquery_table": placeholder, + "google_bigtable_app_profile": googleBigtableAppProfile, + "google_bigtable_gc_policy": googleBigtableGcPolicy, + "google_bigtable_instance": googleBigtableInstance, + "google_bigtable_instance_iam_binding": googleBigTableInstanceIam, + "google_bigtable_instance_iam_member": googleBigTableInstanceIam, + "google_bigtable_instance_iam_policy": googleBigTableInstanceIam, + "google_bigtable_table": googleBigtableTable, + "google_bigtable_table_iam_binding": googleBigTableTableIam, + "google_bigtable_table_iam_member": googleBigTableTableIam, + "google_bigtable_table_iam_policy": googleBigTableTableIam, + "google_cloud_run_v2_job": googleCloudRunV2Job, + "google_cloud_run_v2_job_iam_binding": googleCloudRunV2JobIam, + "google_cloud_run_v2_job_iam_member": googleCloudRunV2JobIam, + "google_cloud_run_v2_job_iam_policy": googleCloudRunV2JobIam, + "google_cloud_run_v2_service": googleCloudRunV2Service, + "google_cloud_run_v2_service_iam_binding": googleCloudRunV2ServiceIam, + "google_cloud_run_v2_service_iam_member": googleCloudRunV2ServiceIam, + "google_cloud_run_v2_service_iam_policy": googleCloudRunV2ServiceIam, + "google_cloud_scheduler_job": googleCloudSchedulerJob, + "google_cloudbuild_trigger": googleCloudbuildTrigger, + "google_cloudfunctions_function": googleCloudfunctionsFunction, + "google_cloudfunctions_function_iam_member": googleCloudfunctionsFunctionIamPolicy, + "google_cloudfunctions_function_iam_policy": googleCloudfunctionsFunctionIamPolicy, + "google_compute_address": googleComputeAddress, + "google_compute_firewall": googleComputeFirewall, + "google_compute_global_address": googleComputeGlobalAddress, + "google_compute_instance": googleComputeInstance, + "google_compute_instance_template": googleComputeInstanceTemplate, + "google_compute_network": googleComputeNetwork, + "google_compute_project_metadata_item": googleComputeProjectMetadataItem, + "google_compute_region_ssl_certificate": googleComputeRegionSslCertificate, + "google_compute_security_policy": googleComputeSecurityPolicy, + "google_compute_subnetwork": googleComputeSubnetwork, + "google_container_cluster": googleContainerCluster, + "google_container_node_pool": googleContainerNodePool, + "google_dns_managed_zone": googleDnsmanagedZone, + "google_dns_policy": googleDNSPolicy, + "google_dns_record_set": googleDNSRecordSet, + "google_firebase_android_app": googleFirebaseAndroidApp, + "google_firebase_apple_app": googleFirebaseAppleApp, + "google_firebase_database_instance": googleFirebaseDatabaseInstance, + "google_firebase_hosting_channel": googleFirebaseHostingSite, + "google_firebase_hosting_custom_domain": googleFirebaseHostingSite, + "google_firebase_hosting_release": googleFirebaseHostingSite, + "google_firebase_hosting_site": googleFirebaseHostingSite, + "google_firebase_hosting_version": googleFirebaseHostingSite, + "google_firebase_project": googleFirebaseProject, + "google_firebase_storage_bucket": googleFirebaseStorageBucket, + "google_firebase_web_app": googleFirebaseWebApp, + "google_firebaserules_release": googleFirebaserulesRelease, + "google_firebaserules_ruleset": googleFirebaserulesRuleset, + "google_kms_crypto_key": googleKmsCryptoKey, + "google_kms_crypto_key_iam_binding": googlekmsCryptoKeyIamBinding, + "google_kms_crypto_key_iam_member": googlekmsCryptoKeyIamMember, + "google_kms_crypto_key_iam_policy": googlekmsCryptoKeyIamPolicy, + "google_kms_key_ring": googleKmsKeyRing, + "google_project_iam_binding": googleProjectIamBinding, + "google_project_iam_custom_role": googleProjectIamCustomRole, + "google_project_iam_member": googleProjectIamBinding, + "google_project_service": googleProjectService, + "google_project_service_identity": placeholder, + "google_pubsub_lite_reservation": googlePubsubLiteReservation, + "google_pubsub_lite_subscription": googlePubsubLiteSubscription, + "google_pubsub_lite_topic": googlePubsubLiteTopic, + "google_pubsub_schema": googlePubsubSchema, + "google_pubsub_subscription": googlePubsubSubscription, + "google_pubsub_topic": googlePubsubTopic, + "google_pubsub_topic_iam_binding": googlePubsubTopicIam, + "google_pubsub_topic_iam_member": googlePubsubTopicIam, + "google_pubsub_topic_iam_policy": googlePubsubTopicIam, + "google_redis_instance": googleRedisInstance, + "google_secret_manager_secret": googleSecretManagerSecret, + "google_secret_manager_secret_iam_binding": googleSecretManagerSecretIam, + "google_secret_manager_secret_iam_member": googleSecretManagerSecretIam, + "google_secret_manager_secret_iam_policy": googleSecretManagerSecretIam, + "google_secret_manager_secret_version": googleSecretManagerSecretVersion, + "google_service_account": googleServiceAccount, + "google_service_account_iam_binding": googleServiceAccountIamBinding, + "google_service_account_iam_member": googleServiceAccountIamMember, + "google_service_account_iam_policy": googleServiceAccountIamPolicy, + "google_service_account_key": googleServiceAccountKey, + "google_service_directory_endpoint": googleServiceDirectoryEndpoint, + "google_service_directory_namespace": googleServiceDirectoryNamespace, + "google_service_directory_namespace_iam_binding": googleServiceDirectoryNamespaceIamBinding, + "google_service_directory_namespace_iam_member": googleServiceDirectoryNamespaceIamMember, + "google_service_directory_namespace_iam_policy": googleServiceDirectoryNamespaceIamPolicy, + "google_service_directory_service": googleServiceDirectoryService, + "google_service_directory_service_iam_binding": googleServiceDirectoryServiceIamBinding, + "google_service_directory_service_iam_member": googleServiceDirectoryServiceIamMember, + "google_service_directory_service_iam_policy": googleServiceDirectoryServiceIamPolicy, + "google_service_networking_connection": googleServiceNetworkingConnection, + "google_sourcerepo_repository": googleSourcerepoRepository, + "google_spanner_database": GoogleSpannerDatabase, + "google_spanner_database_iam_binding": GoogleSpannerDatabaseIam, + "google_spanner_database_iam_member": GoogleSpannerDatabaseIam, + "google_spanner_database_iam_policy": GoogleSpannerDatabaseIam, + "google_spanner_instance": GoogleSpannerInstance, + "google_spanner_instance_iam_binding": GoogleSpannerInstanceIam, + "google_spanner_instance_iam_member": GoogleSpannerInstanceIam, + "google_spanner_instance_iam_policy": GoogleSpannerInstanceIam, + "google_sql_database": googleSQLDatabase, + "google_sql_database_instance": googleSQLDatabaseInstance, + "google_sql_user": googleSQLUser, + "google_storage_bucket": googleStorageBucket, + "google_storage_bucket_access_control": googleStorageBucketAccessControl, + "google_storage_bucket_acl": googleStorageBucketACL, + "google_storage_bucket_iam_binding": googleStorageBucketIamBinding, + "google_storage_bucket_iam_member": googleStorageBucketIamMember, + "google_storage_bucket_iam_policy": googleStorageBucketIamPolicy, + "google_storage_bucket_object": googleStorageBucketObject, + "google_storage_default_object_access_control": googleStorageDefaultObjectAccessControl, + "google_storage_default_object_acl": googleStorageDefaultObjectACL, + "google_storage_hmac_key": googleStorageHmacKey, + "google_storage_insights_report_config": googleStorageInsightsReportConfig, + "google_storage_object_access_control": googleStorageObjectAccessControl, + "google_vertex_ai_dataset": googleVertexAiDataset, + "google_vertex_ai_endpoint": googleVertexAiEndpoint, + "google_vertex_ai_endpoint_iam_binding": googleVertexAiEndpointIam, + "google_vertex_ai_endpoint_iam_member": googleVertexAiEndpointIam, + "google_vertex_ai_endpoint_iam_policy": googleVertexAiEndpointIam, + "google_vertex_ai_feature_group": googleVertexAiFeatureGroup, + "google_vertex_ai_feature_group_feature": googleVertexAiFeatureGroupFeature, + "google_vertex_ai_feature_online_store": googleVertexAiFeatureOnlineStore, + "google_vertex_ai_feature_online_store_featureview": googleVertexAiFeatureOnlineStoreFeatureview, + "google_vertex_ai_featurestore": googleVertexAiFeaturestore, + "google_vertex_ai_featurestore_entitytype": googleVertexAiFeaturestoreEntitytype, + "google_vertex_ai_featurestore_entitytype_feature": googleVertexAiFeaturestoreEntitytypeFeature, + "google_vertex_ai_featurestore_entitytype_iam_binding": googleVertexAiFeaturestoreEntitytypeIam, + "google_vertex_ai_featurestore_entitytype_iam_member": googleVertexAiFeaturestoreEntitytypeIam, + "google_vertex_ai_featurestore_entitytype_iam_policy": googleVertexAiFeaturestoreEntitytypeIam, + "google_vertex_ai_featurestore_iam_binding": googleVertexAiFeaturestoreIam, + "google_vertex_ai_featurestore_iam_member": googleVertexAiFeaturestoreIam, + "google_vertex_ai_featurestore_iam_policy": googleVertexAiFeaturestoreIam, + "google_vertex_ai_index": googleVertexAiIndex, + "google_vertex_ai_index_endpoint": googleVertexAiIndexEndpoint, + "google_vertex_ai_metadata_store": googleVertexAiMetadataStore, + "google_vertex_ai_tensorboard": googleVertexAiTensorboard, + "google_bigquery_analytics_hub_data_exchange": googleBigqueryAnalyticsHubDataExchange, + "google_bigquery_analytics_hub_data_exchange_iam_binding": googleBigqueryAnalyticsHubDataExchangeIam, + "google_bigquery_analytics_hub_data_exchange_iam_member": googleBigqueryAnalyticsHubDataExchangeIam, + "google_bigquery_analytics_hub_data_exchange_iam_policy": googleBigqueryAnalyticsHubDataExchangeIam, + "google_bigquery_analytics_hub_listing": googleBigqueryAnalyticsHubListing, + "google_bigquery_analytics_hub_listing_iam_binding": googleBigqueryAnalyticsHubListingIam, + "google_bigquery_analytics_hub_listing_iam_member": googleBigqueryAnalyticsHubListingIam, + "google_bigquery_analytics_hub_listing_iam_policy": googleBigqueryAnalyticsHubListingIam, + "google_bigquery_bi_reservation": googleBigqueryBiReservation, + "google_bigquery_capacity_commitment": googleBigqueryCapacityCommitment, + "google_bigquery_connection": googleBigqueryConnection, + "google_bigquery_connection_iam_binding": googleBigqueryConnectionIam, + "google_bigquery_connection_iam_member": googleBigqueryConnectionIam, + "google_bigquery_connection_iam_policy": googleBigqueryConnectionIam, + "google_bigquery_data_transfer_config": googleBigqueryDataTransferConfig, + "google_bigquery_dataset_iam_binding": googleBigqueryDatasetIam, + "google_bigquery_dataset_iam_member": googleBigqueryDatasetIam, + "google_bigquery_dataset_iam_policy": googleBigqueryDatasetIam, + "google_bigquery_reservation": googleBigqueryReservation, + "google_bigquery_reservation_assignment": googleBigqueryReservationAssignment, + "google_bigquery_routine": googleBigqueryRoutine, + "google_bigquery_table_iam_binding": googleBigqueryTableIam, + "google_bigquery_table_iam_member": googleBigqueryTableIam, + "google_bigquery_table_iam_policy": googleBigqueryTableIam, +} diff --git a/src/gcp_policy.go b/src/gcp_policy.go index 0bca4b34..d63930de 100644 --- a/src/gcp_policy.go +++ b/src/gcp_policy.go @@ -17,7 +17,7 @@ const ( var policyGCPTemplate []byte // GCPPolicy create an IAM policy. -func GCPPolicy(permissions []string) (policy string, err error) { +func GCPPolicy(permissions []string) (string, error) { if permissions == nil { return "", &emptyPermissionsError{} } diff --git a/src/gitHub.go b/src/gitHub.go index a436c929..b374c4ab 100644 --- a/src/gitHub.go +++ b/src/gitHub.go @@ -35,8 +35,7 @@ func (m *verifyBranchError) Error() string { return fmt.Sprintf("failed to verify branch %s %s %s %v", m.branch, m.repo, m.owner, m.err) } -type nilResponseError struct { -} +type nilResponseError struct{} func (m *nilResponseError) Error() string { return "nil response" @@ -140,13 +139,20 @@ func InvokeGithubDispatchEvent(repository string, workflowFileName string, branc return nil } +type listBranchesError struct { + err error +} + +func (m *listBranchesError) Error() string { + return fmt.Sprintf("failed to list branches %v", m.err) +} + // VerifyBranch checks that a branch exists in a repo. func VerifyBranch(client *github.Client, owner string, repo string, branch string) error { ctx := context.Background() branches, _, err := client.Repositories.ListBranches(ctx, owner, repo, nil) - if err != nil { - return err + return &listBranchesError{err} } found := false diff --git a/src/inspect.go b/src/inspect.go index 087b8455..234ec197 100644 --- a/src/inspect.go +++ b/src/inspect.go @@ -78,14 +78,20 @@ func Inspect(directory string, init bool) (PolicyDiff, error) { return Difference, nil } +type policyDifferenceError struct{} + +func (m *policyDifferenceError) Error() string { + return "invalid input: empty or nil policies/statements" +} + func CompareAllow(identity Identity.IAM, policy Identity.Policy) (PolicyDiff, error) { // Add at start of function if identity.Policies == nil || policy.Statements == nil { - return PolicyDiff{}, errors.New("invalid input: nil policies or statements") + return PolicyDiff{}, &policyDifferenceError{} } if len(identity.Policies) == 0 || len(policy.Statements) == 0 { - return PolicyDiff{}, errors.New("invalid input: empty policies or statements") + return PolicyDiff{}, &policyDifferenceError{} } identityAllows := make([]string, 0, len(identity.Policies)*2) diff --git a/src/inspect_test.go b/src/inspect_test.go index 915400ff..6c52f1d7 100644 --- a/src/inspect_test.go +++ b/src/inspect_test.go @@ -245,8 +245,10 @@ func TestInspectExtended(t *testing.T) { myDiff := PolicyDiff{ Over: []string{"ssm:DescribePatchBaselines"}, - Under: []string{"dynamodb:DeleteItem", "dynamodb:DescribeTable", "dynamodb:GetItem", "dynamodb:PutItem", - "s3:DeleteObject", "s3:GetObject", "s3:ListBucket", "s3:PutObject"}, + Under: []string{ + "dynamodb:DeleteItem", "dynamodb:DescribeTable", "dynamodb:GetItem", "dynamodb:PutItem", + "s3:DeleteObject", "s3:GetObject", "s3:ListBucket", "s3:PutObject", + }, } tests := []struct { @@ -265,7 +267,7 @@ func TestInspectExtended(t *testing.T) { // wantErr: true, //}, { - //its comparing + // its comparing name: "init true", args: args{ directory: "../terraform/aws", diff --git a/src/make.go b/src/make.go index cb80ac3d..87405021 100644 --- a/src/make.go +++ b/src/make.go @@ -17,11 +17,10 @@ import ( // Make creates the required role. func Make(directory string) (*string, error) { if directory == "" { - return nil, errors.New("directory is required") + return nil, &directoryNotFoundError{directory: directory} } err := Scan(directory, "terraform", nil, true, true, false) - if err != nil { return nil, fmt.Errorf("failed to scan directory: %w", err) } @@ -152,7 +151,6 @@ func tfPlan(policyPath string) error { cmd := exec.Command(terraform.ExecPath(), chdir, "plan", "--out", "tf.plan") stdout, err := cmd.Output() - if err != nil { return &terraformPlanError{err} } diff --git a/src/parse/parse.go b/src/parse/parse.go index de167066..816976f3 100644 --- a/src/parse/parse.go +++ b/src/parse/parse.go @@ -19,7 +19,6 @@ type provider struct { } func Parse(codebase string, name string) error { - if name == "" || codebase == "" { return errors.New("name or codebase is required") } diff --git a/src/parse/parse_test.go b/src/parse/parse_test.go index e0a3e021..355463ec 100644 --- a/src/parse/parse_test.go +++ b/src/parse/parse_test.go @@ -30,14 +30,18 @@ func TestGetGoFiles(t *testing.T) { {name: "None", args: args{path: "../mapping", extension: "go"}}, { name: "Valid path", - args: args{path: "./testdata", - extension: "markdown"}, + args: args{ + path: "./testdata", + extension: "markdown", + }, wantErr: false, }, { name: "Invalid path", - args: args{path: "/nonexistent", - extension: "markdown"}, + args: args{ + path: "/nonexistent", + extension: "markdown", + }, wantErr: true, }, } @@ -90,7 +94,8 @@ func TestGetKeys(t *testing.T) { m: map[string]bool{ "key1": true, "key2": true, - }}, + }, + }, want: []string{"key1", "key2"}, }, { @@ -133,17 +138,21 @@ func TestGetMatches(t *testing.T) { {name: "go", args: args{source: "./testdata", match: "(aws_.*?)", extension: "go"}, want: []string{"aws_"}}, { name: "Valid pattern", - args: args{source: "./testdata", + args: args{ + source: "./testdata", match: `resource "(test_.*?)"`, - extension: "markdown"}, + extension: "markdown", + }, want: empty, wantErr: false, }, { name: "Invalid regex pattern", - args: args{source: "./testdata", + args: args{ + source: "./testdata", match: "[", - extension: "markdown"}, + extension: "markdown", + }, want: empty, wantErr: false, }, @@ -202,11 +211,9 @@ func teardown(cloud string) { case "google": _ = os.RemoveAll("./terraform-provider-google") } - } func TestParse(t *testing.T) { - type args struct { codebase string name string diff --git a/src/policy.go b/src/policy.go index 2969402a..517e3d66 100644 --- a/src/policy.go +++ b/src/policy.go @@ -101,7 +101,7 @@ func GetPolicy(actions Sorted, resources bool) (OutputPolicy, error) { Empty = true - var actionsValue = reflect.ValueOf(actions) + actionsValue := reflect.ValueOf(actions) typeOfV := actionsValue.Type() values := make([]interface{}, actionsValue.NumField()) diff --git a/src/scan.go b/src/scan.go index 72df4abe..ecfce2c7 100644 --- a/src/scan.go +++ b/src/scan.go @@ -125,8 +125,7 @@ func Scan(dirName string, output string, file *string, init bool, write bool, en return &writeFileError{file: output, err: err} } } else { - - fmt.Print(OutPolicy.AsString(output)) //permit + fmt.Print(OutPolicy.AsString(output)) // permit } return err @@ -140,7 +139,6 @@ func WriteOutput(outPolicy OutputPolicy, output, location string) error { newPath, _ := filepath.Abs(location + "/.pike") err := os.MkdirAll(newPath, os.ModePerm) - if err != nil { return &makeDirectoryError{directory: newPath, err: err} } @@ -198,7 +196,6 @@ func Init(dirName string) (*string, []string, error) { modulesDir := path.Join(dirName, dotTfModules) modules, err := os.ReadDir(modulesDir) - if err != nil { return &tfPath, nil, &readDirectoryError{directory: modulesDir, err: err} } @@ -348,7 +345,6 @@ func GetTF(dirName string) ([]string, error) { // GetTFFiles get tf files in directory. func GetTFFiles(dirName string) ([]string, error) { rawFiles, err := os.ReadDir(dirName) - if err != nil { return nil, err } diff --git a/src/scan_test.go b/src/scan_test.go index a8d03579..379b1371 100644 --- a/src/scan_test.go +++ b/src/scan_test.go @@ -697,7 +697,7 @@ func TestInitWithInvalidTerraformConfig(t *testing.T) { bad config } `) - err = os.WriteFile(filepath.Join(tempDir, "main.tf"), invalidConfig, 0644) + err = os.WriteFile(filepath.Join(tempDir, "main.tf"), invalidConfig, 0o644) if err != nil { t.Fatal(err) } @@ -723,12 +723,12 @@ func TestInitWithModulesJsonOnly(t *testing.T) { // Create .terraform/modules directory with only modules.json modulesDir := filepath.Join(tempDir, ".terraform", "modules") - err = os.MkdirAll(modulesDir, 0755) + err = os.MkdirAll(modulesDir, 0o755) if err != nil { t.Fatal(err) } - err = os.WriteFile(filepath.Join(modulesDir, "modules.json"), []byte("{}"), 0644) + err = os.WriteFile(filepath.Join(modulesDir, "modules.json"), []byte("{}"), 0o644) if err != nil { t.Fatal(err) } @@ -754,12 +754,12 @@ func TestInitWithDSStoreOnly(t *testing.T) { // Create .terraform/modules directory with only .DS_Store modulesDir := filepath.Join(tempDir, ".terraform", "modules") - err = os.MkdirAll(modulesDir, 0755) + err = os.MkdirAll(modulesDir, 0o755) if err != nil { t.Fatal(err) } - err = os.WriteFile(filepath.Join(modulesDir, ".DS_Store"), []byte{}, 0644) + err = os.WriteFile(filepath.Join(modulesDir, ".DS_Store"), []byte{}, 0o644) if err != nil { t.Fatal(err) } diff --git a/src/secrets.go b/src/secrets.go index a9c00959..31451d89 100644 --- a/src/secrets.go +++ b/src/secrets.go @@ -26,7 +26,6 @@ func (e *awsCredentialsError) Error() string { // Remote updates a repo with AWS credentials. func Remote(target string, repository string, region string) error { iamRole, err := Make(target) - if err != nil { return &makeRoleError{err} } @@ -36,7 +35,6 @@ func Remote(target string, repository string, region string) error { time.Sleep(magic * time.Second) Credentials, err := getAWSCredentials(*iamRole, region) - if err != nil { return &awsCredentialsError{err} } @@ -89,7 +87,7 @@ func SetRepoSecret(repository string, keyText string, keyName string) (*github.R encryptedValue := base64.StdEncoding.EncodeToString(encryptedBytes) // Create an EncryptedSecret and encrypt the plaintext value into it - eSecret := &github.EncryptedSecret{ //permit + eSecret := &github.EncryptedSecret{ // permit Name: keyName, KeyID: keyID, EncryptedValue: encryptedValue, @@ -141,7 +139,7 @@ func GetGithubClient() (context.Context, *github.Client) { ctx := context.Background() ts := oauth2.StaticTokenSource( - &oauth2.Token{AccessToken: token}, //permit + &oauth2.Token{AccessToken: token}, // permit ) tc := oauth2.NewClient(ctx, ts) diff --git a/src/watch.go b/src/watch.go index 52301708..081ad8b7 100644 --- a/src/watch.go +++ b/src/watch.go @@ -29,7 +29,6 @@ func Watch(arn string, wait int) error { defer cancel() cfg, err := config.LoadDefaultConfig(ctx) - if err != nil { return &awsConfigError{err} } @@ -55,7 +54,6 @@ func Watch(arn string, wait int) error { // WaitForPolicyChange looks at IAM policy change. func WaitForPolicyChange(client *iam.Client, arn string, version string, wait, pollInterval int) (int, error) { - for item := 1; item < wait; item++ { time.Sleep(time.Duration(pollInterval)) @@ -105,7 +103,6 @@ func GetPolicyVersion(client *iam.Client, policyArn string, version string) (*st } Policy, err := url.QueryUnescape(*(output.PolicyVersion.Document)) - if err != nil { return nil, &urlEscapeError{err} } @@ -122,7 +119,6 @@ func GetPolicyVersion(client *iam.Client, policyArn string, version string) (*st func SortActions(myPolicy string) (*string, error) { var raw map[string]interface{} err := json.Unmarshal([]byte(myPolicy), &raw) - if err != nil { return nil, err }