├── CLAUDE.md ├── .dockerignore ├── .github ├── FUNDING.yml └── workflows │ ├── semantic-lint.yml │ ├── commit-lint.yaml │ ├── golangci-lint.yml │ └── tests.yml ├── pkg ├── config │ ├── testdata │ │ ├── invalid.yaml │ │ ├── deprecated-keys-config.yaml │ │ ├── deprecated-feature-flags.yaml │ │ ├── bypass-alias.yaml │ │ ├── incomplete.yaml │ │ └── no-blocklist-term-prod.yaml │ └── testsuite_test.go ├── awsutil │ ├── errors.go │ └── consts.go ├── commands │ ├── completion │ │ └── files │ │ │ └── zsh_autocomplete │ └── version │ │ └── version.go ├── common │ └── version.go └── testsuite │ └── logrus.go ├── resources ├── comprehend.go ├── ecs-mock_test.go ├── dynamodb_mock_test.go ├── elasticache-mock_test.go ├── ec2-verified-access_test.go ├── cognito_mock_test.go ├── quicksight_mock_test.go ├── iam_mock_test.go ├── kms_mock_test.go ├── sqs_mock_test.go ├── glue_mock_test.go ├── budgets_mock_test.go ├── gamelift_mock_test.go ├── sagemaker_mock_test.go ├── autoscaling_mock_test.go ├── pinpoint_mock_test.go ├── cloudformation_mock_test.go ├── secretsmanager_mock_test.go ├── servicediscovery_mock_test.go ├── route53_mock_test.go ├── testsuite_test.go ├── accessanalyzer-archive-rule_mock_test.go ├── iottwinmaker.go ├── eks-fargate-profile_mock_test.go ├── gamelift.go ├── amplify-app_mock_test.go ├── ec2-tgw_test.go ├── accessanalyzer-analyzer_mock_test.go ├── acm-pca-certificate-authority_mock_test.go ├── cloudfront-distribution_test.go ├── acm-pca-certificate-authority-state_mock_test.go ├── iam-groups_mock_test.go └── ec2-dhcp-option_test.go ├── .gitignore ├── docs ├── resources │ ├── elb.md │ ├── macie.md │ ├── lex-bot.md │ ├── ec2-host.md │ ├── ecs-task.md │ ├── es-domain.md │ ├── glue-job.md │ ├── iot-thing.md │ ├── mq-broker.md │ ├── os-domain.md │ ├── rds-proxy.md │ ├── sns-topic.md │ ├── sqs-queue.md │ ├── fms-policy.md │ ├── fsx-backup.md │ ├── iot-policy.md │ ├── lex-intent.md │ ├── xray-group.md │ ├── app-mesh-mesh.md │ ├── emr-cluster.md │ ├── glue-crawler.md │ ├── glue-session.md │ ├── glue-trigger.md │ ├── kendra-index.md │ ├── lambda-layer.md │ ├── lex-slot-type.md │ ├── memory-dbacl.md │ ├── msk-cluster.md │ ├── rds-snapshot.md │ ├── security-hub.md │ ├── ses-identity.md │ ├── ses-template.md │ ├── ssm-document.md │ ├── wafv2-ip-set.md │ ├── amg-workspace.md │ ├── app-mesh-route.md │ ├── glue-blueprint.md │ ├── glue-database.md │ ├── glue-workflow.md │ ├── iot-authorizer.md │ ├── iot-role-alias.md │ ├── iot-thing-type.md │ ├── iot-topic-rule.md │ ├── kinesis-stream.md │ ├── lightsail-disk.md │ ├── memory-db-user.md │ ├── osvpc-endpoint.md │ ├── sage-maker-app.md │ ├── ssm-parameter.md │ ├── app-stream-fleet.md │ ├── app-stream-image.md │ ├── app-stream-stack.md │ ├── aws-backup-plan.md │ ├── batch-job-queue.md │ ├── ec2-network-acl.md │ ├── efs-file-system.md │ ├── efs-mount-target.md │ ├── fsx-file-system.md │ ├── glue-classifier.md │ ├── glue-connection.md │ ├── iam-group-policy.md │ ├── iam-role-policy.md │ ├── iam-user-policy.md │ ├── iot-thing-group.md │ ├── lambda-function.md │ ├── quick-sight-user.md │ ├── rds-option-group.md │ ├── sage-maker-model.md │ ├── sage-maker-space.md │ ├── simple-db-domain.md │ ├── ssm-association.md │ ├── transfer-server.md │ ├── api-gateway-v2-api.md │ ├── athena-named-query.md │ ├── athena-work-group.md │ ├── auto-scaling-group.md │ ├── cloud-trail-trail.md │ ├── code-build-project.md │ ├── code-build-report.md │ ├── code-star-project.md │ ├── ec2-tgw-attachment.md │ ├── elasticache-user.md │ ├── glue-dev-endpoint.md │ ├── glue-ml-transform.md │ ├── lightsail-domain.md │ ├── lightsail-key-pair.md │ ├── memory-db-cluster.md │ ├── msk-configuration.md │ ├── rdsdb-subnet-group.md │ ├── redshift-cluster.md │ ├── redshift-snapshot.md │ ├── sage-maker-domain.md │ ├── ses-receipt-filter.md │ ├── signer-signing-job.md │ ├── xray-sampling-rule.md │ ├── api-gateway-rest-api.md │ ├── api-gateway-vpc-link.md │ ├── app-sync-graphql-api.md │ ├── cloud-9environment.md │ ├── cloud-hsmv2-cluster.md │ ├── cloud-search-domain.md │ ├── cloud-watch-rum-app.md │ ├── comprehend-endpoint.md │ ├── dynamo-db-table-item.md │ ├── ec2-launch-template.md │ ├── ec2-placement-group.md │ ├── elbv2-listener-rule.md │ ├── glue-data-brew-jobs.md │ ├── guard-duty-detector.md │ ├── image-builder-image.md │ ├── iot-thing-type-state.md │ ├── lightsail-static-ip.md │ ├── media-convert-queue.md │ ├── ops-works-cm-server.md │ ├── sage-maker-endpoint.md │ ├── ses-receipt-rule-set.md │ ├── waf-regional-ip-set.md │ ├── app-mesh-gateway-route.md │ ├── app-mesh-virtual-node.md │ ├── app-stream-fleet-state.md │ ├── aws-backup-selection.md │ ├── batch-job-queue-state.md │ ├── cloud-formation-type.md │ ├── cloud-front-function.md │ ├── cloud-watch-dashboard.md │ ├── code-artifact-domain.md │ ├── code-star-connection.md │ ├── cognito-identity-pool.md │ ├── ec2-customer-gateway.md │ ├── ec2-internet-gateway.md │ ├── ec2-spot-fleet-request.md │ ├── ecs-cluster-instance.md │ ├── glue-data-brew-recipe.md │ ├── image-builder-recipe.md │ ├── kinesis-video-project.md │ ├── media-convert-preset.md │ ├── media-store-container.md │ ├── media-store-data-items.md │ ├── memory-db-subnet-group.md │ ├── rds-cluster-snapshot.md │ ├── rdsdb-parameter-group.md │ ├── redshift-subnet-group.md │ ├── ses-configuration-set.md │ ├── ssm-resource-data-sync.md │ ├── storage-gateway-tape.md │ ├── transfer-server-user.md │ ├── waf-regional-ip-set-ip.md │ ├── work-spaces-workspace.md │ ├── api-gateway-v2-vpc-link.md │ ├── app-config-environment.md │ ├── app-mesh-virtual-router.md │ ├── cloud-directory-schema.md │ ├── cloud-hsmv2-cluster-hsm.md │ ├── code-commit-repository.md │ ├── code-deploy-application.md │ ├── code-pipeline-pipeline.md │ ├── data-pipeline-pipeline.md │ ├── elasticache-user-group.md │ ├── glue-data-brew-datasets.md │ ├── glue-data-brew-projects.md │ ├── glue-data-brew-rulesets.md │ ├── iam-signing-certificate.md │ ├── iam-user-ssh-public-key.md │ ├── image-builder-component.md │ ├── image-builder-pipeline.md │ ├── lightsail-load-balancer.md │ ├── rds-event-subscription.md │ ├── rekognition-collection.md │ ├── route-53-traffic-policy.md │ ├── transcribe-vocabulary.md │ ├── wafv2-regex-pattern-set.md │ ├── app-mesh-virtual-gateway.md │ ├── app-mesh-virtual-service.md │ ├── app-stream-image-builder.md │ ├── aws-backup-recovery-point.md │ ├── cloud-formation-stack-set.md │ ├── cloud-watch-events-buses.md │ ├── code-artifact-repository.md │ ├── cognito-user-pool-client.md │ ├── cognito-user-pool-domain.md │ ├── firehose-delivery-stream.md │ ├── fms-notification-channel.md │ ├── glue-data-brew-schedules.md │ ├── inspector-assessment-run.md │ ├── memory-db-parameter-group.md │ ├── ops-works-cm-server-state.md │ ├── redshift-parameter-group.md │ ├── robo-maker-simulation-job.md │ ├── sage-maker-user-profiles.md │ ├── app-stream-directory-config.md │ ├── batch-compute-environment.md │ ├── cloud-directory-directory.md │ ├── cognito-identity-provider.md │ ├── ec2-vpc-peering-connection.md │ ├── emr-security-configuration.md │ ├── lambda-event-source-mapping.md │ ├── managed-blockchain-member.md │ ├── media-convert-job-template.md │ ├── media-tailor-configuration.md │ ├── redshift-scheduled-action.md │ ├── route-53-resolver-endpoint.md │ ├── sage-maker-endpoint-config.md │ ├── service-discovery-instance.md │ ├── transcribe-language-model.md │ ├── waf-regional-byte-match-set.md │ ├── waf-regional-rule-predicate.md │ ├── waf-web-acl-rule-attachment.md │ ├── billing-costand-usage-report.md │ ├── cloud-watch-logs-destination.md │ ├── comprehend-entity-recognizer.md │ ├── directory-service-directory.md │ ├── elastic-transcoder-pipeline.md │ ├── glue-security-configuration.md │ ├── iam-open-id-connect-provider.md │ ├── iam-user-https-git-credential.md │ ├── inspector-assessment-target.md │ ├── network-manager-connect-peer.md │ ├── network-manager-core-network.md │ ├── redshift-serverless-snapshot.md │ ├── robo-maker-robot-application.md │ ├── sage-maker-notebook-instance.md │ ├── transcribe-transcription-job.md │ ├── transcribe-vocabulary-filter.md │ ├── waf-regional-byte-match-set-ip.md │ ├── waf-regional-regex-match-set.md │ ├── app-config-deployment-strategy.md │ ├── app-stream-image-builder-waiter.md │ ├── auto-scaling-plans-scaling-plan.md │ ├── aws-backup-vault-access-policy.md │ ├── ec2-default-security-group-rule.md │ ├── ec2-instance-connect-endpoint.md │ ├── elastic-beanstalk-application.md │ ├── elasticache-replication-group.md │ ├── inspector-assessment-template.md │ ├── kinesis-analytics-application.md │ ├── network-manager-global-network.md │ ├── rdsdb-cluster-parameter-group.md │ ├── redshift-serverless-namespace.md │ ├── redshift-serverless-workgroup.md │ ├── transcribe-call-analytics-job.md │ ├── transcribe-medical-vocabulary.md │ ├── waf-regional-regex-match-tuple.md │ ├── waf-regional-regex-pattern-set.md │ ├── batch-compute-environment-state.md │ ├── cloud-watch-logs-resource-policy.md │ ├── comprehend-document-classifier.md │ ├── comprehend-events-detection-job.md │ ├── config-service-conformance-pack.md │ ├── ec2-egress-only-internet-gateway.md │ ├── iam-service-specific-credential.md │ ├── app-stream-stack-fleet-attachment.md │ ├── comprehend-entities-detection-job.md │ ├── ec2-client-vpn-endpoint-attachment.md │ ├── elasticache-cache-parameter-group.md │ ├── robo-maker-simulation-application.md │ ├── sage-maker-notebook-instance-state.md │ ├── waf-regional-regex-pattern-string.md │ ├── comprehend-key-phrases-detection-job.md │ ├── comprehend-sentiment-detection-job.md │ ├── iam-account-setting-password-policy.md │ ├── lex-model-building-service-bot-alias.md │ ├── network-manager-network-attachment.md │ ├── transcribe-call-analytics-category.md │ ├── waf-regional-web-acl-rule-attachment.md │ ├── transcribe-medical-transcription-job.md │ ├── waf-regional-rate-based-rule-predicate.md │ ├── app-config-hosted-configuration-version.md │ ├── ec2-vpc-endpoint-service-configuration.md │ ├── application-auto-scaling-scalable-target.md │ ├── image-builder-distribution-configuration.md │ ├── comprehend-dominant-language-detection-job.md │ ├── image-builder-infrastructure-configuration.md │ ├── service-catalog-portfolio-share-attachment.md │ ├── comprehend-targeted-sentiment-detection-job.md │ ├── service-catalog-portfolio-product-attachment.md │ ├── bedrock-model-invocation-logging-configuration.md │ ├── database-migration-service-event-subscription.md │ ├── service-catalog-principal-portfolio-attachment.md │ ├── service-catalog-constraint-portfolio-attachment.md │ ├── service-catalog-tag-option-portfolio-attachment.md │ ├── backup-vault.md │ ├── rdsdb-cluster.md │ ├── eks-nodegroup.md │ ├── ec2-nat-gateway.md │ ├── aws-app-flow-flow.md │ ├── ec2-vpn-connection.md │ ├── iam-user-access-key.md │ ├── aws-backup-framework.md │ ├── aws-mwaa-environment.md │ ├── aws-timestream-table.md │ ├── ec2-dhcp-option.md │ ├── aws-app-runner-service.md │ ├── aws-ecr-registry-policy.md │ ├── aws-synthetics-canary.md │ ├── aws-transfer-workflow.md │ ├── aws-timestream-database.md │ ├── iam-server-certificate.md │ ├── iam-instance-profile-role.md │ ├── iam-user-group-attachment.md │ ├── aws-app-flow-connector-profile.md │ ├── aws-ecr-pull-through-cache-rule.md │ ├── aws-network-firewall-firewall.md │ ├── ec2-vpn-gateway-attachment.md │ ├── iam-role-policy-attachment.md │ ├── iam-user-policy-attachment.md │ ├── aws-network-firewall-rule-group.md │ ├── aws-timestream-scheduled-query.md │ ├── iam-group-policy-attachment.md │ ├── aws-ecr-replication-configuration.md │ ├── ec2-route-table.md │ ├── elbv2-target-group.md │ ├── aws-application-insights-application.md │ ├── aws-network-firewall-firewall-policy.md │ ├── ec2-internet-gateway-attachment.md │ ├── ec2-subnet.md │ ├── comprehend-pii-entities-detection-job.md │ ├── qldb-ledger.md │ ├── code-build-report-group.md │ ├── ec2-client-vpn-endpoint.md │ ├── quick-sight-subscription.md │ ├── app-config-configuration-profile.md │ ├── app-config-application.md │ ├── ec2-vpn-gateway.md │ ├── mobile-project.md │ ├── iam-group.md │ ├── api-gateway-client-certificate.md │ ├── rds-instance.md │ ├── iot-job.md │ ├── waf-rule.md │ ├── iot-stream.md │ ├── ecs-cluster.md │ ├── waf-web-acl.md │ ├── iot-ota-update.md │ ├── ops-works-app.md │ ├── sns-endpoint.md │ ├── wafv2-web-acl.md │ ├── game-lift-queue.md │ ├── iot-certificate.md │ ├── ops-works-layer.md │ ├── ssm-activation.md │ ├── code-build-build.md │ ├── dax-subnet-group.md │ ├── game-lift-fleet.md │ ├── media-live-input.md │ ├── transfer-web-app.md │ ├── waf-regional-rule.md │ ├── wafv2-rule-group.md │ ├── backup-report-plan.md │ ├── global-accelerator.md │ ├── iot-ca-certificate.md │ ├── media-live-channel.md │ ├── ops-works-cm-backup.md │ ├── ops-works-instance.md │ ├── ssm-patch-baseline.md │ ├── athena-data-catalog.md │ ├── cloud-front-key-group.md │ ├── dax-parameter-group.md │ ├── device-farm-project.md │ ├── rekognition-dataset.md │ ├── rekognition-project.md │ ├── waf-regional-web-acl.md │ ├── app-sync-domain-name.md │ ├── cloud-front-public-key.md │ ├── code-build-build-batch.md │ ├── code-pipeline-webhook.md │ ├── ec2-vpc-endpoint.md │ ├── iam-roles-anywhere-crl.md │ ├── media-package-channel.md │ ├── ops-works-user-profile.md │ ├── ssm-maintenance-window.md │ ├── storage-gateway-volume.md │ ├── waf-regional-rule-group.md │ ├── service-catalog-product.md │ ├── storage-gateway-gateway.md │ ├── iot-site-wise-access-policy.md │ ├── iot-twin-maker-sync-job.md │ ├── machine-learning-ml-model.md │ ├── service-catalog-portfolio.md │ ├── service-catalog-tag-option.md │ ├── service-discovery-service.md │ ├── sns-platform-application.md │ ├── storage-gateway-file-share.md │ ├── elastic-transcoder-preset.md │ ├── global-accelerator-listener.md │ └── machine-learning-data-source.md ├── features │ ├── signed-binaries.md │ ├── enabled-regions.md │ ├── global-filters.md │ └── filter-groups.md ├── standards.md ├── development.md ├── releases.md └── cli-examples.md ├── cosign.pub ├── .codeclimate.yml ├── .releaserc.yml ├── mocks └── generate_mocks.sh └── Makefile /CLAUDE.md: -------------------------------------------------------------------------------- 1 | AGENTS.md -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | dist 2 | vendor 3 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: ekristen 2 | -------------------------------------------------------------------------------- /pkg/config/testdata/invalid.yaml: -------------------------------------------------------------------------------- 1 | this is 2 | not a 3 | valid 4 | yaml file -------------------------------------------------------------------------------- /resources/comprehend.go: -------------------------------------------------------------------------------- 1 | package resources 2 | 3 | const ComprehendUnnamedJob = "Unnamed Job" 4 | -------------------------------------------------------------------------------- /pkg/config/testdata/deprecated-keys-config.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | account-blocklist: 3 | - 1234567890 4 | -------------------------------------------------------------------------------- /resources/ecs-mock_test.go: -------------------------------------------------------------------------------- 1 | //go:generate ../mocks/generate_mocks.sh ecs ecsiface 2 | package resources 3 | -------------------------------------------------------------------------------- /resources/dynamodb_mock_test.go: -------------------------------------------------------------------------------- 1 | //go:generate ../mocks/generate_mocks.sh dynamodb dynamodbiface 2 | package resources 3 | -------------------------------------------------------------------------------- /resources/elasticache-mock_test.go: -------------------------------------------------------------------------------- 1 | //go:generate ../mocks/generate_mocks.sh elasticache elasticacheiface 2 | package resources 3 | -------------------------------------------------------------------------------- /resources/ec2-verified-access_test.go: -------------------------------------------------------------------------------- 1 | package resources 2 | 3 | // Used for testing purposes 4 | const now = "2024-01-01T12:00:00Z" 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | releases 2 | .envrc 3 | .idea 4 | cosign.key 5 | /config*.yaml 6 | /*-config.yaml 7 | /config.*.yaml 8 | *.p12 9 | *.p8 10 | **/public -------------------------------------------------------------------------------- /resources/cognito_mock_test.go: -------------------------------------------------------------------------------- 1 | //go:generate ../mocks/generate_mocks.sh cognitoidentityprovider cognitoidentityprovideriface 2 | package resources 3 | -------------------------------------------------------------------------------- /docs/resources/elb.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ELB 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ELB 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /pkg/awsutil/errors.go: -------------------------------------------------------------------------------- 1 | package awsutil 2 | 3 | const ErrCodeInvalidAction = "InvalidAction" 4 | const ErrCodeOperationNotPermitted = "OperationNotPermitted" 5 | -------------------------------------------------------------------------------- /docs/resources/macie.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # Macie 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | Macie 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/lex-bot.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # LexBot 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | LexBot 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/ec2-host.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # EC2Host 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | EC2Host 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/ecs-task.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ECSTask 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ECSTask 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/es-domain.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ESDomain 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ESDomain 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/glue-job.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # GlueJob 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | GlueJob 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/iot-thing.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IoTThing 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IoTThing 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/mq-broker.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # MQBroker 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | MQBroker 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/os-domain.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # OSDomain 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | OSDomain 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/rds-proxy.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # RDSProxy 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | RDSProxy 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/sns-topic.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # SNSTopic 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | SNSTopic 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/sqs-queue.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # SQSQueue 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | SQSQueue 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/fms-policy.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # FMSPolicy 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | FMSPolicy 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/fsx-backup.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # FSxBackup 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | FSxBackup 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/iot-policy.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IoTPolicy 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IoTPolicy 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/lex-intent.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # LexIntent 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | LexIntent 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/xray-group.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # XRayGroup 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | XRayGroup 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /resources/quicksight_mock_test.go: -------------------------------------------------------------------------------- 1 | //go:generate ../mocks/generate_mocks.sh quicksight quicksightiface 2 | 3 | package resources 4 | 5 | // Note: this file is empty on purpose 6 | -------------------------------------------------------------------------------- /docs/resources/app-mesh-mesh.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AppMeshMesh 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AppMeshMesh 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/emr-cluster.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # EMRCluster 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | EMRCluster 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/glue-crawler.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # GlueCrawler 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | GlueCrawler 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/glue-session.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # GlueSession 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | GlueSession 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/glue-trigger.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # GlueTrigger 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | GlueTrigger 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/kendra-index.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # KendraIndex 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | KendraIndex 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/lambda-layer.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # LambdaLayer 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | LambdaLayer 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/lex-slot-type.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # LexSlotType 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | LexSlotType 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/memory-dbacl.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # MemoryDBACL 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | MemoryDBACL 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/msk-cluster.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # MSKCluster 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | MSKCluster 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/rds-snapshot.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # RDSSnapshot 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | RDSSnapshot 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/security-hub.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # SecurityHub 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | SecurityHub 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/ses-identity.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # SESIdentity 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | SESIdentity 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/ses-template.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # SESTemplate 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | SESTemplate 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/ssm-document.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # SSMDocument 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | SSMDocument 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/wafv2-ip-set.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # WAFv2IPSet 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | WAFv2IPSet 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/amg-workspace.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AMGWorkspace 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AMGWorkspace 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/app-mesh-route.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AppMeshRoute 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AppMeshRoute 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/glue-blueprint.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # GlueBlueprint 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | GlueBlueprint 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/glue-database.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # GlueDatabase 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | GlueDatabase 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/glue-workflow.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # GlueWorkflow 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | GlueWorkflow 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/iot-authorizer.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IoTAuthorizer 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IoTAuthorizer 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/iot-role-alias.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IoTRoleAlias 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IoTRoleAlias 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/iot-thing-type.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IoTThingType 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IoTThingType 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/iot-topic-rule.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IoTTopicRule 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IoTTopicRule 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/kinesis-stream.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # KinesisStream 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | KinesisStream 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/lightsail-disk.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # LightsailDisk 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | LightsailDisk 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/memory-db-user.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # MemoryDBUser 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | MemoryDBUser 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/osvpc-endpoint.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # OSVPCEndpoint 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | OSVPCEndpoint 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/sage-maker-app.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # SageMakerApp 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | SageMakerApp 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/ssm-parameter.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # SSMParameter 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | SSMParameter 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/app-stream-fleet.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AppStreamFleet 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AppStreamFleet 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/app-stream-image.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AppStreamImage 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AppStreamImage 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/app-stream-stack.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AppStreamStack 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AppStreamStack 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/aws-backup-plan.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AWSBackupPlan 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AWSBackupPlan 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/batch-job-queue.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # BatchJobQueue 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | BatchJobQueue 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/ec2-network-acl.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # EC2NetworkACL 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | EC2NetworkACL 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/efs-file-system.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # EFSFileSystem 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | EFSFileSystem 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/efs-mount-target.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # EFSMountTarget 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | EFSMountTarget 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/fsx-file-system.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # FSxFileSystem 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | FSxFileSystem 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/glue-classifier.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # GlueClassifier 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | GlueClassifier 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/glue-connection.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # GlueConnection 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | GlueConnection 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/iam-group-policy.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IAMGroupPolicy 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IAMGroupPolicy 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/iam-role-policy.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IAMRolePolicy 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IAMRolePolicy 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/iam-user-policy.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IAMUserPolicy 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IAMUserPolicy 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/iot-thing-group.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IoTThingGroup 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IoTThingGroup 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/lambda-function.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # LambdaFunction 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | LambdaFunction 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/quick-sight-user.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # QuickSightUser 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | QuickSightUser 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/rds-option-group.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # RDSOptionGroup 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | RDSOptionGroup 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/sage-maker-model.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # SageMakerModel 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | SageMakerModel 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/sage-maker-space.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # SageMakerSpace 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | SageMakerSpace 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/simple-db-domain.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # SimpleDBDomain 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | SimpleDBDomain 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/ssm-association.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # SSMAssociation 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | SSMAssociation 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/transfer-server.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # TransferServer 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | TransferServer 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/api-gateway-v2-api.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # APIGatewayV2API 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | APIGatewayV2API 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/athena-named-query.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AthenaNamedQuery 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AthenaNamedQuery 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/athena-work-group.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AthenaWorkGroup 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AthenaWorkGroup 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/auto-scaling-group.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AutoScalingGroup 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AutoScalingGroup 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/cloud-trail-trail.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CloudTrailTrail 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CloudTrailTrail 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/code-build-project.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CodeBuildProject 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CodeBuildProject 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/code-build-report.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CodeBuildReport 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CodeBuildReport 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/code-star-project.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CodeStarProject 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CodeStarProject 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/ec2-tgw-attachment.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # EC2TGWAttachment 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | EC2TGWAttachment 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/elasticache-user.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ElasticacheUser 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ElasticacheUser 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/glue-dev-endpoint.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # GlueDevEndpoint 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | GlueDevEndpoint 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/glue-ml-transform.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # GlueMLTransform 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | GlueMLTransform 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/lightsail-domain.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # LightsailDomain 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | LightsailDomain 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/lightsail-key-pair.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # LightsailKeyPair 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | LightsailKeyPair 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/memory-db-cluster.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # MemoryDBCluster 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | MemoryDBCluster 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/msk-configuration.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # MSKConfiguration 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | MSKConfiguration 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/rdsdb-subnet-group.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # RDSDBSubnetGroup 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | RDSDBSubnetGroup 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/redshift-cluster.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # RedshiftCluster 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | RedshiftCluster 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/redshift-snapshot.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # RedshiftSnapshot 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | RedshiftSnapshot 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/sage-maker-domain.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # SageMakerDomain 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | SageMakerDomain 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/ses-receipt-filter.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # SESReceiptFilter 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | SESReceiptFilter 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/signer-signing-job.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # SignerSigningJob 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | SignerSigningJob 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/xray-sampling-rule.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # XRaySamplingRule 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | XRaySamplingRule 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /resources/iam_mock_test.go: -------------------------------------------------------------------------------- 1 | //go:generate ../mocks/generate_mocks.sh iam iamiface 2 | package resources 3 | 4 | // Note: empty on purpose, this file exist purely to generate mocks for the IAM service 5 | -------------------------------------------------------------------------------- /resources/kms_mock_test.go: -------------------------------------------------------------------------------- 1 | //go:generate ../mocks/generate_mocks.sh kms kmsiface 2 | package resources 3 | 4 | // Note: empty on purpose, this file exist purely to generate mocks for the KMS service 5 | -------------------------------------------------------------------------------- /resources/sqs_mock_test.go: -------------------------------------------------------------------------------- 1 | //go:generate ../mocks/generate_mocks.sh sqs sqsiface 2 | package resources 3 | 4 | // Note: empty on purpose, this file exist purely to generate mocks for the IAM service 5 | -------------------------------------------------------------------------------- /cosign.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEzwDt3+veru3N3fCnc0kYxm4mnCO4 3 | 464OTkXk2z+PjI11g5ZRv7UrORXcZ20mmuGUN3/aVfexq+aGb5Bi+uHrPw== 4 | -----END PUBLIC KEY----- 5 | -------------------------------------------------------------------------------- /docs/resources/api-gateway-rest-api.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # APIGatewayRestAPI 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | APIGatewayRestAPI 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/api-gateway-vpc-link.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # APIGatewayVpcLink 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | APIGatewayVpcLink 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/app-sync-graphql-api.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AppSyncGraphqlAPI 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AppSyncGraphqlAPI 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/cloud-9environment.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # Cloud9Environment 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | Cloud9Environment 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/cloud-hsmv2-cluster.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CloudHSMV2Cluster 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CloudHSMV2Cluster 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/cloud-search-domain.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CloudSearchDomain 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CloudSearchDomain 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/cloud-watch-rum-app.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CloudWatchRUMApp 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CloudWatchRUMApp 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/comprehend-endpoint.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ComprehendEndpoint 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ComprehendEndpoint 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/dynamo-db-table-item.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # DynamoDBTableItem 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | DynamoDBTableItem 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/ec2-launch-template.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # EC2LaunchTemplate 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | EC2LaunchTemplate 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/ec2-placement-group.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # EC2PlacementGroup 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | EC2PlacementGroup 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/elbv2-listener-rule.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ELBv2ListenerRule 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ELBv2ListenerRule 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/glue-data-brew-jobs.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # GlueDataBrewJobs 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | GlueDataBrewJobs 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/guard-duty-detector.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # GuardDutyDetector 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | GuardDutyDetector 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/image-builder-image.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ImageBuilderImage 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ImageBuilderImage 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/iot-thing-type-state.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IoTThingTypeState 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IoTThingTypeState 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/lightsail-static-ip.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # LightsailStaticIP 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | LightsailStaticIP 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/media-convert-queue.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # MediaConvertQueue 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | MediaConvertQueue 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/ops-works-cm-server.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # OpsWorksCMServer 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | OpsWorksCMServer 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/sage-maker-endpoint.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # SageMakerEndpoint 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | SageMakerEndpoint 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/ses-receipt-rule-set.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # SESReceiptRuleSet 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | SESReceiptRuleSet 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/waf-regional-ip-set.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # WAFRegionalIPSet 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | WAFRegionalIPSet 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /resources/glue_mock_test.go: -------------------------------------------------------------------------------- 1 | //go:generate ../mocks/generate_mocks.sh glue glueiface 2 | package resources 3 | 4 | // Note: empty on purpose, this file exist purely to generate mocks for the glue service 5 | -------------------------------------------------------------------------------- /docs/resources/app-mesh-gateway-route.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AppMeshGatewayRoute 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AppMeshGatewayRoute 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/app-mesh-virtual-node.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AppMeshVirtualNode 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AppMeshVirtualNode 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/app-stream-fleet-state.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AppStreamFleetState 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AppStreamFleetState 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/aws-backup-selection.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AWSBackupSelection 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AWSBackupSelection 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/batch-job-queue-state.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # BatchJobQueueState 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | BatchJobQueueState 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/cloud-formation-type.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CloudFormationType 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CloudFormationType 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/cloud-front-function.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CloudFrontFunction 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CloudFrontFunction 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/cloud-watch-dashboard.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CloudWatchDashboard 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CloudWatchDashboard 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/code-artifact-domain.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CodeArtifactDomain 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CodeArtifactDomain 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/code-star-connection.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CodeStarConnection 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CodeStarConnection 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/cognito-identity-pool.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CognitoIdentityPool 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CognitoIdentityPool 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/ec2-customer-gateway.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # EC2CustomerGateway 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | EC2CustomerGateway 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/ec2-internet-gateway.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # EC2InternetGateway 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | EC2InternetGateway 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/ec2-spot-fleet-request.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # EC2SpotFleetRequest 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | EC2SpotFleetRequest 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/ecs-cluster-instance.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ECSClusterInstance 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ECSClusterInstance 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/glue-data-brew-recipe.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # GlueDataBrewRecipe 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | GlueDataBrewRecipe 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/image-builder-recipe.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ImageBuilderRecipe 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ImageBuilderRecipe 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/kinesis-video-project.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # KinesisVideoProject 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | KinesisVideoProject 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/media-convert-preset.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # MediaConvertPreset 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | MediaConvertPreset 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/media-store-container.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # MediaStoreContainer 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | MediaStoreContainer 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/media-store-data-items.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # MediaStoreDataItems 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | MediaStoreDataItems 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/memory-db-subnet-group.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # MemoryDBSubnetGroup 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | MemoryDBSubnetGroup 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/rds-cluster-snapshot.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # RDSClusterSnapshot 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | RDSClusterSnapshot 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/rdsdb-parameter-group.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # RDSDBParameterGroup 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | RDSDBParameterGroup 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/redshift-subnet-group.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # RedshiftSubnetGroup 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | RedshiftSubnetGroup 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/ses-configuration-set.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # SESConfigurationSet 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | SESConfigurationSet 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/ssm-resource-data-sync.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # SSMResourceDataSync 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | SSMResourceDataSync 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/storage-gateway-tape.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # StorageGatewayTape 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | StorageGatewayTape 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/transfer-server-user.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # TransferServerUser 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | TransferServerUser 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/waf-regional-ip-set-ip.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # WAFRegionalIPSetIP 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | WAFRegionalIPSetIP 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/work-spaces-workspace.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # WorkSpacesWorkspace 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | WorkSpacesWorkspace 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/api-gateway-v2-vpc-link.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # APIGatewayV2VpcLink 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | APIGatewayV2VpcLink 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/app-config-environment.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AppConfigEnvironment 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AppConfigEnvironment 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/app-mesh-virtual-router.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AppMeshVirtualRouter 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AppMeshVirtualRouter 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/cloud-directory-schema.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CloudDirectorySchema 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CloudDirectorySchema 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/cloud-hsmv2-cluster-hsm.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CloudHSMV2ClusterHSM 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CloudHSMV2ClusterHSM 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/code-commit-repository.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CodeCommitRepository 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CodeCommitRepository 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/code-deploy-application.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CodeDeployApplication 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CodeDeployApplication 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/code-pipeline-pipeline.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CodePipelinePipeline 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CodePipelinePipeline 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/data-pipeline-pipeline.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # DataPipelinePipeline 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | DataPipelinePipeline 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/elasticache-user-group.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ElasticacheUserGroup 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ElasticacheUserGroup 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/glue-data-brew-datasets.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # GlueDataBrewDatasets 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | GlueDataBrewDatasets 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/glue-data-brew-projects.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # GlueDataBrewProjects 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | GlueDataBrewProjects 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/glue-data-brew-rulesets.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # GlueDataBrewRulesets 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | GlueDataBrewRulesets 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/iam-signing-certificate.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IAMSigningCertificate 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IAMSigningCertificate 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/iam-user-ssh-public-key.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IAMUserSSHPublicKey 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IAMUserSSHPublicKey 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/image-builder-component.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ImageBuilderComponent 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ImageBuilderComponent 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/image-builder-pipeline.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ImageBuilderPipeline 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ImageBuilderPipeline 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/lightsail-load-balancer.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # LightsailLoadBalancer 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | LightsailLoadBalancer 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/rds-event-subscription.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # RDSEventSubscription 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | RDSEventSubscription 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/rekognition-collection.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # RekognitionCollection 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | RekognitionCollection 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/route-53-traffic-policy.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # Route53TrafficPolicy 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | Route53TrafficPolicy 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/transcribe-vocabulary.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # TranscribeVocabulary 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | TranscribeVocabulary 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/wafv2-regex-pattern-set.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # WAFv2RegexPatternSet 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | WAFv2RegexPatternSet 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /resources/budgets_mock_test.go: -------------------------------------------------------------------------------- 1 | //go:generate ../mocks/generate_mocks.sh budgets budgetsiface 2 | package resources 3 | 4 | // Note: empty on purpose, this file exist purely to generate mocks for the IAM service 5 | -------------------------------------------------------------------------------- /resources/gamelift_mock_test.go: -------------------------------------------------------------------------------- 1 | //go:generate ../mocks/generate_mocks.sh gamelift gameliftiface 2 | package resources 3 | 4 | // Note: empty on purpose, this file exist purely to generate mocks for the IAM service 5 | -------------------------------------------------------------------------------- /docs/resources/app-mesh-virtual-gateway.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AppMeshVirtualGateway 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AppMeshVirtualGateway 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/app-mesh-virtual-service.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AppMeshVirtualService 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AppMeshVirtualService 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/app-stream-image-builder.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AppStreamImageBuilder 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AppStreamImageBuilder 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/aws-backup-recovery-point.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AWSBackupRecoveryPoint 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AWSBackupRecoveryPoint 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/cloud-formation-stack-set.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CloudFormationStackSet 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CloudFormationStackSet 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/cloud-watch-events-buses.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CloudWatchEventsBuses 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CloudWatchEventsBuses 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/code-artifact-repository.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CodeArtifactRepository 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CodeArtifactRepository 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/cognito-user-pool-client.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CognitoUserPoolClient 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CognitoUserPoolClient 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/cognito-user-pool-domain.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CognitoUserPoolDomain 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CognitoUserPoolDomain 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/firehose-delivery-stream.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # FirehoseDeliveryStream 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | FirehoseDeliveryStream 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/fms-notification-channel.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # FMSNotificationChannel 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | FMSNotificationChannel 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/glue-data-brew-schedules.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # GlueDataBrewSchedules 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | GlueDataBrewSchedules 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/inspector-assessment-run.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # InspectorAssessmentRun 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | InspectorAssessmentRun 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/memory-db-parameter-group.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # MemoryDBParameterGroup 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | MemoryDBParameterGroup 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/ops-works-cm-server-state.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # OpsWorksCMServerState 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | OpsWorksCMServerState 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/redshift-parameter-group.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # RedshiftParameterGroup 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | RedshiftParameterGroup 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/robo-maker-simulation-job.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # RoboMakerSimulationJob 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | RoboMakerSimulationJob 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/sage-maker-user-profiles.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # SageMakerUserProfiles 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | SageMakerUserProfiles 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/app-stream-directory-config.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AppStreamDirectoryConfig 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AppStreamDirectoryConfig 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/batch-compute-environment.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # BatchComputeEnvironment 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | BatchComputeEnvironment 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/cloud-directory-directory.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CloudDirectoryDirectory 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CloudDirectoryDirectory 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/cognito-identity-provider.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CognitoIdentityProvider 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CognitoIdentityProvider 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/ec2-vpc-peering-connection.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # EC2VPCPeeringConnection 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | EC2VPCPeeringConnection 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/emr-security-configuration.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # EMRSecurityConfiguration 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | EMRSecurityConfiguration 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/lambda-event-source-mapping.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # LambdaEventSourceMapping 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | LambdaEventSourceMapping 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/managed-blockchain-member.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ManagedBlockchainMember 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ManagedBlockchainMember 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/media-convert-job-template.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # MediaConvertJobTemplate 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | MediaConvertJobTemplate 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/media-tailor-configuration.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # MediaTailorConfiguration 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | MediaTailorConfiguration 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/redshift-scheduled-action.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # RedshiftScheduledAction 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | RedshiftScheduledAction 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/route-53-resolver-endpoint.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # Route53ResolverEndpoint 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | Route53ResolverEndpoint 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/sage-maker-endpoint-config.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # SageMakerEndpointConfig 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | SageMakerEndpointConfig 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/service-discovery-instance.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ServiceDiscoveryInstance 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ServiceDiscoveryInstance 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/transcribe-language-model.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # TranscribeLanguageModel 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | TranscribeLanguageModel 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/waf-regional-byte-match-set.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # WAFRegionalByteMatchSet 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | WAFRegionalByteMatchSet 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/waf-regional-rule-predicate.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # WAFRegionalRulePredicate 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | WAFRegionalRulePredicate 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/waf-web-acl-rule-attachment.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # WAFWebACLRuleAttachment 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | WAFWebACLRuleAttachment 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /resources/sagemaker_mock_test.go: -------------------------------------------------------------------------------- 1 | //go:generate ../mocks/generate_mocks.sh sagemaker sagemakeriface 2 | package resources 3 | 4 | // Note: empty on purpose, this file exist purely to generate mocks for the SageMaker service 5 | -------------------------------------------------------------------------------- /docs/features/signed-binaries.md: -------------------------------------------------------------------------------- 1 | # Signed Binaries 2 | 3 | All darwin binaries are now signed and notarized by Apple. This means that you can now run the binaries without 4 | needing to bypass the security settings on your Mac. 5 | -------------------------------------------------------------------------------- /docs/resources/billing-costand-usage-report.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # BillingCostandUsageReport 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | BillingCostandUsageReport 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/cloud-watch-logs-destination.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CloudWatchLogsDestination 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CloudWatchLogsDestination 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/comprehend-entity-recognizer.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ComprehendEntityRecognizer 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ComprehendEntityRecognizer 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/directory-service-directory.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # DirectoryServiceDirectory 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | DirectoryServiceDirectory 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/elastic-transcoder-pipeline.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ElasticTranscoderPipeline 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ElasticTranscoderPipeline 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/glue-security-configuration.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # GlueSecurityConfiguration 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | GlueSecurityConfiguration 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/iam-open-id-connect-provider.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IAMOpenIDConnectProvider 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IAMOpenIDConnectProvider 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/iam-user-https-git-credential.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IAMUserHTTPSGitCredential 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IAMUserHTTPSGitCredential 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/inspector-assessment-target.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # InspectorAssessmentTarget 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | InspectorAssessmentTarget 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/network-manager-connect-peer.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # NetworkManagerConnectPeer 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | NetworkManagerConnectPeer 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/network-manager-core-network.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # NetworkManagerCoreNetwork 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | NetworkManagerCoreNetwork 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/redshift-serverless-snapshot.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # RedshiftServerlessSnapshot 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | RedshiftServerlessSnapshot 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/robo-maker-robot-application.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # RoboMakerRobotApplication 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | RoboMakerRobotApplication 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/sage-maker-notebook-instance.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # SageMakerNotebookInstance 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | SageMakerNotebookInstance 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/transcribe-transcription-job.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # TranscribeTranscriptionJob 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | TranscribeTranscriptionJob 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/transcribe-vocabulary-filter.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # TranscribeVocabularyFilter 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | TranscribeVocabularyFilter 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/waf-regional-byte-match-set-ip.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # WAFRegionalByteMatchSetIP 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | WAFRegionalByteMatchSetIP 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/waf-regional-regex-match-set.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # WAFRegionalRegexMatchSet 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | WAFRegionalRegexMatchSet 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/app-config-deployment-strategy.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AppConfigDeploymentStrategy 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AppConfigDeploymentStrategy 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/app-stream-image-builder-waiter.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AppStreamImageBuilderWaiter 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AppStreamImageBuilderWaiter 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/auto-scaling-plans-scaling-plan.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AutoScalingPlansScalingPlan 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AutoScalingPlansScalingPlan 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/aws-backup-vault-access-policy.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AWSBackupVaultAccessPolicy 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AWSBackupVaultAccessPolicy 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/ec2-default-security-group-rule.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # EC2DefaultSecurityGroupRule 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | EC2DefaultSecurityGroupRule 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/ec2-instance-connect-endpoint.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # EC2InstanceConnectEndpoint 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | EC2InstanceConnectEndpoint 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/elastic-beanstalk-application.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ElasticBeanstalkApplication 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ElasticBeanstalkApplication 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/elasticache-replication-group.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ElasticacheReplicationGroup 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ElasticacheReplicationGroup 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/inspector-assessment-template.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # InspectorAssessmentTemplate 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | InspectorAssessmentTemplate 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/kinesis-analytics-application.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # KinesisAnalyticsApplication 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | KinesisAnalyticsApplication 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/network-manager-global-network.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # NetworkManagerGlobalNetwork 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | NetworkManagerGlobalNetwork 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/rdsdb-cluster-parameter-group.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # RDSDBClusterParameterGroup 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | RDSDBClusterParameterGroup 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/redshift-serverless-namespace.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # RedshiftServerlessNamespace 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | RedshiftServerlessNamespace 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/redshift-serverless-workgroup.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # RedshiftServerlessWorkgroup 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | RedshiftServerlessWorkgroup 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/transcribe-call-analytics-job.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # TranscribeCallAnalyticsJob 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | TranscribeCallAnalyticsJob 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/transcribe-medical-vocabulary.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # TranscribeMedicalVocabulary 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | TranscribeMedicalVocabulary 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/waf-regional-regex-match-tuple.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # WAFRegionalRegexMatchTuple 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | WAFRegionalRegexMatchTuple 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/waf-regional-regex-pattern-set.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # WAFRegionalRegexPatternSet 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | WAFRegionalRegexPatternSet 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /resources/autoscaling_mock_test.go: -------------------------------------------------------------------------------- 1 | //go:generate ../mocks/generate_mocks.sh autoscaling autoscalingiface 2 | package resources 3 | 4 | // Note: empty on purpose, this file exist purely to generate mocks for the AutoScaling service 5 | -------------------------------------------------------------------------------- /resources/pinpoint_mock_test.go: -------------------------------------------------------------------------------- 1 | //go:generate ../mocks/generate_mocks.sh pinpointsmsvoicev2 pinpointsmsvoicev2iface 2 | package resources 3 | 4 | // Note: empty on purpose, this file exist purely to generate mocks for the IAM service 5 | -------------------------------------------------------------------------------- /docs/resources/batch-compute-environment-state.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # BatchComputeEnvironmentState 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | BatchComputeEnvironmentState 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/cloud-watch-logs-resource-policy.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CloudWatchLogsResourcePolicy 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CloudWatchLogsResourcePolicy 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/comprehend-document-classifier.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ComprehendDocumentClassifier 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ComprehendDocumentClassifier 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/comprehend-events-detection-job.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ComprehendEventsDetectionJob 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ComprehendEventsDetectionJob 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/config-service-conformance-pack.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ConfigServiceConformancePack 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ConfigServiceConformancePack 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/ec2-egress-only-internet-gateway.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # EC2EgressOnlyInternetGateway 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | EC2EgressOnlyInternetGateway 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/iam-service-specific-credential.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IAMServiceSpecificCredential 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IAMServiceSpecificCredential 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/app-stream-stack-fleet-attachment.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AppStreamStackFleetAttachment 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AppStreamStackFleetAttachment 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/comprehend-entities-detection-job.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ComprehendEntitiesDetectionJob 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ComprehendEntitiesDetectionJob 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/ec2-client-vpn-endpoint-attachment.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # EC2ClientVpnEndpointAttachment 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | EC2ClientVpnEndpointAttachment 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/elasticache-cache-parameter-group.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ElasticacheCacheParameterGroup 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ElasticacheCacheParameterGroup 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/robo-maker-simulation-application.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # RoboMakerSimulationApplication 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | RoboMakerSimulationApplication 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/sage-maker-notebook-instance-state.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # SageMakerNotebookInstanceState 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | SageMakerNotebookInstanceState 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/waf-regional-regex-pattern-string.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # WAFRegionalRegexPatternString 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | WAFRegionalRegexPatternString 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /resources/cloudformation_mock_test.go: -------------------------------------------------------------------------------- 1 | //go:generate ../mocks/generate_mocks.sh cloudformation cloudformationiface 2 | package resources 3 | 4 | // Note: empty on purpose, this file exist purely to generate mocks for the CloudFormation service 5 | -------------------------------------------------------------------------------- /resources/secretsmanager_mock_test.go: -------------------------------------------------------------------------------- 1 | //go:generate ../mocks/generate_mocks.sh secretsmanager secretsmanageriface 2 | package resources 3 | 4 | // Note: empty on purpose, this file exist purely to generate mocks for the Secrets Manager service 5 | -------------------------------------------------------------------------------- /docs/resources/comprehend-key-phrases-detection-job.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ComprehendKeyPhrasesDetectionJob 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ComprehendKeyPhrasesDetectionJob 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/comprehend-sentiment-detection-job.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ComprehendSentimentDetectionJob 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ComprehendSentimentDetectionJob 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/iam-account-setting-password-policy.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IAMAccountSettingPasswordPolicy 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IAMAccountSettingPasswordPolicy 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/lex-model-building-service-bot-alias.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # LexModelBuildingServiceBotAlias 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | LexModelBuildingServiceBotAlias 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/network-manager-network-attachment.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # NetworkManagerNetworkAttachment 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | NetworkManagerNetworkAttachment 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/transcribe-call-analytics-category.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # TranscribeCallAnalyticsCategory 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | TranscribeCallAnalyticsCategory 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/waf-regional-web-acl-rule-attachment.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # WAFRegionalWebACLRuleAttachment 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | WAFRegionalWebACLRuleAttachment 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /resources/servicediscovery_mock_test.go: -------------------------------------------------------------------------------- 1 | //go:generate ../mocks/generate_mocks.sh servicediscovery servicediscoveryiface 2 | package resources 3 | 4 | // Note: empty on purpose, this file exist purely to generate mocks for the CloudFormation service 5 | -------------------------------------------------------------------------------- /docs/resources/transcribe-medical-transcription-job.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # TranscribeMedicalTranscriptionJob 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | TranscribeMedicalTranscriptionJob 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/waf-regional-rate-based-rule-predicate.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # WAFRegionalRateBasedRulePredicate 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | WAFRegionalRateBasedRulePredicate 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/app-config-hosted-configuration-version.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AppConfigHostedConfigurationVersion 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AppConfigHostedConfigurationVersion 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/ec2-vpc-endpoint-service-configuration.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # EC2VPCEndpointServiceConfiguration 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | EC2VPCEndpointServiceConfiguration 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /.codeclimate.yml: -------------------------------------------------------------------------------- 1 | checks: 2 | return-statements: 3 | enabled: false 4 | plugins: 5 | duplication: 6 | enabled: true 7 | checks: 8 | Similar code: 9 | enabled: false 10 | exclude_patterns: 11 | - "mocks/" 12 | - "**/*_test.go" -------------------------------------------------------------------------------- /docs/resources/application-auto-scaling-scalable-target.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ApplicationAutoScalingScalableTarget 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ApplicationAutoScalingScalableTarget 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/image-builder-distribution-configuration.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ImageBuilderDistributionConfiguration 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ImageBuilderDistributionConfiguration 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/comprehend-dominant-language-detection-job.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ComprehendDominantLanguageDetectionJob 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ComprehendDominantLanguageDetectionJob 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/image-builder-infrastructure-configuration.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ImageBuilderInfrastructureConfiguration 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ImageBuilderInfrastructureConfiguration 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/service-catalog-portfolio-share-attachment.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ServiceCatalogPortfolioShareAttachment 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ServiceCatalogPortfolioShareAttachment 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/comprehend-targeted-sentiment-detection-job.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ComprehendTargetedSentimentDetectionJob 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ComprehendTargetedSentimentDetectionJob 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/service-catalog-portfolio-product-attachment.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ServiceCatalogPortfolioProductAttachment 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ServiceCatalogPortfolioProductAttachment 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/bedrock-model-invocation-logging-configuration.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # BedrockModelInvocationLoggingConfiguration 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | BedrockModelInvocationLoggingConfiguration 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/database-migration-service-event-subscription.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # DatabaseMigrationServiceEventSubscription 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | DatabaseMigrationServiceEventSubscription 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/service-catalog-principal-portfolio-attachment.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ServiceCatalogPrincipalPortfolioAttachment 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ServiceCatalogPrincipalPortfolioAttachment 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /.releaserc.yml: -------------------------------------------------------------------------------- 1 | plugins: 2 | - "@semantic-release/commit-analyzer" 3 | - "@semantic-release/release-notes-generator" 4 | - "@semantic-release/github" 5 | 6 | branches: 7 | - name: main 8 | - name: v2 9 | - name: next 10 | prerelease: 'beta' 11 | channel: beta -------------------------------------------------------------------------------- /docs/resources/service-catalog-constraint-portfolio-attachment.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ServiceCatalogConstraintPortfolioAttachment 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ServiceCatalogConstraintPortfolioAttachment 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/resources/service-catalog-tag-option-portfolio-attachment.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ServiceCatalogTagOptionPortfolioAttachment 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ServiceCatalogTagOptionPortfolioAttachment 12 | ``` 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /resources/route53_mock_test.go: -------------------------------------------------------------------------------- 1 | //go:generate ../mocks/generate_mocks.sh route53 route53iface 2 | //go:generate ../mocks/generate_mocks.sh route53resolver route53resolveriface 3 | package resources 4 | 5 | // Note: empty on purpose, this file exist purely to generate mocks for the Route53 service 6 | -------------------------------------------------------------------------------- /pkg/config/testdata/deprecated-feature-flags.yaml: -------------------------------------------------------------------------------- 1 | feature-flags: 2 | disable-ec2-instance-stop-protection: true 3 | force-delete-lightsail-addons: true 4 | disable-deletion-protection: 5 | RDSInstance: true 6 | EC2Instance: true 7 | CloudformationStack: true 8 | ELBv2: true 9 | QLDBLedger: true -------------------------------------------------------------------------------- /mocks/generate_mocks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | SERVICE=$1 4 | INTERFACE=$2 5 | 6 | go get github.com/golang/mock/mockgen@v1.6.0 7 | 8 | go run github.com/golang/mock/mockgen -source $(go list -m -mod=mod -f "{{.Dir}}" "github.com/aws/aws-sdk-go")/service/$SERVICE/$INTERFACE/interface.go -destination ../mocks/mock_$INTERFACE/mock.go 9 | -------------------------------------------------------------------------------- /docs/standards.md: -------------------------------------------------------------------------------- 1 | # Standards 2 | 3 | This is an attempt to describe the standards we use in developing this project. Currently most of the standards 4 | are captured in the contributing guide. 5 | 6 | ## Git 7 | 8 | See the [contributing guide](contributing.md) for more information. 9 | 10 | ## CLI Standards 11 | 12 | - Use `--no-` prefix for boolean flags 13 | 14 | 15 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | docs-build: 2 | docker run --rm -it -p 8000:8000 -v ${PWD}:/docs squidfunk/mkdocs-material build 3 | 4 | docs-serve: 5 | docker run --rm -it -p 8000:8000 -v ${PWD}:/docs squidfunk/mkdocs-material 6 | 7 | docs-seed: 8 | cp README.md docs/index.md 9 | 10 | generate: 11 | go generate ./... 12 | 13 | test: 14 | go test ./... 15 | 16 | test-integration: 17 | go test ./... -tags=integration -------------------------------------------------------------------------------- /pkg/config/testdata/bypass-alias.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | regions: 3 | - "us-east-1" 4 | 5 | blocklist: 6 | - 1234567890 7 | 8 | bypass-alias-check-accounts: 9 | - 123654654 10 | 11 | accounts: 12 | 123654654: 13 | resource-types: 14 | targets: 15 | - S3Bucket 16 | filters: 17 | IAMRole: 18 | - "uber.admin" 19 | IAMRolePolicyAttachment: 20 | - "uber.admin -> AdministratorAccess" 21 | -------------------------------------------------------------------------------- /resources/testsuite_test.go: -------------------------------------------------------------------------------- 1 | package resources 2 | 3 | import ( 4 | "github.com/gotidy/ptr" 5 | 6 | "github.com/aws/aws-sdk-go/aws/session" //nolint:staticcheck 7 | 8 | "github.com/ekristen/aws-nuke/v3/pkg/nuke" 9 | ) 10 | 11 | var testListerOpts = &nuke.ListerOpts{ 12 | Region: &nuke.Region{ 13 | Name: "us-east-2", 14 | }, 15 | Session: session.Must(session.NewSession()), 16 | AccountID: ptr.String("012345678901"), 17 | } 18 | -------------------------------------------------------------------------------- /docs/features/enabled-regions.md: -------------------------------------------------------------------------------- 1 | # Feature: All Enabled Regions 2 | 3 | There is a special region called `all` that can be provided to the regions block in the configuration. If `all` is 4 | provided then the special `global` region and all regions that are enabled for the account will automatically be 5 | included. Any other regions that are provided will be **ignored**. 6 | 7 | See [Full Documentation](../config.md#all-enabled-regions) for more information. -------------------------------------------------------------------------------- /docs/resources/backup-vault.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # BackupVault 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | BackupVault 12 | ``` 13 | 14 | 15 | 16 | ## Deprecated Aliases 17 | 18 | !!! warning 19 | This resource has deprecated aliases associated with it. Deprecated Aliases will be removed in the next major 20 | release of aws-nuke. Please update your configuration to use the new resource name. 21 | 22 | - `AWSBackupVault` -------------------------------------------------------------------------------- /docs/resources/rdsdb-cluster.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # RDSDBCluster 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | RDSDBCluster 12 | ``` 13 | 14 | 15 | 16 | ## Deprecated Aliases 17 | 18 | !!! warning 19 | This resource has deprecated aliases associated with it. Deprecated Aliases will be removed in the next major 20 | release of aws-nuke. Please update your configuration to use the new resource name. 21 | 22 | - `RDSCluster` -------------------------------------------------------------------------------- /docs/resources/eks-nodegroup.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # EKSNodegroup 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | EKSNodegroup 12 | ``` 13 | 14 | 15 | 16 | ## Deprecated Aliases 17 | 18 | !!! warning 19 | This resource has deprecated aliases associated with it. Deprecated Aliases will be removed in the next major 20 | release of aws-nuke. Please update your configuration to use the new resource name. 21 | 22 | - `EKSNodegroups` -------------------------------------------------------------------------------- /docs/resources/ec2-nat-gateway.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # EC2NATGateway 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | EC2NATGateway 12 | ``` 13 | 14 | 15 | 16 | ## Deprecated Aliases 17 | 18 | !!! warning 19 | This resource has deprecated aliases associated with it. Deprecated Aliases will be removed in the next major 20 | release of aws-nuke. Please update your configuration to use the new resource name. 21 | 22 | - `EC2NatGateway` -------------------------------------------------------------------------------- /docs/resources/aws-app-flow-flow.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AWS::AppFlow::Flow 6 | This is a resource that is access and controlled via the Cloud Control API, as such it's name 7 | and properties do not match the standard format for aws-nuke resources. Furthermore, the resource properties are 8 | dynamically populated and therefore cannot be documented here. 9 | 10 | ## Resource 11 | 12 | ```text 13 | AWS::AppFlow::Flow 14 | ``` 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /docs/resources/ec2-vpn-connection.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # EC2VPNConnection 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | EC2VPNConnection 12 | ``` 13 | 14 | 15 | 16 | ## Deprecated Aliases 17 | 18 | !!! warning 19 | This resource has deprecated aliases associated with it. Deprecated Aliases will be removed in the next major 20 | release of aws-nuke. Please update your configuration to use the new resource name. 21 | 22 | - `EC2VpnConnection` -------------------------------------------------------------------------------- /docs/resources/iam-user-access-key.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IAMUserAccessKey 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IAMUserAccessKey 12 | ``` 13 | 14 | 15 | 16 | ## Deprecated Aliases 17 | 18 | !!! warning 19 | This resource has deprecated aliases associated with it. Deprecated Aliases will be removed in the next major 20 | release of aws-nuke. Please update your configuration to use the new resource name. 21 | 22 | - `IamUserAccessKeys` -------------------------------------------------------------------------------- /pkg/config/testsuite_test.go: -------------------------------------------------------------------------------- 1 | package config 2 | 3 | import ( 4 | "testing" 5 | 6 | "github.com/sirupsen/logrus" 7 | ) 8 | 9 | type TestGlobalHook struct { 10 | t *testing.T 11 | tf func(t *testing.T, e *logrus.Entry) 12 | } 13 | 14 | func (h *TestGlobalHook) Levels() []logrus.Level { 15 | return logrus.AllLevels 16 | } 17 | 18 | func (h *TestGlobalHook) Fire(e *logrus.Entry) error { 19 | if h.tf != nil { 20 | h.tf(h.t, e) 21 | } 22 | 23 | return nil 24 | } 25 | -------------------------------------------------------------------------------- /docs/resources/aws-backup-framework.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AWS::Backup::Framework 6 | This is a resource that is access and controlled via the Cloud Control API, as such it's name 7 | and properties do not match the standard format for aws-nuke resources. Furthermore, the resource properties are 8 | dynamically populated and therefore cannot be documented here. 9 | 10 | ## Resource 11 | 12 | ```text 13 | AWS::Backup::Framework 14 | ``` 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /docs/resources/aws-mwaa-environment.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AWS::MWAA::Environment 6 | This is a resource that is access and controlled via the Cloud Control API, as such it's name 7 | and properties do not match the standard format for aws-nuke resources. Furthermore, the resource properties are 8 | dynamically populated and therefore cannot be documented here. 9 | 10 | ## Resource 11 | 12 | ```text 13 | AWS::MWAA::Environment 14 | ``` 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /docs/resources/aws-timestream-table.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AWS::Timestream::Table 6 | This is a resource that is access and controlled via the Cloud Control API, as such it's name 7 | and properties do not match the standard format for aws-nuke resources. Furthermore, the resource properties are 8 | dynamically populated and therefore cannot be documented here. 9 | 10 | ## Resource 11 | 12 | ```text 13 | AWS::Timestream::Table 14 | ``` 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /docs/resources/ec2-dhcp-option.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # EC2DHCPOption 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | EC2DHCPOption 12 | ``` 13 | 14 | 15 | 16 | ## Deprecated Aliases 17 | 18 | !!! warning 19 | This resource has deprecated aliases associated with it. Deprecated Aliases will be removed in the next major 20 | release of aws-nuke. Please update your configuration to use the new resource name. 21 | 22 | - `EC2DhcpOptions`- `EC2DHCPOptions` -------------------------------------------------------------------------------- /docs/resources/aws-app-runner-service.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AWS::AppRunner::Service 6 | This is a resource that is access and controlled via the Cloud Control API, as such it's name 7 | and properties do not match the standard format for aws-nuke resources. Furthermore, the resource properties are 8 | dynamically populated and therefore cannot be documented here. 9 | 10 | ## Resource 11 | 12 | ```text 13 | AWS::AppRunner::Service 14 | ``` 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /docs/resources/aws-ecr-registry-policy.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AWS::ECR::RegistryPolicy 6 | This is a resource that is access and controlled via the Cloud Control API, as such it's name 7 | and properties do not match the standard format for aws-nuke resources. Furthermore, the resource properties are 8 | dynamically populated and therefore cannot be documented here. 9 | 10 | ## Resource 11 | 12 | ```text 13 | AWS::ECR::RegistryPolicy 14 | ``` 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /docs/resources/aws-synthetics-canary.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AWS::Synthetics::Canary 6 | This is a resource that is access and controlled via the Cloud Control API, as such it's name 7 | and properties do not match the standard format for aws-nuke resources. Furthermore, the resource properties are 8 | dynamically populated and therefore cannot be documented here. 9 | 10 | ## Resource 11 | 12 | ```text 13 | AWS::Synthetics::Canary 14 | ``` 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /docs/resources/aws-transfer-workflow.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AWS::Transfer::Workflow 6 | This is a resource that is access and controlled via the Cloud Control API, as such it's name 7 | and properties do not match the standard format for aws-nuke resources. Furthermore, the resource properties are 8 | dynamically populated and therefore cannot be documented here. 9 | 10 | ## Resource 11 | 12 | ```text 13 | AWS::Transfer::Workflow 14 | ``` 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /docs/resources/aws-timestream-database.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AWS::Timestream::Database 6 | This is a resource that is access and controlled via the Cloud Control API, as such it's name 7 | and properties do not match the standard format for aws-nuke resources. Furthermore, the resource properties are 8 | dynamically populated and therefore cannot be documented here. 9 | 10 | ## Resource 11 | 12 | ```text 13 | AWS::Timestream::Database 14 | ``` 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /docs/resources/iam-server-certificate.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IAMServerCertificate 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IAMServerCertificate 12 | ``` 13 | 14 | 15 | 16 | ## Deprecated Aliases 17 | 18 | !!! warning 19 | This resource has deprecated aliases associated with it. Deprecated Aliases will be removed in the next major 20 | release of aws-nuke. Please update your configuration to use the new resource name. 21 | 22 | - `IamServerCertificate` -------------------------------------------------------------------------------- /docs/resources/iam-instance-profile-role.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IAMInstanceProfileRole 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IAMInstanceProfileRole 12 | ``` 13 | 14 | 15 | 16 | ## Deprecated Aliases 17 | 18 | !!! warning 19 | This resource has deprecated aliases associated with it. Deprecated Aliases will be removed in the next major 20 | release of aws-nuke. Please update your configuration to use the new resource name. 21 | 22 | - `IamInstanceProfileRole` -------------------------------------------------------------------------------- /docs/resources/iam-user-group-attachment.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IAMUserGroupAttachment 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IAMUserGroupAttachment 12 | ``` 13 | 14 | 15 | 16 | ## Deprecated Aliases 17 | 18 | !!! warning 19 | This resource has deprecated aliases associated with it. Deprecated Aliases will be removed in the next major 20 | release of aws-nuke. Please update your configuration to use the new resource name. 21 | 22 | - `IamUserGroupAttachement` -------------------------------------------------------------------------------- /.github/workflows/semantic-lint.yml: -------------------------------------------------------------------------------- 1 | name: semantic-lint 2 | 3 | on: 4 | pull_request_target: 5 | types: 6 | - opened 7 | - edited 8 | - synchronize 9 | 10 | permissions: 11 | contents: read 12 | pull-requests: read 13 | 14 | jobs: 15 | semantic-lint: 16 | runs-on: ubuntu-latest 17 | steps: 18 | - uses: amannn/action-semantic-pull-request@48f256284bd46cdaab1048c3721360e808335d50 # v6 19 | env: 20 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 21 | -------------------------------------------------------------------------------- /docs/resources/aws-app-flow-connector-profile.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AWS::AppFlow::ConnectorProfile 6 | This is a resource that is access and controlled via the Cloud Control API, as such it's name 7 | and properties do not match the standard format for aws-nuke resources. Furthermore, the resource properties are 8 | dynamically populated and therefore cannot be documented here. 9 | 10 | ## Resource 11 | 12 | ```text 13 | AWS::AppFlow::ConnectorProfile 14 | ``` 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /docs/resources/aws-ecr-pull-through-cache-rule.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AWS::ECR::PullThroughCacheRule 6 | This is a resource that is access and controlled via the Cloud Control API, as such it's name 7 | and properties do not match the standard format for aws-nuke resources. Furthermore, the resource properties are 8 | dynamically populated and therefore cannot be documented here. 9 | 10 | ## Resource 11 | 12 | ```text 13 | AWS::ECR::PullThroughCacheRule 14 | ``` 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /docs/resources/aws-network-firewall-firewall.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AWS::NetworkFirewall::Firewall 6 | This is a resource that is access and controlled via the Cloud Control API, as such it's name 7 | and properties do not match the standard format for aws-nuke resources. Furthermore, the resource properties are 8 | dynamically populated and therefore cannot be documented here. 9 | 10 | ## Resource 11 | 12 | ```text 13 | AWS::NetworkFirewall::Firewall 14 | ``` 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /docs/resources/ec2-vpn-gateway-attachment.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # EC2VPNGatewayAttachment 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | EC2VPNGatewayAttachment 12 | ``` 13 | 14 | 15 | 16 | ## Deprecated Aliases 17 | 18 | !!! warning 19 | This resource has deprecated aliases associated with it. Deprecated Aliases will be removed in the next major 20 | release of aws-nuke. Please update your configuration to use the new resource name. 21 | 22 | - `EC2VpnGatewayAttachement` -------------------------------------------------------------------------------- /docs/resources/iam-role-policy-attachment.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IAMRolePolicyAttachment 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IAMRolePolicyAttachment 12 | ``` 13 | 14 | 15 | 16 | ## Deprecated Aliases 17 | 18 | !!! warning 19 | This resource has deprecated aliases associated with it. Deprecated Aliases will be removed in the next major 20 | release of aws-nuke. Please update your configuration to use the new resource name. 21 | 22 | - `IamRolePolicyAttachement` -------------------------------------------------------------------------------- /docs/resources/iam-user-policy-attachment.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IAMUserPolicyAttachment 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IAMUserPolicyAttachment 12 | ``` 13 | 14 | 15 | 16 | ## Deprecated Aliases 17 | 18 | !!! warning 19 | This resource has deprecated aliases associated with it. Deprecated Aliases will be removed in the next major 20 | release of aws-nuke. Please update your configuration to use the new resource name. 21 | 22 | - `IamUserPolicyAttachement` -------------------------------------------------------------------------------- /docs/resources/aws-network-firewall-rule-group.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AWS::NetworkFirewall::RuleGroup 6 | This is a resource that is access and controlled via the Cloud Control API, as such it's name 7 | and properties do not match the standard format for aws-nuke resources. Furthermore, the resource properties are 8 | dynamically populated and therefore cannot be documented here. 9 | 10 | ## Resource 11 | 12 | ```text 13 | AWS::NetworkFirewall::RuleGroup 14 | ``` 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /docs/resources/aws-timestream-scheduled-query.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AWS::Timestream::ScheduledQuery 6 | This is a resource that is access and controlled via the Cloud Control API, as such it's name 7 | and properties do not match the standard format for aws-nuke resources. Furthermore, the resource properties are 8 | dynamically populated and therefore cannot be documented here. 9 | 10 | ## Resource 11 | 12 | ```text 13 | AWS::Timestream::ScheduledQuery 14 | ``` 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /docs/resources/iam-group-policy-attachment.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IAMGroupPolicyAttachment 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IAMGroupPolicyAttachment 12 | ``` 13 | 14 | 15 | 16 | ## Deprecated Aliases 17 | 18 | !!! warning 19 | This resource has deprecated aliases associated with it. Deprecated Aliases will be removed in the next major 20 | release of aws-nuke. Please update your configuration to use the new resource name. 21 | 22 | - `IamGroupPolicyAttachement` -------------------------------------------------------------------------------- /docs/resources/aws-ecr-replication-configuration.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AWS::ECR::ReplicationConfiguration 6 | This is a resource that is access and controlled via the Cloud Control API, as such it's name 7 | and properties do not match the standard format for aws-nuke resources. Furthermore, the resource properties are 8 | dynamically populated and therefore cannot be documented here. 9 | 10 | ## Resource 11 | 12 | ```text 13 | AWS::ECR::ReplicationConfiguration 14 | ``` 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /docs/resources/ec2-route-table.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # EC2RouteTable 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | EC2RouteTable 12 | ``` 13 | 14 | 15 | 16 | ### DependsOn 17 | 18 | !!! important - Experimental Feature 19 | This resource depends on a resource using the experimental feature. This means that the resource will 20 | only be deleted if all the resources of a particular type are deleted first or reach a terminal state. 21 | 22 | - [EC2Subnet](./ec2-subnet.md) 23 | 24 | -------------------------------------------------------------------------------- /docs/resources/elbv2-target-group.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ELBv2TargetGroup 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ELBv2TargetGroup 12 | ``` 13 | 14 | 15 | 16 | ### DependsOn 17 | 18 | !!! important - Experimental Feature 19 | This resource depends on a resource using the experimental feature. This means that the resource will 20 | only be deleted if all the resources of a particular type are deleted first or reach a terminal state. 21 | 22 | - [ELBv2](./elbv2.md) 23 | 24 | -------------------------------------------------------------------------------- /.github/workflows/commit-lint.yaml: -------------------------------------------------------------------------------- 1 | name: commit-lint 2 | 3 | on: 4 | pull_request_target: 5 | types: 6 | - opened 7 | - edited 8 | - synchronize 9 | 10 | permissions: 11 | contents: read 12 | pull-requests: read 13 | 14 | jobs: 15 | commit-lint: 16 | name: commit-lint 17 | runs-on: ubuntu-latest 18 | steps: 19 | - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6 20 | - uses: wagoid/commitlint-github-action@b948419dd99f3fd78a6548d48f94e3df7f6bf3ed # v6 -------------------------------------------------------------------------------- /docs/resources/aws-application-insights-application.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AWS::ApplicationInsights::Application 6 | This is a resource that is access and controlled via the Cloud Control API, as such it's name 7 | and properties do not match the standard format for aws-nuke resources. Furthermore, the resource properties are 8 | dynamically populated and therefore cannot be documented here. 9 | 10 | ## Resource 11 | 12 | ```text 13 | AWS::ApplicationInsights::Application 14 | ``` 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /docs/resources/aws-network-firewall-firewall-policy.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AWS::NetworkFirewall::FirewallPolicy 6 | This is a resource that is access and controlled via the Cloud Control API, as such it's name 7 | and properties do not match the standard format for aws-nuke resources. Furthermore, the resource properties are 8 | dynamically populated and therefore cannot be documented here. 9 | 10 | ## Resource 11 | 12 | ```text 13 | AWS::NetworkFirewall::FirewallPolicy 14 | ``` 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /docs/resources/ec2-internet-gateway-attachment.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # EC2InternetGatewayAttachment 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | EC2InternetGatewayAttachment 12 | ``` 13 | 14 | 15 | 16 | ## Deprecated Aliases 17 | 18 | !!! warning 19 | This resource has deprecated aliases associated with it. Deprecated Aliases will be removed in the next major 20 | release of aws-nuke. Please update your configuration to use the new resource name. 21 | 22 | - `EC2InternetGatewayAttachement` -------------------------------------------------------------------------------- /docs/resources/ec2-subnet.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # EC2Subnet 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | EC2Subnet 12 | ``` 13 | 14 | 15 | 16 | ### DependsOn 17 | 18 | !!! important - Experimental Feature 19 | This resource depends on a resource using the experimental feature. This means that the resource will 20 | only be deleted if all the resources of a particular type are deleted first or reach a terminal state. 21 | 22 | - [EC2NetworkInterface](./ec2-network-interface.md) 23 | 24 | -------------------------------------------------------------------------------- /pkg/config/testdata/incomplete.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | regions: 3 | - "eu-west-1" 4 | - stratoscale 5 | 6 | accounts: 7 | 555133742: 8 | presets: 9 | - "terraform" 10 | resource-types: 11 | targets: 12 | - S3Bucket 13 | filters: 14 | IAMRole: 15 | - "uber.admin" 16 | IAMRolePolicyAttachment: 17 | - "uber.admin -> AdministratorAccess" 18 | 19 | presets: 20 | terraform: 21 | filters: 22 | S3Bucket: 23 | - type: glob 24 | value: "my-statebucket-*" -------------------------------------------------------------------------------- /docs/development.md: -------------------------------------------------------------------------------- 1 | # Development 2 | 3 | ## Building 4 | 5 | The following will build the binary for the current platform and place it in the `releases` directory. 6 | 7 | ```console 8 | goreleaser build --clean --snapshot --single-target 9 | ``` 10 | 11 | ## Documentation 12 | 13 | This is built using Material for MkDocs and can be run very easily locally providing you have docker available. 14 | 15 | [Read more about it here.](documentation.md) 16 | 17 | ### Running Locally 18 | 19 | ```console 20 | make docs-serve 21 | ``` 22 | -------------------------------------------------------------------------------- /docs/features/global-filters.md: -------------------------------------------------------------------------------- 1 | # Global Filters 2 | 3 | Global filters are filters that are applied to all resources. They are defined using a special resource name called 4 | `__global__`. The global filters are pre-pended to all resources before any other filters for the specific resource 5 | are applied. 6 | 7 | !!! note 8 | This is a pseudo resource so to use it for filtering it can only be done in the supported filter locations, 9 | such as `presets` or `accounts`. 10 | 11 | [Full Documentation](../config-filtering.md#global) -------------------------------------------------------------------------------- /docs/resources/comprehend-pii-entities-detection-job.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ComprehendPiiEntitiesDetectionJob 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ComprehendPiiEntitiesDetectionJob 12 | ``` 13 | 14 | 15 | 16 | ## Deprecated Aliases 17 | 18 | !!! warning 19 | This resource has deprecated aliases associated with it. Deprecated Aliases will be removed in the next major 20 | release of aws-nuke. Please update your configuration to use the new resource name. 21 | 22 | - `ComprehendPiiEntititesDetectionJob` -------------------------------------------------------------------------------- /docs/resources/qldb-ledger.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # QLDBLedger 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | QLDBLedger 12 | ``` 13 | 14 | 15 | 16 | ## Settings 17 | 18 | - `DisableDeletionProtection` 19 | 20 | 21 | ### DisableDeletionProtection 22 | 23 | !!! note 24 | There is currently no description for this setting. Often times settings are fairly self-explanatory. However, we 25 | are working on adding descriptions for all settings. 26 | 27 | ```text 28 | DisableDeletionProtection 29 | ``` 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/code-build-report-group.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CodeBuildReportGroup 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CodeBuildReportGroup 12 | ``` 13 | 14 | 15 | 16 | ### DependsOn 17 | 18 | !!! important - Experimental Feature 19 | This resource depends on a resource using the experimental feature. This means that the resource will 20 | only be deleted if all the resources of a particular type are deleted first or reach a terminal state. 21 | 22 | - [CodeBuildReport](./code-build-report.md) 23 | 24 | -------------------------------------------------------------------------------- /pkg/commands/completion/files/zsh_autocomplete: -------------------------------------------------------------------------------- 1 | #compdef aws-nuke 2 | 3 | _cli_zsh_autocomplete() { 4 | local -a opts 5 | local cur 6 | cur=${words[-1]} 7 | if [[ "$cur" == "-"* ]]; then 8 | opts=("${(@f)$(${words[@]:0:#words[@]-1} ${cur} --generate-bash-completion)}") 9 | else 10 | opts=("${(@f)$(${words[@]:0:#words[@]-1} --generate-bash-completion)}") 11 | fi 12 | 13 | if [[ "${opts[1]}" != "" ]]; then 14 | _describe 'values' opts 15 | else 16 | _files 17 | fi 18 | } 19 | 20 | compdef _cli_zsh_autocomplete aws-nuke -------------------------------------------------------------------------------- /resources/accessanalyzer-archive-rule_mock_test.go: -------------------------------------------------------------------------------- 1 | package resources 2 | 3 | import ( 4 | "testing" 5 | 6 | "github.com/gotidy/ptr" 7 | "github.com/stretchr/testify/assert" 8 | ) 9 | 10 | func Test_Mock_AccessAnalyzerArchiveRule_Properties(t *testing.T) { 11 | resource := ArchiveRule{ 12 | RuleName: ptr.String("example-rule"), 13 | AnalyzerName: ptr.String("example-archive"), 14 | } 15 | 16 | props := resource.Properties() 17 | assert.Equal(t, "example-rule", props.Get("RuleName")) 18 | assert.Equal(t, "example-archive", props.Get("AnalyzerName")) 19 | } 20 | -------------------------------------------------------------------------------- /docs/resources/ec2-client-vpn-endpoint.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # EC2ClientVpnEndpoint 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | EC2ClientVpnEndpoint 12 | ``` 13 | 14 | 15 | 16 | ### DependsOn 17 | 18 | !!! important - Experimental Feature 19 | This resource depends on a resource using the experimental feature. This means that the resource will 20 | only be deleted if all the resources of a particular type are deleted first or reach a terminal state. 21 | 22 | - [EC2ClientVpnEndpointAttachment](./ec2-client-vpn-endpoint-attachment.md) 23 | 24 | -------------------------------------------------------------------------------- /docs/resources/quick-sight-subscription.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # QuickSightSubscription 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | QuickSightSubscription 12 | ``` 13 | 14 | 15 | 16 | ## Settings 17 | 18 | - `DisableTerminationProtection` 19 | 20 | 21 | ### DisableTerminationProtection 22 | 23 | !!! note 24 | There is currently no description for this setting. Often times settings are fairly self-explanatory. However, we 25 | are working on adding descriptions for all settings. 26 | 27 | ```text 28 | DisableTerminationProtection 29 | ``` 30 | 31 | -------------------------------------------------------------------------------- /resources/iottwinmaker.go: -------------------------------------------------------------------------------- 1 | package resources 2 | 3 | import "slices" 4 | 5 | type IoTTwinMaker struct{} 6 | 7 | func (i *IoTTwinMaker) IsSupportedRegion(region string) bool { 8 | // ref: https://docs.aws.amazon.com/general/latest/gr/iot-twinmaker.html 9 | supportedRegions := []string{ 10 | "us-east-1", 11 | "us-west-2", 12 | "ap-south-1", 13 | "ap-northeast-2", 14 | "ap-southeast-1", 15 | "ap-southeast-2", 16 | "ap-northeast-1", 17 | "eu-central-1", 18 | "eu-west-1", 19 | "us-gov-west-1", 20 | } 21 | 22 | return slices.Contains(supportedRegions, region) 23 | } 24 | -------------------------------------------------------------------------------- /docs/features/filter-groups.md: -------------------------------------------------------------------------------- 1 | # Filter Groups 2 | 3 | !!! important 4 | This feature is experimental and is disabled by default. To enable it, use the `--feature-flag "filter-groups"` CLI argument. 5 | 6 | Filter groups allow you to filter resources based on a grouping method which allows for AND'ing filters together. By 7 | default, all filters belong to the same group, but you can specify a group name to group filters together. 8 | 9 | All filters within a group are OR'd together, and all groups are AND'd together. 10 | 11 | [Full Documentation](../config-filtering.md#filter-groups) -------------------------------------------------------------------------------- /resources/eks-fargate-profile_mock_test.go: -------------------------------------------------------------------------------- 1 | package resources 2 | 3 | import ( 4 | "testing" 5 | 6 | "github.com/gotidy/ptr" 7 | "github.com/stretchr/testify/assert" 8 | ) 9 | 10 | func TestEKSFargateProperties(t *testing.T) { 11 | resource := &EKSFargateProfile{ 12 | Cluster: ptr.String("test-id"), 13 | Name: ptr.String("test-name"), 14 | } 15 | 16 | properties := resource.Properties() 17 | 18 | assert.Equal(t, "test-id", properties.Get("Cluster")) 19 | assert.Equal(t, "test-name", properties.Get("Name")) 20 | assert.Equal(t, "test-id:test-name", resource.String()) 21 | } 22 | -------------------------------------------------------------------------------- /docs/resources/app-config-configuration-profile.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AppConfigConfigurationProfile 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AppConfigConfigurationProfile 12 | ``` 13 | 14 | 15 | 16 | ### DependsOn 17 | 18 | !!! important - Experimental Feature 19 | This resource depends on a resource using the experimental feature. This means that the resource will 20 | only be deleted if all the resources of a particular type are deleted first or reach a terminal state. 21 | 22 | - [AppConfigHostedConfigurationVersion](./app-config-hosted-configuration-version.md) 23 | 24 | -------------------------------------------------------------------------------- /docs/resources/app-config-application.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AppConfigApplication 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AppConfigApplication 12 | ``` 13 | 14 | 15 | 16 | ### DependsOn 17 | 18 | !!! important - Experimental Feature 19 | This resource depends on a resource using the experimental feature. This means that the resource will 20 | only be deleted if all the resources of a particular type are deleted first or reach a terminal state. 21 | 22 | - [AppConfigConfigurationProfile](./app-config-configuration-profile.md) 23 | - [AppConfigEnvironment](./app-config-environment.md) 24 | 25 | -------------------------------------------------------------------------------- /.github/workflows/golangci-lint.yml: -------------------------------------------------------------------------------- 1 | name: golangci-lint 2 | on: 3 | pull_request: 4 | branches: 5 | - main 6 | - next 7 | 8 | permissions: 9 | contents: read 10 | 11 | jobs: 12 | golangci-lint: 13 | name: golangci-lint 14 | runs-on: ubuntu-latest 15 | steps: 16 | - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6 17 | - uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6 18 | with: 19 | go-version: '1.25.x' 20 | cache: false 21 | - name: golangci-lint 22 | uses: golangci/golangci-lint-action@1e7e51e771db61008b38414a730f564565cf7c20 # v9 23 | -------------------------------------------------------------------------------- /.github/workflows/tests.yml: -------------------------------------------------------------------------------- 1 | name: tests 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | - next 8 | pull_request: 9 | branches: 10 | - main 11 | - next 12 | 13 | jobs: 14 | test: 15 | name: test 16 | runs-on: ubuntu-latest 17 | steps: 18 | - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6 19 | - uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6 20 | with: 21 | go-version: '1.25.x' 22 | - name: download go mods 23 | run: | 24 | go mod download 25 | - name: run go tests 26 | run: | 27 | go test -timeout 60s -race -coverprofile=coverage.txt -covermode=atomic ./... 28 | -------------------------------------------------------------------------------- /resources/gamelift.go: -------------------------------------------------------------------------------- 1 | package resources 2 | 3 | import "slices" 4 | 5 | type GameLift struct{} 6 | 7 | func (g *GameLift) IsSupportedRegion(region string) bool { 8 | // ref: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-regions.html 9 | // there are fewer unsupported, so doing the inverse 10 | // unsupported are regions that only support "Remote location for multi-location fleets" 11 | // note: we do not currently filter down to the local zone 12 | unsupportedRegions := []string{ 13 | "af-south-1", 14 | "ap-east-1", 15 | "ap-northeast-3", 16 | "eu-north-1", 17 | "eu-south-1", 18 | "eu-west-3", 19 | "me-south-1", 20 | } 21 | 22 | return !slices.Contains(unsupportedRegions, region) 23 | } 24 | -------------------------------------------------------------------------------- /pkg/commands/version/version.go: -------------------------------------------------------------------------------- 1 | package version 2 | 3 | import ( 4 | "context" 5 | "fmt" 6 | 7 | "github.com/urfave/cli/v3" 8 | 9 | "github.com/ekristen/aws-nuke/v3/pkg/commands/global" 10 | "github.com/ekristen/aws-nuke/v3/pkg/common" 11 | ) 12 | 13 | func execute(_ context.Context, _ *cli.Command) error { 14 | fmt.Println(common.AppVersion.Name, "version", common.AppVersion.Summary) 15 | 16 | return nil 17 | } 18 | 19 | func init() { 20 | cmd := &cli.Command{ 21 | Name: "version", 22 | Usage: "displays the version", 23 | Description: "displays the version of aws-nuke", 24 | Flags: global.Flags(), 25 | Before: global.Before, 26 | Action: execute, 27 | } 28 | 29 | common.RegisterCommand(cmd) 30 | } 31 | -------------------------------------------------------------------------------- /resources/amplify-app_mock_test.go: -------------------------------------------------------------------------------- 1 | package resources 2 | 3 | import ( 4 | "testing" 5 | 6 | "github.com/gotidy/ptr" 7 | "github.com/stretchr/testify/assert" 8 | ) 9 | 10 | var app = &AmplifyApp{ 11 | Name: ptr.String("app1"), 12 | AppID: ptr.String("appId1"), 13 | Tags: map[string]*string{ 14 | "key1": ptr.String("value1"), 15 | }, 16 | } 17 | 18 | func Test_AmplifyApp_Properties(t *testing.T) { 19 | a := assert.New(t) 20 | 21 | properties := app.Properties() 22 | a.Equal("app1", properties.Get("Name")) 23 | a.Equal("appId1", properties.Get("AppID")) 24 | a.Equal("value1", properties.Get("tag:key1")) 25 | } 26 | 27 | func Test_AmplifyApp_Stringer(t *testing.T) { 28 | a := assert.New(t) 29 | 30 | a.Equal("appId1", app.String()) 31 | } 32 | -------------------------------------------------------------------------------- /pkg/common/version.go: -------------------------------------------------------------------------------- 1 | package common 2 | 3 | import "fmt" 4 | 5 | // NAME of the App 6 | var NAME = "aws-nuke" 7 | 8 | // SUMMARY of the Version 9 | var SUMMARY = "3.0.0-dev" 10 | 11 | // BRANCH of the Version 12 | var BRANCH = "dev" 13 | 14 | var COMMIT = "dirty" 15 | 16 | // AppVersion -- 17 | var AppVersion AppVersionInfo 18 | 19 | // AppVersionInfo -- 20 | type AppVersionInfo struct { 21 | Name string 22 | Branch string 23 | Summary string 24 | Commit string 25 | } 26 | 27 | func (a *AppVersionInfo) String() string { 28 | return fmt.Sprintf("%s - %s - %s", a.Name, a.Summary, a.Commit) 29 | } 30 | 31 | func init() { 32 | AppVersion = AppVersionInfo{ 33 | Name: NAME, 34 | Branch: BRANCH, 35 | Summary: SUMMARY, 36 | Commit: COMMIT, 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /pkg/awsutil/consts.go: -------------------------------------------------------------------------------- 1 | package awsutil 2 | 3 | // Default is a generic constant for the word default 4 | const Default = "default" 5 | 6 | // Custom is a generic constant for the word custom 7 | const Custom = "custom" 8 | 9 | // StateDeleted is a generic constant for the word deleted for state 10 | const StateDeleted = "deleted" 11 | 12 | // StateDeleting is a generic constant for the word deleting for state 13 | const StateDeleting = "deleting" 14 | 15 | // StateRejected is a generic constant for the word rejected for state 16 | const StateRejected = "rejected" 17 | 18 | // StateExpired is a generic constant for the word expired for state 19 | const StateExpired = "expired" 20 | 21 | // StateFailed is a generic constant for the word failed for state 22 | const StateFailed = "failed" 23 | -------------------------------------------------------------------------------- /pkg/config/testdata/no-blocklist-term-prod.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | regions: 3 | - global 4 | - us-east-1 5 | 6 | blocklist: 7 | - 012345678901 8 | 9 | blocklist-terms: 10 | - alpha 11 | 12 | no-blocklist-terms-default: true 13 | 14 | resource-types: 15 | includes: 16 | - DynamoDBTable 17 | - S3Bucket 18 | - S3Object 19 | excludes: 20 | - IAMRole 21 | 22 | accounts: 23 | 555133742: 24 | presets: 25 | - "terraform" 26 | resource-types: 27 | includes: 28 | - S3Bucket 29 | filters: 30 | IAMRole: 31 | - "uber.admin" 32 | IAMRolePolicyAttachment: 33 | - "uber.admin -> AdministratorAccess" 34 | 35 | presets: 36 | terraform: 37 | filters: 38 | S3Bucket: 39 | - type: glob 40 | value: "my-statebucket-*" -------------------------------------------------------------------------------- /docs/releases.md: -------------------------------------------------------------------------------- 1 | # Releases 2 | 3 | Releases are performed automatically based on semantic commits. The versioning is then determined from the commits. 4 | We use a tool called [semantic-release](https://semantic-release.gitbook.io/) to determine if a release should occur 5 | and what the version should be. This takes away the need for humans to be involved. 6 | 7 | ## Release Assets 8 | 9 | You can find Linux, macOS and Windows binaries on the [releases page](https://github.com/ekristen/aws-nuke/releases), but we also provide containerized 10 | versions on [ghcr.io/ekristen/aws-nuke](https://ghcr.io/ekristen/aws-nuke). 11 | 12 | Both are available for multiple architectures (amd64, arm64 & armv7) using Docker manifests. You can reference the 13 | main tag on any system and get the correct docker image automatically. -------------------------------------------------------------------------------- /docs/resources/ec2-vpn-gateway.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # EC2VPNGateway 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | EC2VPNGateway 12 | ``` 13 | 14 | 15 | 16 | ### DependsOn 17 | 18 | !!! important - Experimental Feature 19 | This resource depends on a resource using the experimental feature. This means that the resource will 20 | only be deleted if all the resources of a particular type are deleted first or reach a terminal state. 21 | 22 | - [EC2VPNGatewayAttachment](./ec2-vpn-gateway-attachment.md) 23 | 24 | ## Deprecated Aliases 25 | 26 | !!! warning 27 | This resource has deprecated aliases associated with it. Deprecated Aliases will be removed in the next major 28 | release of aws-nuke. Please update your configuration to use the new resource name. 29 | 30 | - `EC2VpnGateway` -------------------------------------------------------------------------------- /resources/ec2-tgw_test.go: -------------------------------------------------------------------------------- 1 | package resources 2 | 3 | import ( 4 | "testing" 5 | 6 | "github.com/gotidy/ptr" 7 | "github.com/stretchr/testify/assert" 8 | 9 | "github.com/aws/aws-sdk-go/service/ec2" //nolint:staticcheck 10 | ) 11 | 12 | func Test_EC2TGW_Properties(t *testing.T) { 13 | tgw := &EC2TGW{ 14 | ID: ptr.String("tgw-1234567890abcdef0"), 15 | OwnerID: ptr.String("123456789012"), 16 | Tags: []*ec2.Tag{ 17 | { 18 | Key: ptr.String("TestTag"), 19 | Value: ptr.String("test-tgw"), 20 | }, 21 | }, 22 | } 23 | 24 | assert.Equal(t, "tgw-1234567890abcdef0", tgw.Properties().Get("ID")) 25 | assert.Equal(t, "123456789012", tgw.Properties().Get("OwnerId")) 26 | assert.Equal(t, "test-tgw", tgw.Properties().Get("tag:TestTag")) 27 | assert.Equal(t, "tgw-1234567890abcdef0", tgw.String()) 28 | } 29 | -------------------------------------------------------------------------------- /resources/accessanalyzer-analyzer_mock_test.go: -------------------------------------------------------------------------------- 1 | package resources 2 | 3 | import ( 4 | "testing" 5 | 6 | "github.com/gotidy/ptr" 7 | "github.com/stretchr/testify/assert" 8 | ) 9 | 10 | func Test_Mock_AccessAnalyzer_Properties(t *testing.T) { 11 | resource := AccessAnalyzer{ 12 | ARN: ptr.String("arn:aws:accessanalyzer:us-west-2:123456789012:analyzer/1234567890123"), 13 | Name: ptr.String("example-analyzer"), 14 | Status: ptr.String("ACTIVE"), 15 | Tags: map[string]*string{ 16 | "key": ptr.String("example-key"), 17 | }, 18 | } 19 | 20 | props := resource.Properties() 21 | 22 | assert.Equal(t, *resource.ARN, props.Get("ARN")) 23 | assert.Equal(t, "example-analyzer", props.Get("Name")) 24 | assert.Equal(t, "ACTIVE", props.Get("Status")) 25 | assert.Equal(t, "example-key", props.Get("tag:key")) 26 | } 27 | -------------------------------------------------------------------------------- /docs/resources/mobile-project.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # MobileProject 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | MobileProject 12 | ``` 13 | 14 | 15 | 16 | !!! note - Using Properties 17 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 18 | names to write filters for what you want to **keep** and omit from the nuke process. 19 | 20 | ### String Property 21 | 22 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 23 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 24 | the filter. 25 | 26 | The string value is always what is used in the output of the log format when a resource is identified. 27 | 28 | -------------------------------------------------------------------------------- /docs/resources/iam-group.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IAMGroup 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IAMGroup 12 | ``` 13 | 14 | 15 | 16 | ### DependsOn 17 | 18 | !!! important - Experimental Feature 19 | This resource depends on a resource using the experimental feature. This means that the resource will 20 | only be deleted if all the resources of a particular type are deleted first or reach a terminal state. 21 | 22 | - [IAMUserGroupAttachment](./iam-user-group-attachment.md) 23 | - [IAMGroupPolicy](./iam-group-policy.md) 24 | 25 | ## Deprecated Aliases 26 | 27 | !!! warning 28 | This resource has deprecated aliases associated with it. Deprecated Aliases will be removed in the next major 29 | release of aws-nuke. Please update your configuration to use the new resource name. 30 | 31 | - `IamGroup` -------------------------------------------------------------------------------- /docs/resources/api-gateway-client-certificate.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # APIGatewayClientCertificate 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | APIGatewayClientCertificate 12 | ``` 13 | 14 | ### Alternative Resource 15 | 16 | !!! warning - Cloud Control API - Alternative Resource 17 | This resource conflicts with an alternative resource that can be controlled and used via Cloud Control API. If you 18 | use this alternative resource, please note that any properties listed on this page may not be valid. You will need 19 | run the tool to determine what properties are available for the alternative resource via the Cloud Control API. 20 | Please refer to the documentation for [Cloud Control Resources](../config-cloud-control.md) for more information. 21 | 22 | ```text 23 | AWS::ApiGateway::ClientCertificate 24 | ``` 25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/resources/rds-instance.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # RDSInstance 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | RDSInstance 12 | ``` 13 | 14 | 15 | 16 | ## Settings 17 | 18 | - `DisableDeletionProtection` 19 | - `StartClusterToDelete` 20 | 21 | 22 | ### DisableDeletionProtection 23 | 24 | !!! note 25 | There is currently no description for this setting. Often times settings are fairly self-explanatory. However, we 26 | are working on adding descriptions for all settings. 27 | 28 | ```text 29 | DisableDeletionProtection 30 | ``` 31 | 32 | 33 | ### StartClusterToDelete 34 | 35 | !!! note 36 | There is currently no description for this setting. Often times settings are fairly self-explanatory. However, we 37 | are working on adding descriptions for all settings. 38 | 39 | ```text 40 | StartClusterToDelete 41 | ``` 42 | 43 | -------------------------------------------------------------------------------- /docs/resources/iot-job.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IoTJob 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IoTJob 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/waf-rule.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # WAFRule 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | WAFRule 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/iot-stream.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IoTStream 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IoTStream 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /pkg/testsuite/logrus.go: -------------------------------------------------------------------------------- 1 | package testsuite 2 | 3 | import ( 4 | "testing" 5 | 6 | "github.com/sirupsen/logrus" 7 | ) 8 | 9 | type GlobalHook struct { 10 | T *testing.T 11 | TF func(t *testing.T, e *logrus.Entry) 12 | } 13 | 14 | func (h *GlobalHook) Levels() []logrus.Level { 15 | return logrus.AllLevels 16 | } 17 | 18 | func (h *GlobalHook) Fire(e *logrus.Entry) error { 19 | if h.TF != nil { 20 | h.TF(h.T, e) 21 | } 22 | 23 | return nil 24 | } 25 | 26 | func (h *GlobalHook) Cleanup() { 27 | logrus.StandardLogger().ReplaceHooks(make(logrus.LevelHooks)) 28 | } 29 | 30 | // NewGlobalHook creates a new GlobalHook for logrus testing 31 | func NewGlobalHook(t *testing.T, tf func(t *testing.T, e *logrus.Entry)) *GlobalHook { 32 | gh := &GlobalHook{ 33 | T: t, 34 | TF: tf, 35 | } 36 | logrus.SetReportCaller(true) 37 | logrus.AddHook(gh) 38 | return gh 39 | } 40 | -------------------------------------------------------------------------------- /docs/resources/ecs-cluster.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ECSCluster 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ECSCluster 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ARN`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/waf-web-acl.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # WAFWebACL 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | WAFWebACL 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/iot-ota-update.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IoTOTAUpdate 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IoTOTAUpdate 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/ops-works-app.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # OpsWorksApp 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | OpsWorksApp 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/sns-endpoint.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # SNSEndpoint 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | SNSEndpoint 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ARN`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/wafv2-web-acl.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # WAFv2WebACL 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | WAFv2WebACL 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/game-lift-queue.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # GameLiftQueue 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | GameLiftQueue 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `Name`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/iot-certificate.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IoTCertificate 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IoTCertificate 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/ops-works-layer.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # OpsWorksLayer 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | OpsWorksLayer 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/ssm-activation.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # SSMActivation 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | SSMActivation 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /resources/acm-pca-certificate-authority_mock_test.go: -------------------------------------------------------------------------------- 1 | package resources 2 | 3 | import ( 4 | "testing" 5 | 6 | "github.com/gotidy/ptr" 7 | "github.com/stretchr/testify/assert" 8 | 9 | "github.com/aws/aws-sdk-go/service/acmpca" //nolint:staticcheck 10 | ) 11 | 12 | func Test_Mock_ACMPCACertificateAuthority_Properties(t *testing.T) { 13 | r := &ACMPCACertificateAuthority{ 14 | ARN: ptr.String("certificateAuthorityARN"), 15 | Status: ptr.String("status"), 16 | Tags: []*acmpca.Tag{ 17 | { 18 | Key: ptr.String("key"), 19 | Value: ptr.String("value"), 20 | }, 21 | }, 22 | } 23 | 24 | properties := r.Properties() 25 | assert.Equal(t, "value", properties.Get("tag:key")) 26 | assert.Equal(t, "status", properties.Get("Status")) 27 | assert.Equal(t, "certificateAuthorityARN", properties.Get("ARN")) 28 | assert.Equal(t, "certificateAuthorityARN", r.String()) 29 | } 30 | -------------------------------------------------------------------------------- /resources/cloudfront-distribution_test.go: -------------------------------------------------------------------------------- 1 | package resources 2 | 3 | import ( 4 | "testing" 5 | "time" 6 | 7 | "github.com/gotidy/ptr" 8 | "github.com/stretchr/testify/assert" 9 | 10 | rtypes "github.com/aws/aws-sdk-go-v2/service/cloudfront/types" 11 | ) 12 | 13 | func Test_CloudFrontDistribution_Properties(t *testing.T) { 14 | now := time.Now().UTC() 15 | r := &CloudFrontDistribution{ 16 | ID: ptr.String("test-id"), 17 | Status: ptr.String("test-status"), 18 | LastModifiedTime: ptr.Time(now), 19 | Tags: []rtypes.Tag{ 20 | { 21 | Key: ptr.String("test-key"), 22 | Value: ptr.String("test-value"), 23 | }, 24 | }, 25 | } 26 | got := r.Properties() 27 | assert.Equal(t, "test-id", got.Get("ID")) 28 | assert.Equal(t, now.Format(time.RFC3339), got.Get("LastModifiedTime")) 29 | assert.Equal(t, "test-value", got.Get("tag:test-key")) 30 | } 31 | -------------------------------------------------------------------------------- /docs/resources/code-build-build.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CodeBuildBuild 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CodeBuildBuild 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/dax-subnet-group.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # DAXSubnetGroup 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | DAXSubnetGroup 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `Name`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/game-lift-fleet.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # GameLiftFleet 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | GameLiftFleet 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `FleetID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/media-live-input.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # MediaLiveInput 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | MediaLiveInput 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/transfer-web-app.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # TransferWebApp 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | TransferWebApp 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/waf-regional-rule.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # WAFRegionalRule 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | WAFRegionalRule 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/wafv2-rule-group.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # WAFv2RuleGroup 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | WAFv2RuleGroup 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/backup-report-plan.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # BackupReportPlan 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | BackupReportPlan 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `Name`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/global-accelerator.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # GlobalAccelerator 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | GlobalAccelerator 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ARN`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/iot-ca-certificate.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IoTCACertificate 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IoTCACertificate 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/media-live-channel.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # MediaLiveChannel 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | MediaLiveChannel 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/ops-works-cm-backup.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # OpsWorksCMBackup 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | OpsWorksCMBackup 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/ops-works-instance.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # OpsWorksInstance 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | OpsWorksInstance 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/ssm-patch-baseline.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # SSMPatchBaseline 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | SSMPatchBaseline 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/athena-data-catalog.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AthenaDataCatalog 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AthenaDataCatalog 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `Name`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/cloud-front-key-group.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CloudFrontKeyGroup 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CloudFrontKeyGroup 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/dax-parameter-group.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # DAXParameterGroup 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | DAXParameterGroup 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `Name`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/device-farm-project.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # DeviceFarmProject 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | DeviceFarmProject 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ARN`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/rekognition-dataset.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # RekognitionDataset 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | RekognitionDataset 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ARN`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/rekognition-project.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # RekognitionProject 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | RekognitionProject 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ARN`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/waf-regional-web-acl.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # WAFRegionalWebACL 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | WAFRegionalWebACL 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /resources/acm-pca-certificate-authority-state_mock_test.go: -------------------------------------------------------------------------------- 1 | package resources 2 | 3 | import ( 4 | "testing" 5 | 6 | "github.com/gotidy/ptr" 7 | "github.com/stretchr/testify/assert" 8 | 9 | "github.com/aws/aws-sdk-go/service/acmpca" //nolint:staticcheck 10 | ) 11 | 12 | func Test_Mock_ACMPCACertificateAuthorityState_Properties(t *testing.T) { 13 | r := &ACMPCACertificateAuthorityState{ 14 | ARN: ptr.String("certificateAuthorityARN"), 15 | Status: ptr.String("status"), 16 | Tags: []*acmpca.Tag{ 17 | { 18 | Key: ptr.String("key"), 19 | Value: ptr.String("value"), 20 | }, 21 | }, 22 | } 23 | 24 | properties := r.Properties() 25 | assert.Equal(t, "value", properties.Get("tag:key")) 26 | assert.Equal(t, "status", properties.Get("Status")) 27 | assert.Equal(t, "certificateAuthorityARN", properties.Get("ARN")) 28 | assert.Equal(t, "certificateAuthorityARN", r.String()) 29 | } 30 | -------------------------------------------------------------------------------- /docs/cli-examples.md: -------------------------------------------------------------------------------- 1 | # Examples 2 | 3 | ## Basic usage 4 | 5 | ```bash 6 | aws-nuke run --config config.yml 7 | ``` 8 | 9 | ## Using a profile 10 | 11 | !!! note 12 | This assumes you have configured your AWS credentials file with a profile named `my-profile`. 13 | 14 | ```bash 15 | aws-nuke run --config config.yml --profile my-profile 16 | ``` 17 | 18 | ## Using the prompt flags 19 | 20 | !!! note 21 | This used be called the `--force` flag. It has been renamed to `--no-prompt` to better reflect its purpose. 22 | 23 | !!! danger 24 | Running without prompts can be dangerous. Make sure you understand what you are doing before using these flags. 25 | 26 | The following is an example of how you automate the command to run without any prompts of the user. This is useful 27 | for running in a CI/CD pipeline. 28 | 29 | ```bash 30 | aws-nuke run --config config.yml --no-prompt --prompt-delay 5 31 | ``` -------------------------------------------------------------------------------- /docs/resources/app-sync-domain-name.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # AppSyncDomainName 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | AppSyncDomainName 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `DomainName`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/cloud-front-public-key.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CloudFrontPublicKey 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CloudFrontPublicKey 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/code-build-build-batch.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CodeBuildBuildBatch 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CodeBuildBuildBatch 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/code-pipeline-webhook.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # CodePipelineWebhook 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | CodePipelineWebhook 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `Name`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/ec2-vpc-endpoint.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # EC2VPCEndpoint 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | EC2VPCEndpoint 12 | ``` 13 | 14 | 15 | 16 | ### DependsOn 17 | 18 | !!! important - Experimental Feature 19 | This resource depends on a resource using the experimental feature. This means that the resource will 20 | only be deleted if all the resources of a particular type are deleted first or reach a terminal state. 21 | 22 | - [EC2VPCEndpointConnection](./ec2-vpc-endpoint-connection.md) 23 | - [EC2VPCEndpointServiceConfiguration](./ec2-vpc-endpoint-service-configuration.md) 24 | 25 | ## Deprecated Aliases 26 | 27 | !!! warning 28 | This resource has deprecated aliases associated with it. Deprecated Aliases will be removed in the next major 29 | release of aws-nuke. Please update your configuration to use the new resource name. 30 | 31 | - `EC2VpcEndpoint` -------------------------------------------------------------------------------- /docs/resources/iam-roles-anywhere-crl.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IAMRolesAnywhereCRL 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IAMRolesAnywhereCRL 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `CrlID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/media-package-channel.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # MediaPackageChannel 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | MediaPackageChannel 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/ops-works-user-profile.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # OpsWorksUserProfile 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | OpsWorksUserProfile 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ARN`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/ssm-maintenance-window.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # SSMMaintenanceWindow 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | SSMMaintenanceWindow 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/storage-gateway-volume.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # StorageGatewayVolume 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | StorageGatewayVolume 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ARN`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/waf-regional-rule-group.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # WAFRegionalRuleGroup 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | WAFRegionalRuleGroup 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /resources/iam-groups_mock_test.go: -------------------------------------------------------------------------------- 1 | package resources 2 | 3 | import ( 4 | "context" 5 | "testing" 6 | 7 | "github.com/golang/mock/gomock" 8 | "github.com/stretchr/testify/assert" 9 | 10 | "github.com/aws/aws-sdk-go/aws" //nolint:staticcheck 11 | "github.com/aws/aws-sdk-go/service/iam" //nolint:staticcheck 12 | 13 | "github.com/ekristen/aws-nuke/v3/mocks/mock_iamiface" 14 | ) 15 | 16 | func Test_Mock_IAMGroup_Remove(t *testing.T) { 17 | a := assert.New(t) 18 | ctrl := gomock.NewController(t) 19 | defer ctrl.Finish() 20 | 21 | mockIAM := mock_iamiface.NewMockIAMAPI(ctrl) 22 | 23 | iamGroup := IAMGroup{ 24 | svc: mockIAM, 25 | name: "foobar", 26 | } 27 | 28 | mockIAM.EXPECT().DeleteGroup(gomock.Eq(&iam.DeleteGroupInput{ 29 | GroupName: aws.String(iamGroup.name), 30 | })).Return(&iam.DeleteGroupOutput{}, nil) 31 | 32 | err := iamGroup.Remove(context.TODO()) 33 | a.Nil(err) 34 | } 35 | -------------------------------------------------------------------------------- /docs/resources/service-catalog-product.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ServiceCatalogProduct 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ServiceCatalogProduct 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/storage-gateway-gateway.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # StorageGatewayGateway 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | StorageGatewayGateway 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ARN`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/iot-site-wise-access-policy.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IoTSiteWiseAccessPolicy 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IoTSiteWiseAccessPolicy 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/iot-twin-maker-sync-job.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # IoTTwinMakerSyncJob 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | IoTTwinMakerSyncJob 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `WorkspaceID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/machine-learning-ml-model.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # MachineLearningMLModel 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | MachineLearningMLModel 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/service-catalog-portfolio.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ServiceCatalogPortfolio 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ServiceCatalogPortfolio 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/service-catalog-tag-option.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ServiceCatalogTagOption 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ServiceCatalogTagOption 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/service-discovery-service.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ServiceDiscoveryService 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ServiceDiscoveryService 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/sns-platform-application.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # SNSPlatformApplication 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | SNSPlatformApplication 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ARN`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/storage-gateway-file-share.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # StorageGatewayFileShare 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | StorageGatewayFileShare 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ARN`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /resources/ec2-dhcp-option_test.go: -------------------------------------------------------------------------------- 1 | package resources 2 | 3 | import ( 4 | "testing" 5 | 6 | "github.com/gotidy/ptr" 7 | "github.com/stretchr/testify/assert" 8 | ) 9 | 10 | func Test_EC2DHCPOption_Filter(t *testing.T) { 11 | cases := []struct { 12 | ownerID *string 13 | accountID *string 14 | filtered bool 15 | }{ 16 | { 17 | ownerID: ptr.String("123456789012"), 18 | accountID: ptr.String("123456789012"), 19 | filtered: false, 20 | }, 21 | { 22 | ownerID: ptr.String("123456789012"), 23 | accountID: ptr.String("123456789013"), 24 | filtered: true, 25 | }, 26 | } 27 | 28 | for _, c := range cases { 29 | r := EC2DHCPOption{ 30 | svc: nil, 31 | accountID: c.accountID, 32 | ownerID: c.ownerID, 33 | } 34 | 35 | err := r.Filter() 36 | 37 | if c.filtered { 38 | assert.Error(t, err) 39 | } else { 40 | assert.NoError(t, err) 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /docs/resources/elastic-transcoder-preset.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # ElasticTranscoderPreset 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | ElasticTranscoderPreset 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `PresetID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/global-accelerator-listener.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # GlobalAcceleratorListener 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | GlobalAcceleratorListener 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ARN`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | -------------------------------------------------------------------------------- /docs/resources/machine-learning-data-source.md: -------------------------------------------------------------------------------- 1 | --- 2 | generated: true 3 | --- 4 | 5 | # MachineLearningDataSource 6 | 7 | 8 | ## Resource 9 | 10 | ```text 11 | MachineLearningDataSource 12 | ``` 13 | 14 | ## Properties 15 | 16 | 17 | - `ID`: No Description 18 | 19 | !!! note - Using Properties 20 | Properties are what [Filters](../config-filtering.md) are written against in your configuration. You use the property 21 | names to write filters for what you want to **keep** and omit from the nuke process. 22 | 23 | ### String Property 24 | 25 | The string representation of a resource is generally the value of the Name, ID or ARN field of the resource. Not all 26 | resources support properties. To write a filter against the string representation, simply omit the `property` field in 27 | the filter. 28 | 29 | The string value is always what is used in the output of the log format when a resource is identified. 30 | 31 | --------------------------------------------------------------------------------