diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..f3d24b3 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,22 @@ +name: build + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Setup Java JDK + uses: actions/setup-java@v2.1.0 + with: + java-version: 11 + distribution: zulu + - name: Build + run: ./gradlew build diff --git a/README.md b/README.md index 4532b58..658e16b 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,11 @@ # Cloud Property Graph (CloudPG) +[![build](https://github.com/clouditor/cloud-property-graph/actions/workflows/build.yml/badge.svg)](https://github.com/clouditor/cloud-property-graph/actions/workflows/build.yml) +![GitHub last commit](https://img.shields.io/github/last-commit/clouditor/cloud-property-graph) +![GitHub](https://img.shields.io/github/license/clouditor/cloud-property-graph) +[![](https://jitpack.io/v/clouditor/cloud-property-graph.svg)](https://jitpack.io/#clouditor/cloud-property-graph) + + The Cloud Property Graph is based on a Code Property Graph and tries to connect static code analysis and Cloud runtime assessment. It is based on the [CPG](https://github.com/Fraunhofer-AISEC/cpg) project by Fraunhofer AISEC. We aim to contribute certain parts of this project back to the upstream repo, once they are more matured. Furthermore, we plan to integrate a Go-based version of the CloudPG into our main Cloud assessment tool, [Clouditor](https://github.com/clouditor/clouditor). diff --git a/generated/main/java/io/clouditor/graph/ABAC.java b/generated/main/java/io/clouditor/graph/ABAC.java new file mode 100644 index 0000000..fe44811 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/ABAC.java @@ -0,0 +1,10 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class ABAC extends Authorization { + + public ABAC() { + super(); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/AccessRestriction.java b/generated/main/java/io/clouditor/graph/AccessRestriction.java new file mode 100644 index 0000000..d508758 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/AccessRestriction.java @@ -0,0 +1,31 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class AccessRestriction extends Authorization { + + protected boolean inbound; + protected String restrictedPorts; + + public AccessRestriction(boolean inbound, String restrictedPorts) { + super(); + setInbound(inbound); + setRestrictedPorts(restrictedPorts); + } + + public boolean isInbound() { + return inbound; + } + + public void setInbound(boolean inbound) { + this.inbound = inbound; + } + + public String getRestrictedPorts() { + return restrictedPorts; + } + + public void setRestrictedPorts(String restrictedPorts) { + this.restrictedPorts = restrictedPorts; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/Account.java b/generated/main/java/io/clouditor/graph/Account.java new file mode 100644 index 0000000..321e4b8 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/Account.java @@ -0,0 +1,12 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class Account extends CloudResource { + + public Account(GeoLocation geoLocation, Map labels) { + super(geoLocation, labels); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/Application.java b/generated/main/java/io/clouditor/graph/Application.java new file mode 100644 index 0000000..84b0b9c --- /dev/null +++ b/generated/main/java/io/clouditor/graph/Application.java @@ -0,0 +1,53 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.List; +import de.fraunhofer.aisec.cpg.graph.declarations.TranslationUnitDeclaration; + +public class Application extends Node { + + protected List functionalitys; + protected List runsOn; + protected List translationUnits; + protected String programmingLanguage; + + public Application(List functionalitys, List runsOn, + List translationUnits, String programmingLanguage) { + setFunctionalitys(functionalitys); + setRunsOn(runsOn); + setTranslationUnits(translationUnits); + setProgrammingLanguage(programmingLanguage); + } + + public List getFunctionalitys() { + return functionalitys; + } + + public void setFunctionalitys(List functionalitys) { + this.functionalitys = functionalitys; + } + + public List getRunsOn() { + return runsOn; + } + + public void setRunsOn(List runsOn) { + this.runsOn = runsOn; + } + + public List getTranslationUnits() { + return translationUnits; + } + + public void setTranslationUnits(List translationUnits) { + this.translationUnits = translationUnits; + } + + public String getProgrammingLanguage() { + return programmingLanguage; + } + + public void setProgrammingLanguage(String programmingLanguage) { + this.programmingLanguage = programmingLanguage; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/AtRestEncryption.java b/generated/main/java/io/clouditor/graph/AtRestEncryption.java new file mode 100644 index 0000000..a449135 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/AtRestEncryption.java @@ -0,0 +1,31 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class AtRestEncryption extends Confidentiality { + + protected String algorithm; + protected String keymanager; + + public AtRestEncryption(String algorithm, String keymanager) { + super(); + setAlgorithm(algorithm); + setKeymanager(keymanager); + } + + public String getAlgorithm() { + return algorithm; + } + + public void setAlgorithm(String algorithm) { + this.algorithm = algorithm; + } + + public String getKeymanager() { + return keymanager; + } + + public void setKeymanager(String keymanager) { + this.keymanager = keymanager; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/Auditing.java b/generated/main/java/io/clouditor/graph/Auditing.java new file mode 100644 index 0000000..2eda7d1 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/Auditing.java @@ -0,0 +1,10 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class Auditing extends SecurityFeature { + + public Auditing() { + super(); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/Authenticity.java b/generated/main/java/io/clouditor/graph/Authenticity.java new file mode 100644 index 0000000..7dbecfa --- /dev/null +++ b/generated/main/java/io/clouditor/graph/Authenticity.java @@ -0,0 +1,10 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class Authenticity extends SecurityFeature { + + public Authenticity() { + super(); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/Authorization.java b/generated/main/java/io/clouditor/graph/Authorization.java new file mode 100644 index 0000000..eb7df62 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/Authorization.java @@ -0,0 +1,10 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class Authorization extends SecurityFeature { + + public Authorization() { + super(); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/Availability.java b/generated/main/java/io/clouditor/graph/Availability.java new file mode 100644 index 0000000..11b7736 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/Availability.java @@ -0,0 +1,10 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class Availability extends SecurityFeature { + + public Availability() { + super(); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/Backup.java b/generated/main/java/io/clouditor/graph/Backup.java new file mode 100644 index 0000000..e201d3c --- /dev/null +++ b/generated/main/java/io/clouditor/graph/Backup.java @@ -0,0 +1,31 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class Backup extends Availability { + + protected String policy; + protected boolean activated; + + public Backup(String policy, boolean activated) { + super(); + setPolicy(policy); + setActivated(activated); + } + + public String getPolicy() { + return policy; + } + + public void setPolicy(String policy) { + this.policy = policy; + } + + public boolean isActivated() { + return activated; + } + + public void setActivated(boolean activated) { + this.activated = activated; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/BlockStorage.java b/generated/main/java/io/clouditor/graph/BlockStorage.java new file mode 100644 index 0000000..90bcb58 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/BlockStorage.java @@ -0,0 +1,12 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class BlockStorage extends Storage { + + public BlockStorage(AtRestEncryption atRestEncryption, GeoLocation geoLocation, Map labels) { + super(atRestEncryption, geoLocation, labels); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/CICDService.java b/generated/main/java/io/clouditor/graph/CICDService.java new file mode 100644 index 0000000..1cc1253 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/CICDService.java @@ -0,0 +1,12 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class CICDService extends CloudResource { + + public CICDService(GeoLocation geoLocation, Map labels) { + super(geoLocation, labels); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/CertificateBasedAuthentication.java b/generated/main/java/io/clouditor/graph/CertificateBasedAuthentication.java new file mode 100644 index 0000000..b86d399 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/CertificateBasedAuthentication.java @@ -0,0 +1,10 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class CertificateBasedAuthentication extends Authenticity { + + public CertificateBasedAuthentication() { + super(); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/CloudResource.java b/generated/main/java/io/clouditor/graph/CloudResource.java new file mode 100644 index 0000000..ff645be --- /dev/null +++ b/generated/main/java/io/clouditor/graph/CloudResource.java @@ -0,0 +1,33 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class CloudResource extends Node { + + protected GeoLocation geoLocation; + @Transient + protected Map labels; + + public CloudResource(GeoLocation geoLocation, Map labels) { + setGeoLocation(geoLocation); + setLabels(labels); + } + + public GeoLocation getGeoLocation() { + return geoLocation; + } + + public void setGeoLocation(GeoLocation geoLocation) { + this.geoLocation = geoLocation; + } + + public Map getLabels() { + return labels; + } + + public void setLabels(Map labels) { + this.labels = labels; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/CloudResourceGroup.java b/generated/main/java/io/clouditor/graph/CloudResourceGroup.java new file mode 100644 index 0000000..c22056f --- /dev/null +++ b/generated/main/java/io/clouditor/graph/CloudResourceGroup.java @@ -0,0 +1,21 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.List; + +public class CloudResourceGroup extends Node { + + protected List collectionOf; + + public CloudResourceGroup(List collectionOf) { + setCollectionOf(collectionOf); + } + + public List getCollectionOf() { + return collectionOf; + } + + public void setCollectionOf(List collectionOf) { + this.collectionOf = collectionOf; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/CloudSDK.java b/generated/main/java/io/clouditor/graph/CloudSDK.java new file mode 100644 index 0000000..40d0a54 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/CloudSDK.java @@ -0,0 +1,10 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class CloudSDK extends Framework { + + public CloudSDK() { + super(); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/Compute.java b/generated/main/java/io/clouditor/graph/Compute.java new file mode 100644 index 0000000..6a280af --- /dev/null +++ b/generated/main/java/io/clouditor/graph/Compute.java @@ -0,0 +1,12 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class Compute extends CloudResource { + + public Compute(GeoLocation geoLocation, Map labels) { + super(geoLocation, labels); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/Confidentiality.java b/generated/main/java/io/clouditor/graph/Confidentiality.java new file mode 100644 index 0000000..5368492 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/Confidentiality.java @@ -0,0 +1,10 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class Confidentiality extends SecurityFeature { + + public Confidentiality() { + super(); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/Container.java b/generated/main/java/io/clouditor/graph/Container.java new file mode 100644 index 0000000..0262c0e --- /dev/null +++ b/generated/main/java/io/clouditor/graph/Container.java @@ -0,0 +1,23 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class Container extends Compute { + + protected Image image; + + public Container(Image image, GeoLocation geoLocation, Map labels) { + super(geoLocation, labels); + setImage(image); + } + + public Image getImage() { + return image; + } + + public void setImage(Image image) { + this.image = image; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/ContainerImage.java b/generated/main/java/io/clouditor/graph/ContainerImage.java new file mode 100644 index 0000000..365e5bf --- /dev/null +++ b/generated/main/java/io/clouditor/graph/ContainerImage.java @@ -0,0 +1,12 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class ContainerImage extends Image { + + public ContainerImage(Application application, GeoLocation geoLocation, Map labels) { + super(application, geoLocation, labels); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/ContainerOrchestration.java b/generated/main/java/io/clouditor/graph/ContainerOrchestration.java new file mode 100644 index 0000000..8e2ddb2 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/ContainerOrchestration.java @@ -0,0 +1,45 @@ +package io.clouditor.graph; + +import java.util.List; +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class ContainerOrchestration extends CloudResource { + + protected ResourceLogging resourceLogging; + protected List containers; + protected String managementUrl; + + public ContainerOrchestration(ResourceLogging resourceLogging, List containers, String managementUrl, + GeoLocation geoLocation, Map labels) { + super(geoLocation, labels); + setResourceLogging(resourceLogging); + setContainers(containers); + setManagementUrl(managementUrl); + } + + public ResourceLogging getResourceLogging() { + return resourceLogging; + } + + public void setResourceLogging(ResourceLogging resourceLogging) { + this.resourceLogging = resourceLogging; + } + + public List getContainers() { + return containers; + } + + public void setContainers(List containers) { + this.containers = containers; + } + + public String getManagementUrl() { + return managementUrl; + } + + public void setManagementUrl(String managementUrl) { + this.managementUrl = managementUrl; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/ContainerRegistry.java b/generated/main/java/io/clouditor/graph/ContainerRegistry.java new file mode 100644 index 0000000..366bcfb --- /dev/null +++ b/generated/main/java/io/clouditor/graph/ContainerRegistry.java @@ -0,0 +1,12 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class ContainerRegistry extends CloudResource { + + public ContainerRegistry(GeoLocation geoLocation, Map labels) { + super(geoLocation, labels); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/CustomerKeyEncryption.java b/generated/main/java/io/clouditor/graph/CustomerKeyEncryption.java new file mode 100644 index 0000000..de028c8 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/CustomerKeyEncryption.java @@ -0,0 +1,21 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class CustomerKeyEncryption extends AtRestEncryption { + + protected String keyUrl; + + public CustomerKeyEncryption(String keyUrl, String algorithm, String keymanager) { + super(algorithm, keymanager); + setKeyUrl(keyUrl); + } + + public String getKeyUrl() { + return keyUrl; + } + + public void setKeyUrl(String keyUrl) { + this.keyUrl = keyUrl; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/DDoSProtection.java b/generated/main/java/io/clouditor/graph/DDoSProtection.java new file mode 100644 index 0000000..81b56e0 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/DDoSProtection.java @@ -0,0 +1,10 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class DDoSProtection extends Availability { + + public DDoSProtection() { + super(); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/DatabaseService.java b/generated/main/java/io/clouditor/graph/DatabaseService.java new file mode 100644 index 0000000..6d6a98a --- /dev/null +++ b/generated/main/java/io/clouditor/graph/DatabaseService.java @@ -0,0 +1,12 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class DatabaseService extends CloudResource { + + public DatabaseService(GeoLocation geoLocation, Map labels) { + super(geoLocation, labels); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/DeviceProvisioningService.java b/generated/main/java/io/clouditor/graph/DeviceProvisioningService.java new file mode 100644 index 0000000..582226a --- /dev/null +++ b/generated/main/java/io/clouditor/graph/DeviceProvisioningService.java @@ -0,0 +1,12 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class DeviceProvisioningService extends IoT { + + public DeviceProvisioningService(GeoLocation geoLocation, Map labels) { + super(geoLocation, labels); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/FileStorage.java b/generated/main/java/io/clouditor/graph/FileStorage.java new file mode 100644 index 0000000..eb66697 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/FileStorage.java @@ -0,0 +1,12 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class FileStorage extends Storage { + + public FileStorage(AtRestEncryption atRestEncryption, GeoLocation geoLocation, Map labels) { + super(atRestEncryption, geoLocation, labels); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/Framework.java b/generated/main/java/io/clouditor/graph/Framework.java new file mode 100644 index 0000000..76287d4 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/Framework.java @@ -0,0 +1,9 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class Framework extends Node { + + public Framework() { + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/Function.java b/generated/main/java/io/clouditor/graph/Function.java new file mode 100644 index 0000000..de71c5e --- /dev/null +++ b/generated/main/java/io/clouditor/graph/Function.java @@ -0,0 +1,12 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class Function extends Compute { + + public Function(GeoLocation geoLocation, Map labels) { + super(geoLocation, labels); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/Functionality.java b/generated/main/java/io/clouditor/graph/Functionality.java new file mode 100644 index 0000000..f40a497 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/Functionality.java @@ -0,0 +1,9 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class Functionality extends Node { + + public Functionality() { + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/GeoLocation.java b/generated/main/java/io/clouditor/graph/GeoLocation.java new file mode 100644 index 0000000..21fa3b8 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/GeoLocation.java @@ -0,0 +1,21 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class GeoLocation extends Availability { + + protected String region; + + public GeoLocation(String region) { + super(); + setRegion(region); + } + + public String getRegion() { + return region; + } + + public void setRegion(String region) { + this.region = region; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/HttpClientLibrary.java b/generated/main/java/io/clouditor/graph/HttpClientLibrary.java new file mode 100644 index 0000000..a3eaf20 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/HttpClientLibrary.java @@ -0,0 +1,10 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class HttpClientLibrary extends Framework { + + public HttpClientLibrary() { + super(); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/HttpEndpoint.java b/generated/main/java/io/clouditor/graph/HttpEndpoint.java new file mode 100644 index 0000000..6ba3b00 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/HttpEndpoint.java @@ -0,0 +1,73 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.declarations.FunctionDeclaration; +import de.fraunhofer.aisec.cpg.graph.Node; + +public class HttpEndpoint extends Functionality { + + protected Authenticity authenticity; + protected TransportEncryption transportEncryption; + protected String path; + protected String url; + protected String method; + protected FunctionDeclaration handler; + + public HttpEndpoint(Authenticity authenticity, TransportEncryption transportEncryption, String path, String url, + String method, FunctionDeclaration handler) { + super(); + setAuthenticity(authenticity); + setTransportEncryption(transportEncryption); + setPath(path); + setUrl(url); + setMethod(method); + setHandler(handler); + } + + public Authenticity getAuthenticity() { + return authenticity; + } + + public void setAuthenticity(Authenticity authenticity) { + this.authenticity = authenticity; + } + + public TransportEncryption getTransportEncryption() { + return transportEncryption; + } + + public void setTransportEncryption(TransportEncryption transportEncryption) { + this.transportEncryption = transportEncryption; + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getMethod() { + return method; + } + + public void setMethod(String method) { + this.method = method; + } + + public FunctionDeclaration getHandler() { + return handler; + } + + public void setHandler(FunctionDeclaration handler) { + this.handler = handler; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/HttpRequest.java b/generated/main/java/io/clouditor/graph/HttpRequest.java new file mode 100644 index 0000000..82bc373 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/HttpRequest.java @@ -0,0 +1,31 @@ +package io.clouditor.graph; + +import java.util.List; +import de.fraunhofer.aisec.cpg.graph.statements.expressions.CallExpression; + +public class HttpRequest extends Functionality { + + protected List to; + protected CallExpression call; + + public HttpRequest(List to, CallExpression call) { + setTo(to); + setCall(call); + } + + public List getTo() { + return to; + } + + public void setTo(List to) { + this.to = to; + } + + public CallExpression getCall() { + return call; + } + + public void setCall(CallExpression call) { + this.call = call; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/HttpRequestHandler.java b/generated/main/java/io/clouditor/graph/HttpRequestHandler.java new file mode 100644 index 0000000..c70f821 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/HttpRequestHandler.java @@ -0,0 +1,42 @@ +package io.clouditor.graph; + +import java.util.List; +import de.fraunhofer.aisec.cpg.graph.Node; + +public class HttpRequestHandler extends Functionality { + + protected List httpEndpoints; + protected Application application; + protected String path; + + public HttpRequestHandler(List httpEndpoints, Application application, String path) { + super(); + setHttpEndpoints(httpEndpoints); + setApplication(application); + setPath(path); + } + + public List getHttpEndpoints() { + return httpEndpoints; + } + + public void setHttpEndpoints(List httpEndpoints) { + this.httpEndpoints = httpEndpoints; + } + + public Application getApplication() { + return application; + } + + public void setApplication(Application application) { + this.application = application; + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/HttpServer.java b/generated/main/java/io/clouditor/graph/HttpServer.java new file mode 100644 index 0000000..5750e4f --- /dev/null +++ b/generated/main/java/io/clouditor/graph/HttpServer.java @@ -0,0 +1,21 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class HttpServer extends Framework { + + protected HttpRequestHandler httpRequestHandler; + + public HttpServer(HttpRequestHandler httpRequestHandler) { + super(); + setHttpRequestHandler(httpRequestHandler); + } + + public HttpRequestHandler getHttpRequestHandler() { + return httpRequestHandler; + } + + public void setHttpRequestHandler(HttpRequestHandler httpRequestHandler) { + this.httpRequestHandler = httpRequestHandler; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/Identity.java b/generated/main/java/io/clouditor/graph/Identity.java new file mode 100644 index 0000000..1fd1857 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/Identity.java @@ -0,0 +1,35 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class Identity extends IdentityManagement { + + protected PasswordBasedAuthentication passwordBasedAuthentication; + protected OTPBasedAuthentication oTPBasedAuthentication; + + public Identity(PasswordBasedAuthentication passwordBasedAuthentication, + OTPBasedAuthentication oTPBasedAuthentication, Authorization authorization, Authenticity authenticity, + GeoLocation geoLocation, Map labels) { + super(authorization, authenticity, geoLocation, labels); + setPasswordBasedAuthentication(passwordBasedAuthentication); + setOTPBasedAuthentication(oTPBasedAuthentication); + } + + public PasswordBasedAuthentication getPasswordBasedAuthentication() { + return passwordBasedAuthentication; + } + + public void setPasswordBasedAuthentication(PasswordBasedAuthentication passwordBasedAuthentication) { + this.passwordBasedAuthentication = passwordBasedAuthentication; + } + + public OTPBasedAuthentication getOTPBasedAuthentication() { + return oTPBasedAuthentication; + } + + public void setOTPBasedAuthentication(OTPBasedAuthentication oTPBasedAuthentication) { + this.oTPBasedAuthentication = oTPBasedAuthentication; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/IdentityManagement.java b/generated/main/java/io/clouditor/graph/IdentityManagement.java new file mode 100644 index 0000000..0f9b42d --- /dev/null +++ b/generated/main/java/io/clouditor/graph/IdentityManagement.java @@ -0,0 +1,34 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class IdentityManagement extends CloudResource { + + protected Authorization authorization; + protected Authenticity authenticity; + + public IdentityManagement(Authorization authorization, Authenticity authenticity, GeoLocation geoLocation, + Map labels) { + super(geoLocation, labels); + setAuthorization(authorization); + setAuthenticity(authenticity); + } + + public Authorization getAuthorization() { + return authorization; + } + + public void setAuthorization(Authorization authorization) { + this.authorization = authorization; + } + + public Authenticity getAuthenticity() { + return authenticity; + } + + public void setAuthenticity(Authenticity authenticity) { + this.authenticity = authenticity; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/Image.java b/generated/main/java/io/clouditor/graph/Image.java new file mode 100644 index 0000000..4e676a8 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/Image.java @@ -0,0 +1,23 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class Image extends CloudResource { + + protected Application application; + + public Image(Application application, GeoLocation geoLocation, Map labels) { + super(geoLocation, labels); + setApplication(application); + } + + public Application getApplication() { + return application; + } + + public void setApplication(Application application) { + this.application = application; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/Immutability.java b/generated/main/java/io/clouditor/graph/Immutability.java new file mode 100644 index 0000000..658908b --- /dev/null +++ b/generated/main/java/io/clouditor/graph/Immutability.java @@ -0,0 +1,10 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class Immutability extends Integrity { + + public Immutability() { + super(); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/InfrastructureLogging.java b/generated/main/java/io/clouditor/graph/InfrastructureLogging.java new file mode 100644 index 0000000..1d546bb --- /dev/null +++ b/generated/main/java/io/clouditor/graph/InfrastructureLogging.java @@ -0,0 +1,12 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class InfrastructureLogging extends Logging { + + public InfrastructureLogging(GeoLocation geoLocation, Map labels) { + super(geoLocation, labels); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/Integrity.java b/generated/main/java/io/clouditor/graph/Integrity.java new file mode 100644 index 0000000..f317542 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/Integrity.java @@ -0,0 +1,10 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class Integrity extends SecurityFeature { + + public Integrity() { + super(); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/IoT.java b/generated/main/java/io/clouditor/graph/IoT.java new file mode 100644 index 0000000..ab062ab --- /dev/null +++ b/generated/main/java/io/clouditor/graph/IoT.java @@ -0,0 +1,12 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class IoT extends CloudResource { + + public IoT(GeoLocation geoLocation, Map labels) { + super(geoLocation, labels); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/Job.java b/generated/main/java/io/clouditor/graph/Job.java new file mode 100644 index 0000000..7d0c048 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/Job.java @@ -0,0 +1,12 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class Job extends CICDService { + + public Job(GeoLocation geoLocation, Map labels) { + super(geoLocation, labels); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/KeyValueDB.java b/generated/main/java/io/clouditor/graph/KeyValueDB.java new file mode 100644 index 0000000..261f50c --- /dev/null +++ b/generated/main/java/io/clouditor/graph/KeyValueDB.java @@ -0,0 +1,12 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class KeyValueDB extends KeyValueDatabaseService { + + public KeyValueDB(GeoLocation geoLocation, Map labels) { + super(geoLocation, labels); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/KeyValueDatabaseService.java b/generated/main/java/io/clouditor/graph/KeyValueDatabaseService.java new file mode 100644 index 0000000..9b7c61c --- /dev/null +++ b/generated/main/java/io/clouditor/graph/KeyValueDatabaseService.java @@ -0,0 +1,12 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class KeyValueDatabaseService extends DatabaseService { + + public KeyValueDatabaseService(GeoLocation geoLocation, Map labels) { + super(geoLocation, labels); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/LoadBalancer.java b/generated/main/java/io/clouditor/graph/LoadBalancer.java new file mode 100644 index 0000000..503ad18 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/LoadBalancer.java @@ -0,0 +1,55 @@ +package io.clouditor.graph; + +import java.util.List; +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class LoadBalancer extends Compute { + + protected HttpEndpoint httpEndpoint; + protected List backend; + protected AccessRestriction accessRestriction; + protected String url; + + public LoadBalancer(HttpEndpoint httpEndpoint, List backend, AccessRestriction accessRestriction, + String url, GeoLocation geoLocation, Map labels) { + super(geoLocation, labels); + setHttpEndpoint(httpEndpoint); + setBackend(backend); + setAccessRestriction(accessRestriction); + setUrl(url); + } + + public HttpEndpoint getHttpEndpoint() { + return httpEndpoint; + } + + public void setHttpEndpoint(HttpEndpoint httpEndpoint) { + this.httpEndpoint = httpEndpoint; + } + + public List getBackend() { + return backend; + } + + public void setBackend(List backend) { + this.backend = backend; + } + + public AccessRestriction getAccessRestriction() { + return accessRestriction; + } + + public void setAccessRestriction(AccessRestriction accessRestriction) { + this.accessRestriction = accessRestriction; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/Log.java b/generated/main/java/io/clouditor/graph/Log.java new file mode 100644 index 0000000..f23545f --- /dev/null +++ b/generated/main/java/io/clouditor/graph/Log.java @@ -0,0 +1,21 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class Log extends Auditing { + + protected boolean activated; + + public Log(boolean activated) { + super(); + setActivated(activated); + } + + public boolean isActivated() { + return activated; + } + + public void setActivated(boolean activated) { + this.activated = activated; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/LogOutput.java b/generated/main/java/io/clouditor/graph/LogOutput.java new file mode 100644 index 0000000..c5c2392 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/LogOutput.java @@ -0,0 +1,44 @@ +package io.clouditor.graph; + +import java.util.List; +import de.fraunhofer.aisec.cpg.graph.statements.expressions.Expression; +import de.fraunhofer.aisec.cpg.graph.statements.expressions.CallExpression; +import de.fraunhofer.aisec.cpg.graph.Node; + +public class LogOutput extends Functionality { + + protected List to; + protected Expression value; + protected CallExpression call; + + public LogOutput(List to, Expression value, CallExpression call) { + super(); + setTo(to); + setValue(value); + setCall(call); + } + + public List getTo() { + return to; + } + + public void setTo(List to) { + this.to = to; + } + + public Expression getValue() { + return value; + } + + public void setValue(Expression value) { + this.value = value; + } + + public CallExpression getCall() { + return call; + } + + public void setCall(CallExpression call) { + this.call = call; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/Logger.java b/generated/main/java/io/clouditor/graph/Logger.java new file mode 100644 index 0000000..ce6b064 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/Logger.java @@ -0,0 +1,10 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class Logger extends Framework { + + public Logger() { + super(); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/Logging.java b/generated/main/java/io/clouditor/graph/Logging.java new file mode 100644 index 0000000..4874df2 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/Logging.java @@ -0,0 +1,12 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class Logging extends CloudResource { + + public Logging(GeoLocation geoLocation, Map labels) { + super(geoLocation, labels); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/ManagedKeyEncryption.java b/generated/main/java/io/clouditor/graph/ManagedKeyEncryption.java new file mode 100644 index 0000000..36a14d8 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/ManagedKeyEncryption.java @@ -0,0 +1,10 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class ManagedKeyEncryption extends AtRestEncryption { + + public ManagedKeyEncryption(String algorithm, String keymanager) { + super(algorithm, keymanager); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/MessagingHub.java b/generated/main/java/io/clouditor/graph/MessagingHub.java new file mode 100644 index 0000000..ab61c1a --- /dev/null +++ b/generated/main/java/io/clouditor/graph/MessagingHub.java @@ -0,0 +1,12 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class MessagingHub extends IoT { + + public MessagingHub(GeoLocation geoLocation, Map labels) { + super(geoLocation, labels); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/NetworkInterface.java b/generated/main/java/io/clouditor/graph/NetworkInterface.java new file mode 100644 index 0000000..d65daea --- /dev/null +++ b/generated/main/java/io/clouditor/graph/NetworkInterface.java @@ -0,0 +1,34 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class NetworkInterface extends Compute { + + protected AccessRestriction accessRestriction; + protected NetworkService networkService; + + public NetworkInterface(AccessRestriction accessRestriction, NetworkService networkService, GeoLocation geoLocation, + Map labels) { + super(geoLocation, labels); + setAccessRestriction(accessRestriction); + setNetworkService(networkService); + } + + public AccessRestriction getAccessRestriction() { + return accessRestriction; + } + + public void setAccessRestriction(AccessRestriction accessRestriction) { + this.accessRestriction = accessRestriction; + } + + public NetworkService getNetworkService() { + return networkService; + } + + public void setNetworkService(NetworkService networkService) { + this.networkService = networkService; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/NetworkSecurityGroup.java b/generated/main/java/io/clouditor/graph/NetworkSecurityGroup.java new file mode 100644 index 0000000..6e94e45 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/NetworkSecurityGroup.java @@ -0,0 +1,12 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class NetworkSecurityGroup extends Networking { + + public NetworkSecurityGroup(GeoLocation geoLocation, Map labels) { + super(geoLocation, labels); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/NetworkService.java b/generated/main/java/io/clouditor/graph/NetworkService.java new file mode 100644 index 0000000..7856bfa --- /dev/null +++ b/generated/main/java/io/clouditor/graph/NetworkService.java @@ -0,0 +1,45 @@ +package io.clouditor.graph; + +import java.util.ArrayList; +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class NetworkService extends Networking { + + protected Compute compute; + protected ArrayList ips; + protected ArrayList ports; + + public NetworkService(Compute compute, ArrayList ips, ArrayList ports, GeoLocation geoLocation, + Map labels) { + super(geoLocation, labels); + setCompute(compute); + setIps(ips); + setPorts(ports); + } + + public Compute getCompute() { + return compute; + } + + public void setCompute(Compute compute) { + this.compute = compute; + } + + public ArrayList getIps() { + return ips; + } + + public void setIps(ArrayList ips) { + this.ips = ips; + } + + public ArrayList getPorts() { + return ports; + } + + public void setPorts(ArrayList ports) { + this.ports = ports; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/Networking.java b/generated/main/java/io/clouditor/graph/Networking.java new file mode 100644 index 0000000..dbea89a --- /dev/null +++ b/generated/main/java/io/clouditor/graph/Networking.java @@ -0,0 +1,12 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class Networking extends CloudResource { + + public Networking(GeoLocation geoLocation, Map labels) { + super(geoLocation, labels); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/NoAuthentication.java b/generated/main/java/io/clouditor/graph/NoAuthentication.java new file mode 100644 index 0000000..583ad80 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/NoAuthentication.java @@ -0,0 +1,10 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class NoAuthentication extends Authenticity { + + public NoAuthentication() { + super(); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/NonRepudiation.java b/generated/main/java/io/clouditor/graph/NonRepudiation.java new file mode 100644 index 0000000..2b054b1 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/NonRepudiation.java @@ -0,0 +1,10 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class NonRepudiation extends SecurityFeature { + + public NonRepudiation() { + super(); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/OTPBasedAuthentication.java b/generated/main/java/io/clouditor/graph/OTPBasedAuthentication.java new file mode 100644 index 0000000..35c5415 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/OTPBasedAuthentication.java @@ -0,0 +1,21 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class OTPBasedAuthentication extends Authenticity { + + protected boolean activated; + + public OTPBasedAuthentication(boolean activated) { + super(); + setActivated(activated); + } + + public boolean isActivated() { + return activated; + } + + public void setActivated(boolean activated) { + this.activated = activated; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/ObjectStorage.java b/generated/main/java/io/clouditor/graph/ObjectStorage.java new file mode 100644 index 0000000..fc3378b --- /dev/null +++ b/generated/main/java/io/clouditor/graph/ObjectStorage.java @@ -0,0 +1,24 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class ObjectStorage extends Storage { + + protected HttpEndpoint httpEndpoint; + + public ObjectStorage(HttpEndpoint httpEndpoint, AtRestEncryption atRestEncryption, GeoLocation geoLocation, + Map labels) { + super(atRestEncryption, geoLocation, labels); + setHttpEndpoint(httpEndpoint); + } + + public HttpEndpoint getHttpEndpoint() { + return httpEndpoint; + } + + public void setHttpEndpoint(HttpEndpoint httpEndpoint) { + this.httpEndpoint = httpEndpoint; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/ObjectStorageRequest.java b/generated/main/java/io/clouditor/graph/ObjectStorageRequest.java new file mode 100644 index 0000000..095e7ce --- /dev/null +++ b/generated/main/java/io/clouditor/graph/ObjectStorageRequest.java @@ -0,0 +1,42 @@ +package io.clouditor.graph; + +import java.util.List; +import de.fraunhofer.aisec.cpg.graph.Node; + +public class ObjectStorageRequest extends Functionality { + + protected List to; + protected Node source; + protected String type; + + public ObjectStorageRequest(List to, Node source, String type) { + super(); + setTo(to); + setSource(source); + setType(type); + } + + public List getTo() { + return to; + } + + public void setTo(List to) { + this.to = to; + } + + public Node getSource() { + return source; + } + + public void setSource(Node source) { + this.source = source; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/PasswordBasedAuthentication.java b/generated/main/java/io/clouditor/graph/PasswordBasedAuthentication.java new file mode 100644 index 0000000..a3abe9a --- /dev/null +++ b/generated/main/java/io/clouditor/graph/PasswordBasedAuthentication.java @@ -0,0 +1,21 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class PasswordBasedAuthentication extends Authenticity { + + protected boolean activated; + + public PasswordBasedAuthentication(boolean activated) { + super(); + setActivated(activated); + } + + public boolean isActivated() { + return activated; + } + + public void setActivated(boolean activated) { + this.activated = activated; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/ProxiedEndpoint.java b/generated/main/java/io/clouditor/graph/ProxiedEndpoint.java new file mode 100644 index 0000000..18d65ce --- /dev/null +++ b/generated/main/java/io/clouditor/graph/ProxiedEndpoint.java @@ -0,0 +1,25 @@ +package io.clouditor.graph; + +import java.util.List; +import de.fraunhofer.aisec.cpg.graph.declarations.FunctionDeclaration; +import de.fraunhofer.aisec.cpg.graph.Node; + +public class ProxiedEndpoint extends HttpEndpoint { + + protected List proxyTarget; + + public ProxiedEndpoint(List proxyTarget, Authenticity authenticity, + TransportEncryption transportEncryption, String path, String url, String method, + FunctionDeclaration handler) { + super(authenticity, transportEncryption, path, url, method, handler); + setProxyTarget(proxyTarget); + } + + public List getProxyTarget() { + return proxyTarget; + } + + public void setProxyTarget(List proxyTarget) { + this.proxyTarget = proxyTarget; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/RBAC.java b/generated/main/java/io/clouditor/graph/RBAC.java new file mode 100644 index 0000000..8aea3ce --- /dev/null +++ b/generated/main/java/io/clouditor/graph/RBAC.java @@ -0,0 +1,10 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class RBAC extends Authorization { + + public RBAC() { + super(); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/RelationalDB.java b/generated/main/java/io/clouditor/graph/RelationalDB.java new file mode 100644 index 0000000..9620c39 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/RelationalDB.java @@ -0,0 +1,12 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class RelationalDB extends RelationalDatabaseService { + + public RelationalDB(GeoLocation geoLocation, Map labels) { + super(geoLocation, labels); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/RelationalDatabaseService.java b/generated/main/java/io/clouditor/graph/RelationalDatabaseService.java new file mode 100644 index 0000000..0f1f0e3 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/RelationalDatabaseService.java @@ -0,0 +1,12 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class RelationalDatabaseService extends DatabaseService { + + public RelationalDatabaseService(GeoLocation geoLocation, Map labels) { + super(geoLocation, labels); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/ResourceLogging.java b/generated/main/java/io/clouditor/graph/ResourceLogging.java new file mode 100644 index 0000000..06aef6d --- /dev/null +++ b/generated/main/java/io/clouditor/graph/ResourceLogging.java @@ -0,0 +1,12 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class ResourceLogging extends Logging { + + public ResourceLogging(GeoLocation geoLocation, Map labels) { + super(geoLocation, labels); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/RoleAssignment.java b/generated/main/java/io/clouditor/graph/RoleAssignment.java new file mode 100644 index 0000000..ac63339 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/RoleAssignment.java @@ -0,0 +1,13 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class RoleAssignment extends IdentityManagement { + + public RoleAssignment(Authorization authorization, Authenticity authenticity, GeoLocation geoLocation, + Map labels) { + super(authorization, authenticity, geoLocation, labels); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/SecurityFeature.java b/generated/main/java/io/clouditor/graph/SecurityFeature.java new file mode 100644 index 0000000..da01980 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/SecurityFeature.java @@ -0,0 +1,9 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class SecurityFeature extends Node { + + public SecurityFeature() { + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/SingleSignOn.java b/generated/main/java/io/clouditor/graph/SingleSignOn.java new file mode 100644 index 0000000..fca6c37 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/SingleSignOn.java @@ -0,0 +1,10 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class SingleSignOn extends Authenticity { + + public SingleSignOn() { + super(); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/StandardOut.java b/generated/main/java/io/clouditor/graph/StandardOut.java new file mode 100644 index 0000000..2f1e05b --- /dev/null +++ b/generated/main/java/io/clouditor/graph/StandardOut.java @@ -0,0 +1,22 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.statements.expressions.CallExpression; +import de.fraunhofer.aisec.cpg.graph.Node; + +public class StandardOut extends Functionality { + + protected CallExpression call; + + public StandardOut(CallExpression call) { + super(); + setCall(call); + } + + public CallExpression getCall() { + return call; + } + + public void setCall(CallExpression call) { + this.call = call; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/Storage.java b/generated/main/java/io/clouditor/graph/Storage.java new file mode 100644 index 0000000..1414ad0 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/Storage.java @@ -0,0 +1,23 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class Storage extends CloudResource { + + protected AtRestEncryption atRestEncryption; + + public Storage(AtRestEncryption atRestEncryption, GeoLocation geoLocation, Map labels) { + super(geoLocation, labels); + setAtRestEncryption(atRestEncryption); + } + + public AtRestEncryption getAtRestEncryption() { + return atRestEncryption; + } + + public void setAtRestEncryption(AtRestEncryption atRestEncryption) { + this.atRestEncryption = atRestEncryption; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/TransportEncryption.java b/generated/main/java/io/clouditor/graph/TransportEncryption.java new file mode 100644 index 0000000..5f8b9d5 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/TransportEncryption.java @@ -0,0 +1,51 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; + +public class TransportEncryption extends Confidentiality { + + protected String algorithm; + protected String tlsVersion; + protected boolean enforced; + protected boolean enabled; + + public TransportEncryption(String algorithm, String tlsVersion, boolean enforced, boolean enabled) { + super(); + setAlgorithm(algorithm); + setTlsVersion(tlsVersion); + setEnforced(enforced); + setEnabled(enabled); + } + + public String getAlgorithm() { + return algorithm; + } + + public void setAlgorithm(String algorithm) { + this.algorithm = algorithm; + } + + public String getTlsVersion() { + return tlsVersion; + } + + public void setTlsVersion(String tlsVersion) { + this.tlsVersion = tlsVersion; + } + + public boolean isEnforced() { + return enforced; + } + + public void setEnforced(boolean enforced) { + this.enforced = enforced; + } + + public boolean isEnabled() { + return enabled; + } + + public void setEnabled(boolean enabled) { + this.enabled = enabled; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/VMImage.java b/generated/main/java/io/clouditor/graph/VMImage.java new file mode 100644 index 0000000..ca4bac1 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/VMImage.java @@ -0,0 +1,12 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class VMImage extends Image { + + public VMImage(Application application, GeoLocation geoLocation, Map labels) { + super(application, geoLocation, labels); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/VirtualMachine.java b/generated/main/java/io/clouditor/graph/VirtualMachine.java new file mode 100644 index 0000000..e66ab35 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/VirtualMachine.java @@ -0,0 +1,44 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class VirtualMachine extends Compute { + + protected Log log; + protected BlockStorage blockStorage; + protected NetworkInterface networkInterface; + + public VirtualMachine(Log log, BlockStorage blockStorage, NetworkInterface networkInterface, + GeoLocation geoLocation, Map labels) { + super(geoLocation, labels); + setLog(log); + setBlockStorage(blockStorage); + setNetworkInterface(networkInterface); + } + + public Log getLog() { + return log; + } + + public void setLog(Log log) { + this.log = log; + } + + public BlockStorage getBlockStorage() { + return blockStorage; + } + + public void setBlockStorage(BlockStorage blockStorage) { + this.blockStorage = blockStorage; + } + + public NetworkInterface getNetworkInterface() { + return networkInterface; + } + + public void setNetworkInterface(NetworkInterface networkInterface) { + this.networkInterface = networkInterface; + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/VirtualNetwork.java b/generated/main/java/io/clouditor/graph/VirtualNetwork.java new file mode 100644 index 0000000..2879aaa --- /dev/null +++ b/generated/main/java/io/clouditor/graph/VirtualNetwork.java @@ -0,0 +1,12 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class VirtualNetwork extends Networking { + + public VirtualNetwork(GeoLocation geoLocation, Map labels) { + super(geoLocation, labels); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/VirtualSubNetwork.java b/generated/main/java/io/clouditor/graph/VirtualSubNetwork.java new file mode 100644 index 0000000..1db847c --- /dev/null +++ b/generated/main/java/io/clouditor/graph/VirtualSubNetwork.java @@ -0,0 +1,12 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class VirtualSubNetwork extends Networking { + + public VirtualSubNetwork(GeoLocation geoLocation, Map labels) { + super(geoLocation, labels); + } +} \ No newline at end of file diff --git a/generated/main/java/io/clouditor/graph/Workflow.java b/generated/main/java/io/clouditor/graph/Workflow.java new file mode 100644 index 0000000..5737440 --- /dev/null +++ b/generated/main/java/io/clouditor/graph/Workflow.java @@ -0,0 +1,12 @@ +package io.clouditor.graph; + +import de.fraunhofer.aisec.cpg.graph.Node; +import java.util.Map; +import org.neo4j.ogm.annotation.Transient; + +public class Workflow extends CICDService { + + public Workflow(GeoLocation geoLocation, Map labels) { + super(geoLocation, labels); + } +} \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000..7454180 Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 442d913..69a9715 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index 4f906e0..744e882 100755 --- a/gradlew +++ b/gradlew @@ -72,7 +72,7 @@ case "`uname`" in Darwin* ) darwin=true ;; - MINGW* ) + MSYS* | MINGW* ) msys=true ;; NONSTOP* ) diff --git a/jitpack.yml b/jitpack.yml new file mode 100644 index 0000000..adb3fe1 --- /dev/null +++ b/jitpack.yml @@ -0,0 +1,2 @@ +jdk: + - openjdk11