Package org.sonar.iac.terraform.checks
Class AbstractNewResourceCheck
- java.lang.Object
-
- org.sonar.iac.terraform.checks.AbstractNewResourceCheck
-
- All Implemented Interfaces:
IacCheck
- Direct Known Subclasses:
AppEngineHandlerCheck,AttributeBasedAccessControlCheck,AuditLogMemberExclusionCheck,AwsDisabledLoggingCheckPart,AwsPublicNetworkAccessCheckPart,AzureClearTextProtocolsCheckPart,AzureDisabledLoggingCheckPart,AzurePublicNetworkAccessCheckPart,AzureWeakSSLProtocolCheckPart,BucketsAccessCheck,ComputeInstanceSshKeysCheck,CryptoKeyRotationPeriodCheck,CustomRoleCheck,DatabaseIpConfigCheck,DisabledDBEncryptionCheck,DisabledEFSEncryptionCheck,DisabledESDomainEncryptionCheck,DisabledMfaBucketDeletionCheck,DisabledS3EncryptionCheck,DisabledSNSTopicEncryptionCheck,DnsZoneCheck,ExcessivePermissionsCheck,GcpClearTextProtocolsCheckPart,GcpDisabledLoggingCheckPart,GcpIpRestrictedAdminAccessCheckPart,GcpPrivilegePolicyCheckPart,GcpPublicNetworkAccessCheckPart,GcpWeakSSLProtocolCheckPart,HighPrivilegedRolesOnWorkloadResourcesCheck,LoadBalancerSslPolicyCheck,PrivilegeEscalationCheck,PublicAccessCheck,RoleBasedAccessControlCheck,ShortBackupRetentionCheck,ShortLogRetentionCheck,SubscriptionOwnerCapabilitiesCheck,UnencryptedCloudServicesCheck,UnencryptedEbsVolumeCheck,UnencryptedSageMakerNotebookCheck,UnencryptedSqsQueueCheck,UnversionedS3BucketCheck,UnversionedStorageBucketCheck
public abstract class AbstractNewResourceCheck extends Object implements IacCheck
-
-
Constructor Summary
Constructors Constructor Description AbstractNewResourceCheck()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidinitialize(InitContext init)static booleanisDataOfType(BlockTree blockTree, String dataType)If needed - add similar method isResourceOfType(BlockTree blockTree, String dataType)static booleanisResource(BlockTree blockTree)If needed - add similar method isData(BlockTree blockTree)protected voidprovideResource(CheckContext ctx, BlockTree blockTree)protected voidregister(String resourceName, Consumer<ResourceSymbol> consumer)protected voidregister(Collection<String> resourceNames, Consumer<ResourceSymbol> consumer)protected abstract voidregisterResourceConsumer()static StringresourceType(BlockTree tree)Despite its name, this method works fine for 'resource', 'data' and all other sorts of Terraform top-level blocks
-
-
-
Method Detail
-
initialize
public void initialize(InitContext init)
- Specified by:
initializein interfaceIacCheck
-
registerResourceConsumer
protected abstract void registerResourceConsumer()
-
provideResource
protected void provideResource(CheckContext ctx, BlockTree blockTree)
-
register
protected void register(String resourceName, Consumer<ResourceSymbol> consumer)
-
register
protected void register(Collection<String> resourceNames, Consumer<ResourceSymbol> consumer)
-
isResource
public static boolean isResource(BlockTree blockTree)
If needed - add similar method isData(BlockTree blockTree)
-
isDataOfType
public static boolean isDataOfType(BlockTree blockTree, String dataType)
If needed - add similar method isResourceOfType(BlockTree blockTree, String dataType)
-
-