diff --git a/src/aws.go b/src/aws.go index 5d384dee..937410b7 100644 --- a/src/aws.go +++ b/src/aws.go @@ -1212,6 +1212,28 @@ var tFLookup = map[string]interface{}{ //nolint:gochecknoglobals "aws_securitylake_custom_log_source": awsSecuritylakeCustomLogSource, "aws_transfer_access": awsTransferAccess, "aws_transfer_tag": awsTransferTag, + "aws_detective_member": awsDetectiveMember, + "aws_detective_organization_configuration": awsDetectiveOrganizationConfiguration, + "aws_eks_access_policy_association": awsEksAccessPolicyAssociation, + "aws_emrcontainers_job_template": awsEmrcontainersJobTemplate, + "aws_fms_admin_account": awsFmsAdminAccount, + "aws_glue_catalog_table_optimizer": awsGlueCatalogTableOptimizer, + "aws_glue_partition_index": awsGluePartitionIndex, + "aws_grafana_license_association": awsGrafanaLicenseAssociation, + "aws_grafana_workspace_service_account": awsGrafanaWorkspaceServiceAccount, + "aws_grafana_workspace_service_account_token": awsGrafanaWorkspaceServiceAccountToken, + "aws_internet_gateway_attachment": awsInternetGatewayAttachment, + "aws_kendra_experience": awsKendraExperience, + "aws_kendra_query_suggestions_block_list": awsKendraQuerySuggestionsBlockList, + "aws_kendra_thesaurus": awsKendraThesaurus, + "aws_prometheus_alert_manager_definition": awsPrometheusAlertManagerDefinition, + "aws_prometheus_scraper": awsPrometheusScraper, + "aws_prometheus_workspace": awsPrometheusWorkspace, + "aws_rds_certificate": awsRdsCertificate, + "aws_rds_cluster_snapshot_copy": awsRdsClusterSnapshotCopy, + "aws_rds_custom_db_engine_version": awsRdsCustomDbEngineVersion, + "aws_rds_export_task": awsRdsExportTask, + "aws_rds_reserved_instance": awsRdsReservedInstance, } // GetAWSPermissions for AWS resources. diff --git a/src/coverage/aws.md b/src/coverage/aws.md index fc029f32..2eaca836 100644 --- a/src/coverage/aws.md +++ b/src/coverage/aws.md @@ -1,13 +1,11 @@ # todo aws -Resource percentage coverage 80.94 +Resource percentage coverage 82.43 Datasource percentage coverage 100.00 ./resource.ps1 aws_cognito_managed_user_pool_client ./resource.ps1 aws_dataexchange_data_set ./resource.ps1 aws_dataexchange_revision -./resource.ps1 aws_detective_member -./resource.ps1 aws_detective_organization_configuration ./resource.ps1 aws_devicefarm_device_pool ./resource.ps1 aws_devicefarm_instance_profile ./resource.ps1 aws_devicefarm_network_profile @@ -61,7 +59,6 @@ Datasource percentage coverage 100.00 ./resource.ps1 aws_ecs_account_setting_default ./resource.ps1 aws_ecs_cluster_capacity_providers ./resource.ps1 aws_eip_domain_name -./resource.ps1 aws_eks_access_policy_association ./resource.ps1 aws_elasticache_reserved_cache_node ./resource.ps1 aws_elasticache_serverless_cache ./resource.ps1 aws_elasticache_user_group_association @@ -69,21 +66,14 @@ Datasource percentage coverage 100.00 ./resource.ps1 aws_elasticsearch_vpc_endpoint ./resource.ps1 aws_elastictranscoder_pipeline ./resource.ps1 aws_elastictranscoder_preset -./resource.ps1 aws_emrcontainers_job_template ./resource.ps1 aws_finspace_kx_cluster ./resource.ps1 aws_finspace_kx_database ./resource.ps1 aws_finspace_kx_dataview ./resource.ps1 aws_finspace_kx_scaling_group ./resource.ps1 aws_finspace_kx_user ./resource.ps1 aws_finspace_kx_volume -./resource.ps1 aws_fms_admin_account -./resource.ps1 aws_glue_catalog_table_optimizer -./resource.ps1 aws_glue_partition_index -./resource.ps1 aws_grafana_license_association ./resource.ps1 aws_grafana_role_association ./resource.ps1 aws_grafana_workspace_saml_configuration -./resource.ps1 aws_grafana_workspace_service_account -./resource.ps1 aws_grafana_workspace_service_account_token ./resource.ps1 aws_guardduty_detector_feature ./resource.ps1 aws_guardduty_invite_accepter ./resource.ps1 aws_guardduty_organization_admin_account @@ -94,16 +84,12 @@ Datasource percentage coverage 100.00 ./resource.ps1 aws_iam_organizations_features ./resource.ps1 aws_iam_role_policy_attachments_exclusive ./resource.ps1 aws_iam_user_policy_attachments_exclusive -./resource.ps1 aws_internet_gateway_attachment ./resource.ps1 aws_iot_event_configurations ./resource.ps1 aws_iot_indexing_configuration ./resource.ps1 aws_iot_logging_options ./resource.ps1 aws_iot_policy_attachment ./resource.ps1 aws_iot_thing_group_membership ./resource.ps1 aws_iot_thing_principal_attachment -./resource.ps1 aws_kendra_experience -./resource.ps1 aws_kendra_query_suggestions_block_list -./resource.ps1 aws_kendra_thesaurus ./resource.ps1 aws_kinesis_analytics_application ./resource.ps1 aws_kinesisanalyticsv2_application_snapshot ./resource.ps1 aws_lakeformation_lf_tag @@ -196,20 +182,12 @@ Datasource percentage coverage 100.00 ./resource.ps1 aws_pinpointsmsvoicev2_configuration_set ./resource.ps1 aws_pinpointsmsvoicev2_opt_out_list ./resource.ps1 aws_pinpointsmsvoicev2_phone_number -./resource.ps1 aws_prometheus_alert_manager_definition ./resource.ps1 aws_prometheus_rule_group_namespace -./resource.ps1 aws_prometheus_scraper -./resource.ps1 aws_prometheus_workspace ./resource.ps1 aws_qldb_ledger ./resource.ps1 aws_ram_resource_share_accepter ./resource.ps1 aws_ram_sharing_with_organization ./resource.ps1 aws_rbin_rule -./resource.ps1 aws_rds_certificate -./resource.ps1 aws_rds_cluster_snapshot_copy -./resource.ps1 aws_rds_custom_db_engine_version -./resource.ps1 aws_rds_export_task ./resource.ps1 aws_rds_instance_state -./resource.ps1 aws_rds_reserved_instance ./resource.ps1 aws_redshift_cluster_snapshot ./resource.ps1 aws_redshift_data_share_authorization ./resource.ps1 aws_redshift_data_share_consumer_association diff --git a/src/files.go b/src/files.go index fd2de75a..d2ef6d40 100644 --- a/src/files.go +++ b/src/files.go @@ -3420,3 +3420,69 @@ var awsTransferAccess []byte //go:embed mapping/aws/resource/transfer/aws_transfer_tag.json var awsTransferTag []byte + +//go:embed mapping/aws/resource/detective/aws_detective_member.json +var awsDetectiveMember []byte + +//go:embed mapping/aws/resource/detective/aws_detective_organization_configuration.json +var awsDetectiveOrganizationConfiguration []byte + +//go:embed mapping/aws/resource/eks/aws_eks_access_policy_association.json +var awsEksAccessPolicyAssociation []byte + +//go:embed mapping/aws/resource/elasticmapreduce/aws_emrcontainers_job_template.json +var awsEmrcontainersJobTemplate []byte + +//go:embed mapping/aws/resource/fms/aws_fms_admin_account.json +var awsFmsAdminAccount []byte + +//go:embed mapping/aws/resource/glue/aws_glue_catalog_table_optimizer.json +var awsGlueCatalogTableOptimizer []byte + +//go:embed mapping/aws/resource/glue/aws_glue_partition_index.json +var awsGluePartitionIndex []byte + +//go:embed mapping/aws/resource/grafana/aws_grafana_license_association.json +var awsGrafanaLicenseAssociation []byte + +//go:embed mapping/aws/resource/grafana/aws_grafana_workspace_service_account.json +var awsGrafanaWorkspaceServiceAccount []byte + +//go:embed mapping/aws/resource/grafana/aws_grafana_workspace_service_account_token.json +var awsGrafanaWorkspaceServiceAccountToken []byte + +//go:embed mapping/aws/resource/ec2/aws_internet_gateway_attachment.json +var awsInternetGatewayAttachment []byte + +//go:embed mapping/aws/resource/kendra/aws_kendra_experience.json +var awsKendraExperience []byte + +//go:embed mapping/aws/resource/kendra/aws_kendra_query_suggestions_block_list.json +var awsKendraQuerySuggestionsBlockList []byte + +//go:embed mapping/aws/resource/kendra/aws_kendra_thesaurus.json +var awsKendraThesaurus []byte + +//go:embed mapping/aws/resource/aps/aws_prometheus_alert_manager_definition.json +var awsPrometheusAlertManagerDefinition []byte + +//go:embed mapping/aws/resource/aps/aws_prometheus_scraper.json +var awsPrometheusScraper []byte + +//go:embed mapping/aws/resource/aps/aws_prometheus_workspace.json +var awsPrometheusWorkspace []byte + +//go:embed mapping/aws/resource/rds/aws_rds_certificate.json +var awsRdsCertificate []byte + +//go:embed mapping/aws/resource/rds/aws_rds_cluster_snapshot_copy.json +var awsRdsClusterSnapshotCopy []byte + +//go:embed mapping/aws/resource/rds/aws_rds_custom_db_engine_version.json +var awsRdsCustomDbEngineVersion []byte + +//go:embed mapping/aws/resource/rds/aws_rds_export_task.json +var awsRdsExportTask []byte + +//go:embed mapping/aws/resource/rds/aws_rds_reserved_instance.json +var awsRdsReservedInstance []byte diff --git a/src/mapping/aws/resource/aps/aws_prometheus_alert_manager_definition.json b/src/mapping/aws/resource/aps/aws_prometheus_alert_manager_definition.json new file mode 100644 index 00000000..d19da323 --- /dev/null +++ b/src/mapping/aws/resource/aps/aws_prometheus_alert_manager_definition.json @@ -0,0 +1,26 @@ +[ + { + "apply": [ + "aps:CreateAlertManagerDefinition", + "aps:DescribeAlertManagerDefinition", + "aps:ListTagsForResource" + ], + "attributes": { + "tags": [ + "aps:TagResource", + "aps:UntagResource" + ] + }, + "destroy": [ + "aps:DeleteAlertManagerDefinition" + ], + "modify": [ + "aps:CreateAlertManagerDefinition", + "aps:PutAlertManagerDefinition", + "aps:DeleteAlertManagerDefinition" + ], + "plan": [ + "aps:DescribeAlertManagerDefinition" + ] + } +] diff --git a/src/mapping/aws/resource/aps/aws_prometheus_scraper.json b/src/mapping/aws/resource/aps/aws_prometheus_scraper.json new file mode 100644 index 00000000..9a896d98 --- /dev/null +++ b/src/mapping/aws/resource/aps/aws_prometheus_scraper.json @@ -0,0 +1,46 @@ +[ + { + "apply": [ + "aps:CreateScraper", + "aps:DeleteScraper", + "aps:DescribeScraper", + "aps:DescribeWorkspace", + "aps:ListTagsForResource", + "aps:UpdateScraper", + "ec2:DescribeSecurityGroups", + "ec2:DescribeSubnets", + "eks:AssociateAccessPolicy", + "eks:CreateAccessEntry", + "eks:DescribeCluster", + "iam:CreateServiceLinkedRole", + "iam:DeleteServiceLinkedRole" + ], + "attributes": { + "tags": [ + "aps:TagResource", + "aps:UntagResource" + ] + }, + "destroy": [ + "aps:DeleteScraper", + "aps:DescribeScraper", + "aps:DescribeWorkspace", + "eks:AssociateAccessPolicy", + "eks:DescribeCluster", + "ec2:DescribeSubnets", + "ec2:DescribeSecurityGroups", + "iam:DeleteServiceLinkedRole" + ], + "modify": [ + "aps:CreateScraper", + "aps:DescribeScraper", + "aps:UpdateScraper", + "aps:DescribeWorkspace", + "aps:ListTagsForResource" + ], + "plan": [ + "aps:DescribeScraper", + "aps:ListTagsForResource" + ] + } +] diff --git a/src/mapping/aws/resource/aps/aws_prometheus_workspace.json b/src/mapping/aws/resource/aps/aws_prometheus_workspace.json new file mode 100644 index 00000000..3da49d1a --- /dev/null +++ b/src/mapping/aws/resource/aps/aws_prometheus_workspace.json @@ -0,0 +1,45 @@ +[ + { + "apply": [ + "aps:CreateWorkspace", + "aps:DescribeWorkspace", + "aps:ListTagsForResource" + ], + "attributes": { + "kms_key_arn": [ + "kms:CreateGrant", + "kms:Decrypt", + "kms:GenerateDataKey" + ], + "logging-configuration": [ + "aps:CreateLoggingConfiguration", + "aps:DeleteLoggingConfiguration", + "aps:DescribeLoggingConfiguration", + "aps:UpdateLoggingConfiguration", + "logs:CreateLogDelivery", + "logs:DeleteLogDelivery", + "logs:GetLogDelivery", + "logs:ListLogDeliveries", + "logs:PutResourcePolicy", + "logs:UpdateLogDelivery" + ], + "tags": [ + "aps:TagResource", + "aps:UntagResource" + ] + }, + "destroy": [ + "aps:DeleteWorkspace", + "aps:DescribeWorkspace" + ], + "modify": [ + "aps:UpdateWorkspaceAlias", + "aps:DescribeWorkspace", + "aps:ListTagsForResource" + ], + "plan": [ + "aps:DescribeWorkspace", + "aps:ListTagsForResource" + ] + } +] diff --git a/src/mapping/aws/resource/detective/aws_detective_member.json b/src/mapping/aws/resource/detective/aws_detective_member.json new file mode 100644 index 00000000..850dae33 --- /dev/null +++ b/src/mapping/aws/resource/detective/aws_detective_member.json @@ -0,0 +1,15 @@ +[ + { + "apply": [ + "detective:GetMembers", + "detective:CreateMembers", + "detective:DeleteMembers" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/aws/resource/detective/aws_detective_organization_configuration.json b/src/mapping/aws/resource/detective/aws_detective_organization_configuration.json new file mode 100644 index 00000000..b217e764 --- /dev/null +++ b/src/mapping/aws/resource/detective/aws_detective_organization_configuration.json @@ -0,0 +1,14 @@ +[ + { + "apply": [ + "detective:DescribeOrganizationConfiguration", + "detective:UpdateOrganizationConfiguration" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/aws/resource/ec2/aws_internet_gateway_attachment.json b/src/mapping/aws/resource/ec2/aws_internet_gateway_attachment.json new file mode 100644 index 00000000..2741e81c --- /dev/null +++ b/src/mapping/aws/resource/ec2/aws_internet_gateway_attachment.json @@ -0,0 +1,14 @@ +[ + { + "apply": [ + "ec2:AttachInternetGateway", + "ec2:DetachInternetGateway" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/aws/resource/eks/aws_eks_access_policy_association.json b/src/mapping/aws/resource/eks/aws_eks_access_policy_association.json new file mode 100644 index 00000000..c3b6d272 --- /dev/null +++ b/src/mapping/aws/resource/eks/aws_eks_access_policy_association.json @@ -0,0 +1,14 @@ +[ + { + "apply": [ + "eks:DisassociateAccessPolicy", + "eks:AssociateAccessPolicy" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/aws/resource/elasticmapreduce/aws_emrcontainers_job_template.json b/src/mapping/aws/resource/elasticmapreduce/aws_emrcontainers_job_template.json new file mode 100644 index 00000000..1bd1ac72 --- /dev/null +++ b/src/mapping/aws/resource/elasticmapreduce/aws_emrcontainers_job_template.json @@ -0,0 +1,15 @@ +[ + { + "apply": [ + "emr-containers:DescribeJobTemplate", + "emr-containers:CreateJobTemplate", + "emr-containers:DeleteJobTemplate" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/aws/resource/fms/aws_fms_admin_account.json b/src/mapping/aws/resource/fms/aws_fms_admin_account.json new file mode 100644 index 00000000..d9965e23 --- /dev/null +++ b/src/mapping/aws/resource/fms/aws_fms_admin_account.json @@ -0,0 +1,14 @@ +[ + { + "apply": [ + "fms:AssociateAdminAccount", + "fms:DisassociateAdminAccount" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/aws/resource/glue/aws_glue_catalog_table_optimizer.json b/src/mapping/aws/resource/glue/aws_glue_catalog_table_optimizer.json new file mode 100644 index 00000000..86e9c843 --- /dev/null +++ b/src/mapping/aws/resource/glue/aws_glue_catalog_table_optimizer.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "glue:GetTableOptimizer", + "glue:CreateTableOptimizer", + "glue:DeleteTableOptimizer", + "glue:UpdateTableOptimizer" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/aws/resource/glue/aws_glue_partition_index.json b/src/mapping/aws/resource/glue/aws_glue_partition_index.json new file mode 100644 index 00000000..174fe630 --- /dev/null +++ b/src/mapping/aws/resource/glue/aws_glue_partition_index.json @@ -0,0 +1,15 @@ +[ + { + "apply": [ + "glue:GetPartitionIndexes", + "glue:CreatePartitionIndex", + "glue:DeletePartitionIndex" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/aws/resource/grafana/aws_grafana_license_association.json b/src/mapping/aws/resource/grafana/aws_grafana_license_association.json new file mode 100644 index 00000000..eca5a90a --- /dev/null +++ b/src/mapping/aws/resource/grafana/aws_grafana_license_association.json @@ -0,0 +1,14 @@ +[ + { + "apply": [ + "grafana:AssociateLicense", + "grafana:DisassociateLicense" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/aws/resource/grafana/aws_grafana_workspace_service_account.json b/src/mapping/aws/resource/grafana/aws_grafana_workspace_service_account.json new file mode 100644 index 00000000..ea03e81e --- /dev/null +++ b/src/mapping/aws/resource/grafana/aws_grafana_workspace_service_account.json @@ -0,0 +1,14 @@ +[ + { + "apply": [ + "grafana:CreateWorkspaceServiceAccount", + "grafana:DeleteWorkspaceServiceAccount" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/aws/resource/grafana/aws_grafana_workspace_service_account_token.json b/src/mapping/aws/resource/grafana/aws_grafana_workspace_service_account_token.json new file mode 100644 index 00000000..626e6c5d --- /dev/null +++ b/src/mapping/aws/resource/grafana/aws_grafana_workspace_service_account_token.json @@ -0,0 +1,14 @@ +[ + { + "apply": [ + "grafana:DeleteWorkspaceServiceAccountToken", + "grafana:CreateWorkspaceServiceAccountToken" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/aws/resource/kendra/aws_kendra_experience.json b/src/mapping/aws/resource/kendra/aws_kendra_experience.json new file mode 100644 index 00000000..43923f95 --- /dev/null +++ b/src/mapping/aws/resource/kendra/aws_kendra_experience.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "kendra:DescribeExperience", + "kendra:CreateExperience", + "kendra:DeleteExperience", + "kendra:UpdateExperience" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/aws/resource/kendra/aws_kendra_query_suggestions_block_list.json b/src/mapping/aws/resource/kendra/aws_kendra_query_suggestions_block_list.json new file mode 100644 index 00000000..ab04e1c3 --- /dev/null +++ b/src/mapping/aws/resource/kendra/aws_kendra_query_suggestions_block_list.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "kendra:DescribeQuerySuggestionsBlockList", + "kendra:CreateQuerySuggestionsBlockList", + "kendra:DeleteQuerySuggestionsBlockList", + "kendra:UpdateQuerySuggestionsBlockList" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/aws/resource/kendra/aws_kendra_thesaurus.json b/src/mapping/aws/resource/kendra/aws_kendra_thesaurus.json new file mode 100644 index 00000000..2f910ad2 --- /dev/null +++ b/src/mapping/aws/resource/kendra/aws_kendra_thesaurus.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "kendra:DescribeThesaurus", + "kendra:CreateThesaurus", + "kendra:DeleteThesaurus", + "kendra:UpdateThesaurus" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/aws/resource/rds/aws_rds_certificate.json b/src/mapping/aws/resource/rds/aws_rds_certificate.json new file mode 100644 index 00000000..7ca008f1 --- /dev/null +++ b/src/mapping/aws/resource/rds/aws_rds_certificate.json @@ -0,0 +1,14 @@ +[ + { + "apply": [ + "rds:DescribeCertificates", + "rds:ModifyCertificates" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/aws/resource/rds/aws_rds_cluster_snapshot_copy.json b/src/mapping/aws/resource/rds/aws_rds_cluster_snapshot_copy.json new file mode 100644 index 00000000..8d5c1bb5 --- /dev/null +++ b/src/mapping/aws/resource/rds/aws_rds_cluster_snapshot_copy.json @@ -0,0 +1,13 @@ +[ + { + "apply": [ + "rds:CopyDBSnapshot" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/aws/resource/rds/aws_rds_custom_db_engine_version.json b/src/mapping/aws/resource/rds/aws_rds_custom_db_engine_version.json new file mode 100644 index 00000000..33626261 --- /dev/null +++ b/src/mapping/aws/resource/rds/aws_rds_custom_db_engine_version.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "rds:CopyCustomDBEngineVersion", + "rds:CreateCustomDBEngineVersion", + "rds:DeleteCustomDBEngineVersion", + "rds:ModifyCustomDBEngineVersion" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/aws/resource/rds/aws_rds_export_task.json b/src/mapping/aws/resource/rds/aws_rds_export_task.json new file mode 100644 index 00000000..bd7511d0 --- /dev/null +++ b/src/mapping/aws/resource/rds/aws_rds_export_task.json @@ -0,0 +1,23 @@ +[ + { + "apply": [ + "rds:DescribeExportTasks", + "rds:StartExportTask", + "rds:CancelExportTask", + "s3:PutObject*", + "s3:ListBucket", + "s3:GetObject*", + "s3:DeleteObject*", + "s3:GetBucketLocation", + "iam:GetRole", + "iam:PassRole", + "kms:Decrypt" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/aws/resource/rds/aws_rds_reserved_instance.json b/src/mapping/aws/resource/rds/aws_rds_reserved_instance.json new file mode 100644 index 00000000..1ea613fc --- /dev/null +++ b/src/mapping/aws/resource/rds/aws_rds_reserved_instance.json @@ -0,0 +1,14 @@ +[ + { + "apply": [ + "rds:PurchaseReservedDBInstancesOffering", + "rds:DescribeReservedDBInstancesOfferings" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/terraform/aws/backup/aws_detective_member.tf b/terraform/aws/backup/aws_detective_member.tf new file mode 100644 index 00000000..b9f8579a --- /dev/null +++ b/terraform/aws/backup/aws_detective_member.tf @@ -0,0 +1 @@ +resource "aws_detective_member" "pike" {} diff --git a/terraform/aws/backup/aws_detective_organization_configuration.tf b/terraform/aws/backup/aws_detective_organization_configuration.tf new file mode 100644 index 00000000..80eb5188 --- /dev/null +++ b/terraform/aws/backup/aws_detective_organization_configuration.tf @@ -0,0 +1 @@ +resource "aws_detective_organization_configuration" "pike" {} diff --git a/terraform/aws/backup/aws_eks_access_policy_association.tf b/terraform/aws/backup/aws_eks_access_policy_association.tf new file mode 100644 index 00000000..51d66866 --- /dev/null +++ b/terraform/aws/backup/aws_eks_access_policy_association.tf @@ -0,0 +1 @@ +resource "aws_eks_access_policy_association" "pike" {} diff --git a/terraform/aws/backup/aws_emrcontainers_job_template.tf b/terraform/aws/backup/aws_emrcontainers_job_template.tf new file mode 100644 index 00000000..2182e898 --- /dev/null +++ b/terraform/aws/backup/aws_emrcontainers_job_template.tf @@ -0,0 +1 @@ +resource "aws_emrcontainers_job_template" "pike" {} diff --git a/terraform/aws/backup/aws_fms_admin_account.tf b/terraform/aws/backup/aws_fms_admin_account.tf new file mode 100644 index 00000000..0e0cdc4b --- /dev/null +++ b/terraform/aws/backup/aws_fms_admin_account.tf @@ -0,0 +1 @@ +resource "aws_fms_admin_account" "pike" {} diff --git a/terraform/aws/backup/aws_glue_catalog_table_optimizer.tf b/terraform/aws/backup/aws_glue_catalog_table_optimizer.tf new file mode 100644 index 00000000..f3336d25 --- /dev/null +++ b/terraform/aws/backup/aws_glue_catalog_table_optimizer.tf @@ -0,0 +1 @@ +resource "aws_glue_catalog_table_optimizer" "pike" {} diff --git a/terraform/aws/backup/aws_glue_partition_index.tf b/terraform/aws/backup/aws_glue_partition_index.tf new file mode 100644 index 00000000..006f8891 --- /dev/null +++ b/terraform/aws/backup/aws_glue_partition_index.tf @@ -0,0 +1 @@ +resource "aws_glue_partition_index" "pike" {} diff --git a/terraform/aws/backup/aws_grafana_license_association.tf b/terraform/aws/backup/aws_grafana_license_association.tf new file mode 100644 index 00000000..9d4a14fa --- /dev/null +++ b/terraform/aws/backup/aws_grafana_license_association.tf @@ -0,0 +1 @@ +resource "aws_grafana_license_association" "pike" {} diff --git a/terraform/aws/backup/aws_grafana_workspace_service_account.tf b/terraform/aws/backup/aws_grafana_workspace_service_account.tf new file mode 100644 index 00000000..a706ff85 --- /dev/null +++ b/terraform/aws/backup/aws_grafana_workspace_service_account.tf @@ -0,0 +1 @@ +resource "aws_grafana_workspace_service_account" "pike" {} diff --git a/terraform/aws/backup/aws_grafana_workspace_service_account_token.tf b/terraform/aws/backup/aws_grafana_workspace_service_account_token.tf new file mode 100644 index 00000000..ebb3dc9d --- /dev/null +++ b/terraform/aws/backup/aws_grafana_workspace_service_account_token.tf @@ -0,0 +1 @@ +resource "aws_grafana_workspace_service_account_token" "pike" {} diff --git a/terraform/aws/backup/aws_internet_gateway_attachment.tf b/terraform/aws/backup/aws_internet_gateway_attachment.tf new file mode 100644 index 00000000..9636d6d4 --- /dev/null +++ b/terraform/aws/backup/aws_internet_gateway_attachment.tf @@ -0,0 +1 @@ +resource "aws_internet_gateway_attachment" "pike" {} diff --git a/terraform/aws/backup/aws_kendra_experience.tf b/terraform/aws/backup/aws_kendra_experience.tf new file mode 100644 index 00000000..7b0f94c8 --- /dev/null +++ b/terraform/aws/backup/aws_kendra_experience.tf @@ -0,0 +1 @@ +resource "aws_kendra_experience" "pike" {} diff --git a/terraform/aws/backup/aws_kendra_query_suggestions_block_list.tf b/terraform/aws/backup/aws_kendra_query_suggestions_block_list.tf new file mode 100644 index 00000000..40bb3649 --- /dev/null +++ b/terraform/aws/backup/aws_kendra_query_suggestions_block_list.tf @@ -0,0 +1 @@ +resource "aws_kendra_query_suggestions_block_list" "pike" {} diff --git a/terraform/aws/backup/aws_kendra_thesaurus.tf b/terraform/aws/backup/aws_kendra_thesaurus.tf new file mode 100644 index 00000000..f765740f --- /dev/null +++ b/terraform/aws/backup/aws_kendra_thesaurus.tf @@ -0,0 +1 @@ +resource "aws_kendra_thesaurus" "pike" {} diff --git a/terraform/aws/backup/aws_prometheus_alert_manager_definition.tf b/terraform/aws/backup/aws_prometheus_alert_manager_definition.tf new file mode 100644 index 00000000..e8a51023 --- /dev/null +++ b/terraform/aws/backup/aws_prometheus_alert_manager_definition.tf @@ -0,0 +1 @@ +resource "aws_prometheus_alert_manager_definition" "pike" {} diff --git a/terraform/aws/backup/aws_prometheus_scraper.tf b/terraform/aws/backup/aws_prometheus_scraper.tf new file mode 100644 index 00000000..0b02210a --- /dev/null +++ b/terraform/aws/backup/aws_prometheus_scraper.tf @@ -0,0 +1 @@ +resource "aws_prometheus_scraper" "pike" {} diff --git a/terraform/aws/backup/aws_prometheus_workspace.tf b/terraform/aws/backup/aws_prometheus_workspace.tf new file mode 100644 index 00000000..d6d1eb42 --- /dev/null +++ b/terraform/aws/backup/aws_prometheus_workspace.tf @@ -0,0 +1 @@ +resource "aws_prometheus_workspace" "pike" {} diff --git a/terraform/aws/backup/aws_rds_certificate.tf b/terraform/aws/backup/aws_rds_certificate.tf new file mode 100644 index 00000000..275ae48a --- /dev/null +++ b/terraform/aws/backup/aws_rds_certificate.tf @@ -0,0 +1 @@ +resource "aws_rds_certificate" "pike" {} diff --git a/terraform/aws/backup/aws_rds_cluster_snapshot_copy.tf b/terraform/aws/backup/aws_rds_cluster_snapshot_copy.tf new file mode 100644 index 00000000..186e961d --- /dev/null +++ b/terraform/aws/backup/aws_rds_cluster_snapshot_copy.tf @@ -0,0 +1 @@ +resource "aws_rds_cluster_snapshot_copy" "pike" {} diff --git a/terraform/aws/backup/aws_rds_custom_db_engine_version.tf b/terraform/aws/backup/aws_rds_custom_db_engine_version.tf new file mode 100644 index 00000000..7bb5b82d --- /dev/null +++ b/terraform/aws/backup/aws_rds_custom_db_engine_version.tf @@ -0,0 +1 @@ +resource "aws_rds_custom_db_engine_version" "pike" {} diff --git a/terraform/aws/backup/aws_rds_export_task.tf b/terraform/aws/backup/aws_rds_export_task.tf new file mode 100644 index 00000000..2e9b28ad --- /dev/null +++ b/terraform/aws/backup/aws_rds_export_task.tf @@ -0,0 +1 @@ +resource "aws_rds_export_task" "pike" {} diff --git a/terraform/aws/backup/aws_rds_reserved_instance.tf b/terraform/aws/backup/aws_rds_reserved_instance.tf new file mode 100644 index 00000000..1596dbe4 --- /dev/null +++ b/terraform/aws/backup/aws_rds_reserved_instance.tf @@ -0,0 +1 @@ +resource "aws_rds_reserved_instance" "pike" {}