# auto generated certificates
kubernetes/platform/components/oom-cert-service/resources/*.jks
kubernetes/platform/components/oom-cert-service/resources/*.p12
kubernetes/platform/components/oom-cert-service/resources/*.crt

# Unit tests
__snapshot__

# Application
kubernetes/config/onap-parameters.yaml
kubernetes/dist/*
kubernetes/common/dist/*
requirements.lock
**/charts/*.tgz
*.orig

# AAI Schema
**/schema/*


# Eclipse
.classpath
.factorypath
.project
.pydevproject
.settings/

# IntelliJ
.idea/*
*.iml

# Mac OS
*DS_Store*

# dist
dist
