identificationHeaderFields:
   - HTTP_IV_USER
   - HTTP_CSP_FIRSTNAME
   - HTTP_CSP_LASTNAME
   - HTTP_IV_REMOTE_ADDRESS
   - HTTP_CSP_WSTYPE


# catalog backend hostname
beFqdn: <%= @host_ip %>

# catalog backend http port
beHttpPort: <%= @catalog_port %>

# catalog backend http context
beContext: /sdc/rest/config/get

# catalog backend protocol
beProtocol: http

# catalog backend ssl port
beSslPort: <%= @ssl_port %>
version: 1.0
released: 2012-11-30
toscaConformanceLevel: 5.0
minToscaConformanceLevel: 3.0

titanCfgFile: <%= @titan_Path %>/titan.properties
titanInMemoryGraph: false
titanLockTimeout: 1800
# The interval to try and reconnect to titan DB when it is down during ASDC startup:
titanReconnectIntervalInSeconds: 3

# The read timeout towards Titan DB when health check is invoked:
titanHealthCheckReadTimeout: 1

# The interval to try and reconnect to Elasticsearch when it is down during ASDC startup:

esReconnectIntervalInSeconds: 3
uebHealthCheckReconnectIntervalInSeconds: 15
uebHealthCheckReadTimeout: 4

# Protocols
protocols:
   - http
   - https

# Default imports
defaultImports:
   - nodes:
        file: nodes.yml
   - datatypes:
        file: data.yml
   - capabilities:
        file: capabilities.yml
   - relationships:
        file: relationships.yml
   - groups:
        file: groups.yml
   - policies:
        file: policies.yml
# Users
users:
    tom: passwd
    bob: passwd


cassandraConfig:
    cassandraHosts: [<%= @cassandra_ip %>]
    localDataCenter: <%= @dc1 %>
    reconnectTimeout : 30000
    authenticate: true
    username: asdc_user
    password: Aa1234%^!
    ssl: false
    truststorePath : /config/.truststore
    truststorePassword : Aa123456
    keySpaces:
        - { name: dox, replicationStrategy: NetworkTopologyStrategy, replicationInfo: ['<%= @DC_NAME %>','<%= @rep_factor %>']}
        - { name: sdcaudit, replicationStrategy: NetworkTopologyStrategy, replicationInfo: ['<%= @DC_NAME %>','<%= @rep_factor %>']}
        - { name: sdcartifact, replicationStrategy: NetworkTopologyStrategy, replicationInfo: ['<%= @DC_NAME %>','<%= @rep_factor %>']}
        - { name: sdccomponent, replicationStrategy: NetworkTopologyStrategy, replicationInfo: ['<%= @DC_NAME %>','<%= @rep_factor %>']}
        - { name: sdcrepository, replicationStrategy: NetworkTopologyStrategy, replicationInfo: ['<%= @dc1 %>', '<%= @rep_factor %>']}
        - { name: sdcrepository, replicationStrategy: NetworkTopologyStrategy, replicationInfo: ['<%= @dc1 %>', '<%= @rep_factor %>', '<%= @dc2 %>', '<%= @rep_factor %>']}

#Application-specific settings of ES
elasticSearch:
    # Mapping of index prefix to time-based frame. For example, if below is configured:
    #
    # - indexPrefix: auditingevents
    #    creationPeriod: minute
    #
    # then ES object of type which is mapped to "auditingevents-*" template, and created on 2015-12-23 13:24:54, will enter "auditingevents-2015-12-23-13-24" index.
    # Another object created on 2015-12-23 13:25:54, will enter "auditingevents-2015-12-23-13-25" index.
    # If creationPeriod: month, both of the above will enter "auditingevents-2015-12" index.
    #
    # PLEASE NOTE: the timestamps are created in UTC/GMT timezone! This is needed so that timestamps will be correctly presented in Kibana.
    #
    # Legal values for creationPeriod - year, month, day, hour, minute, none (meaning no time-based behaviour).
    #
    # If no creationPeriod is configured for indexPrefix, default behavour is creationPeriod: month.

    indicesTimeFrequency:
      - indexPrefix: auditingevents
        creationPeriod: month
      - indexPrefix: monitoring_events
        creationPeriod: month
artifactTypes:
   - CHEF
   - PUPPET
   - SHELL
   - YANG
   - YANG_XML
   - HEAT
   - BPEL
   - DG_XML
   - MURANO_PKG
   - WORKFLOW
   - NETWORK_CALL_FLOW
   - TOSCA_TEMPLATE
   - TOSCA_CSAR
   - AAI_SERVICE_MODEL
   - AAI_VF_MODEL
   - AAI_VF_MODULE_MODEL
   - AAI_VF_INSTANCE_MODEL
   - OTHER
   - SNMP_POLL
   - SNMP_TRAP
   - GUIDE


licenseTypes:
   - User
   - Installation
   - CPU

#Deployment artifacts placeHolder
resourceTypes: &allResourceTypes
  - VFC
  - CP
  - VL
  - VF
  - VFCMT
  - Abstract
  - CVFC

# validForResourceTypes usage
#     validForResourceTypes:
#        - VF
#        - VL
deploymentResourceArtifacts:


deploymentResourceInstanceArtifacts:
  heatEnv:
      displayName: "HEAT ENV"
      type: HEAT_ENV
      description: "Auto-generated HEAT Environment deployment artifact"
      fileExtension: "env"
  VfHeatEnv:
      displayName: "VF HEAT ENV"
      type: HEAT_ENV
      description: "VF Auto-generated HEAT Environment deployment artifact"
      fileExtension: "env"

#tosca artifacts placeholders
toscaArtifacts:
  assetToscaTemplate:
      artifactName: -template.yml
      displayName: Tosca Template
      type: TOSCA_TEMPLATE
      description: TOSCA representation of the asset
  assetToscaCsar:
      artifactName: -csar.csar
      displayName: Tosca Model
      type: TOSCA_CSAR
      description: TOSCA definition package of the asset

#Informational artifacts placeHolder
excludeResourceCategory:
  - Generic
excludeResourceType:
  - PNF
informationalResourceArtifacts:
  features:
      displayName: Features
      type: OTHER
  capacity:
      displayName: Capacity
      type: OTHER
  vendorTestResult:
      displayName: Vendor Test Result
      type: OTHER
  testScripts:
      displayName: Test Scripts
      type: OTHER
  CloudQuestionnaire:
      displayName: Cloud Questionnaire (completed)
      type: OTHER
  HEATTemplateFromVendor:
      displayName: HEAT Template from Vendor
      type: HEAT
  resourceSecurityTemplate:
      displayName: Resource Security Template
      type: OTHER

excludeServiceCategory:

informationalServiceArtifacts:
  serviceArtifactPlan:
      displayName: Service Artifact Plan
      type: OTHER
  summaryOfImpactsToECOMPElements:
      displayName: Summary of impacts to ECOMP elements,OSSs, BSSs
      type: OTHER
  controlLoopFunctions:
      displayName: Control Loop Functions
      type: OTHER
  dimensioningInfo:
      displayName: Dimensioning Info
      type: OTHER
  affinityRules:
      displayName: Affinity Rules
      type: OTHER
  operationalPolicies:
      displayName: Operational Policies
      type: OTHER
  serviceSpecificPolicies:
      displayName: Service-specific Policies
      type: OTHER
  engineeringRules:
      displayName: Engineering Rules (ERD)
      type: OTHER
  distributionInstructions:
      displayName: Distribution Instructions
      type: OTHER
  certificationTestResults:
      displayName: TD Certification Test Results
      type: OTHER
  deploymentVotingRecord:
      displayName: Deployment Voting Record
      type: OTHER
  serviceQuestionnaire:
      displayName: Service Questionnaire
      type: OTHER
  serviceSecurityTemplate:
      displayName: Service Security Template
      type: OTHER

serviceApiArtifacts:
  configuration:
      displayName: Configuration
      type: OTHER
  instantiation:
      displayName: Instantiation
      type: OTHER
  monitoring:
      displayName: Monitoring
      type: OTHER
  reporting:
      displayName: Reporting
      type: OTHER
  logging:
      displayName: Logging
      type: OTHER
  testing:
      displayName: Testing
      type: OTHER


additionalInformationMaxNumberOfKeys: 50

systemMonitoring:
    enabled: true
    isProxy: false
    probeIntervalInSeconds: 15
defaultHeatArtifactTimeoutMinutes: 60

serviceDeploymentArtifacts:
    YANG_XML:
        acceptedTypes:
            - xml
    VNF_CATALOG:
        acceptedTypes:
            - xml
    MODEL_INVENTORY_PROFILE:
        acceptedTypes:
            - xml
    MODEL_QUERY_SPEC:
        acceptedTypes:
            - xml
    AAI_SERVICE_MODEL:
        acceptedTypes:
            - xml
    AAI_VF_MODULE_MODEL:
        acceptedTypes:
            - xml
    AAI_VF_INSTANCE_MODEL:
        acceptedTypes:
            - xml
    UCPE_LAYER_2_CONFIGURATION:
        acceptedTypes:
            - xml
    OTHER:
        acceptedTypes:


resourceDeploymentArtifacts:
    HEAT:
        acceptedTypes:
            - yaml
            - yml
        validForResourceTypes: *allResourceTypes
    HEAT_VOL:
        acceptedTypes:
            - yaml
            - yml
        validForResourceTypes: *allResourceTypes
    HEAT_NET:
        acceptedTypes:
            - yaml
            - yml
        validForResourceTypes: *allResourceTypes
    HEAT_NESTED:
        acceptedTypes:
            - yaml
            - yml
        validForResourceTypes: *allResourceTypes
    HEAT_ARTIFACT:
        acceptedTypes:
        validForResourceTypes: *allResourceTypes
    YANG_XML:
        acceptedTypes:
            - xml
        validForResourceTypes: *allResourceTypes
    VNF_CATALOG:
        acceptedTypes:
            - xml
        validForResourceTypes: *allResourceTypes
    VF_LICENSE:
        acceptedTypes:
            - xml
        validForResourceTypes: *allResourceTypes
    VENDOR_LICENSE:
        acceptedTypes:
            - xml
        validForResourceTypes: *allResourceTypes
    MODEL_INVENTORY_PROFILE:
        acceptedTypes:
            - xml
        validForResourceTypes: *allResourceTypes
    MODEL_QUERY_SPEC:
        acceptedTypes:
            - xml
        validForResourceTypes: *allResourceTypes
    LIFECYCLE_OPERATIONS:
        acceptedTypes:
            - yaml
            - yml
        validForResourceTypes:
            - VF
            - VFC
    VES_EVENTS:
        acceptedTypes:
            - yaml
            - yml
        validForResourceTypes: *allResourceTypes
    PERFORMANCE_COUNTER:
        acceptedTypes:
            - csv
        validForResourceTypes: *allResourceTypes
    APPC_CONFIG:
        acceptedTypes:
        validForResourceTypes:
            - VF
    #DCAE Artifacts
    DCAE_TOSCA:
        acceptedTypes:
            - yml
            - yaml
        validForResourceTypes:
            - VF
            - VFCMT
    DCAE_JSON:
        acceptedTypes:
            - json
        validForResourceTypes:
            - VF
            - VFCMT
    DCAE_POLICY:
        acceptedTypes:
            - emf
        validForResourceTypes:
            - VF
            - VFCMT
    DCAE_DOC:
        acceptedTypes:
        validForResourceTypes:
            - VF
            - VFCMT
    DCAE_EVENT:
        acceptedTypes:
        validForResourceTypes:
            - VF
            - VFCMT
#AAI Artifacts
    AAI_VF_MODEL:
        acceptedTypes:
            - xml
        validForResourceTypes:
            - VF
    AAI_VF_MODULE_MODEL:
        acceptedTypes:
            - xml
        validForResourceTypes:
            - VF
    OTHER:
        acceptedTypes:
        validForResourceTypes: *allResourceTypes
    SNMP_POLL:
        acceptedTypes:
        validForResourceTypes: *allResourceTypes
    SNMP_TRAP:
        acceptedTypes:
        validForResourceTypes: *allResourceTypes

resourceInstanceDeploymentArtifacts:
    HEAT_ENV:
        acceptedTypes:
            - env
    VF_MODULES_METADATA:
        acceptedTypes:
            - json
    VES_EVENTS:
        acceptedTypes:
            - yaml
            - yml
    PERFORMANCE_COUNTER:
        acceptedTypes:
            - csv
#DCAE_VF Instance Artifacts
    DCAE_INVENTORY_TOSCA:
        acceptedTypes:
            - yml
            - yaml
    DCAE_INVENTORY_JSON:
        acceptedTypes:
            - json
    DCAE_INVENTORY_POLICY:
      acceptedTypes:
            - emf
    DCAE_INVENTORY_DOC:
      acceptedTypes:
    DCAE_INVENTORY_BLUEPRINT:
      acceptedTypes:
    DCAE_INVENTORY_EVENT:
      acceptedTypes:
    SNMP_POLL:
        acceptedTypes:
        validForResourceTypes: *allResourceTypes
    SNMP_TRAP:
        acceptedTypes:
        validForResourceTypes: *allResourceTypes

resourceInformationalArtifacts:
    CHEF:
        acceptedTypes:
        validForResourceTypes: *allResourceTypes
    PUPPET:
        acceptedTypes:
        validForResourceTypes: *allResourceTypes
    SHELL:
        acceptedTypes:
        validForResourceTypes: *allResourceTypes
    YANG:
        acceptedTypes:
        validForResourceTypes: *allResourceTypes
    YANG_XML:
        acceptedTypes:
        validForResourceTypes: *allResourceTypes
    HEAT:
        acceptedTypes:
        validForResourceTypes: *allResourceTypes
    BPEL:
        acceptedTypes:
        validForResourceTypes: *allResourceTypes
    DG_XML:
        acceptedTypes:
        validForResourceTypes: *allResourceTypes
    MURANO_PKG:
        acceptedTypes:
        validForResourceTypes: *allResourceTypes
    OTHER:
        acceptedTypes:
        validForResourceTypes: 
            - VFC
            - CVFC
            - CP
            - VL
            - VF
            - VFCMT
            - Abstract
            - PNF
    SNMP_POLL:
        acceptedTypes:
        validForResourceTypes: *allResourceTypes
    SNMP_TRAP:
        acceptedTypes:
        validForResourceTypes: *allResourceTypes
    GUIDE:
        acceptedTypes:
        validForResourceTypes:
            - VF
            - VFC
            - CVFC

resourceInformationalDeployedArtifacts:


requirementsToFulfillBeforeCert:

capabilitiesToConsumeBeforeCert:

unLoggedUrls:
   - /sdc2/rest/healthCheck

cleanComponentsConfiguration:
    cleanIntervalInMinutes: 1440
    componentsToClean:
       - Resource
       - Service

artifactsIndex: resources

heatEnvArtifactHeader:
    ""
heatEnvArtifactFooter:
    ""

onboarding:
    protocol: http
    host: <%= @host_ip %>
    port: <%= @catalog_port %>
    downloadCsarUri: "/onboarding-api/v1.0/vendor-software-products/packages"
    healthCheckUri: "/onboarding-api/v1.0/healthcheck"

dcae:
    protocol: http
    host: <%= @host_ip %>
    port: <%= @catalog_port %>
    healthCheckUri: "/dcae/healthCheck"


# #GSS IDNS
switchoverDetector:
    gBeFqdn:
    gFeFqdn:
    beVip: 1.2.3.4
    feVip: 1.2.3.4
    beResolveAttempts: 3
    feResolveAttempts: 3
    enabled: false
    interval: 60
    changePriorityUser: ecompasdc
    changePriorityPassword: ecompasdc123
    publishNetworkUrl:
    publishNetworkBody: '{"note":"comment"}'
    groups:
      beSet: { changePriorityUrl: "", changePriorityBody: '{"name":"","uri":"","no_ad_redirection":false,"v4groups":{"failover_groups":["","","failover_policy":["FAILALL"]},"comment":"","intended_app_proto":"DNS"}'}
      feSet: { changePriorityUrl: "", changePriorityBody: '{"name":"","uri":"","no_ad_redirection":false,"v4groups":{"failover_groups":["",""],"failover_policy":["FAILALL"]},"comment":"","intended_app_proto":"DNS"}'}

applicationL1Cache:
    datatypes:
        enabled: true
        firstRunDelay: 10
        pollIntervalInSec: 60

applicationL2Cache:
    enabled: false
    catalogL1Cache:
        enabled: false
        resourcesSizeInCache: 300
        servicesSizeInCache: 200
        productsSizeInCache: 100
    queue:
        syncIntervalInSecondes: 43200
        waitOnShutDownInMinutes: 10
        numberOfCacheWorkers: 4

toscaValidators:
    stringMaxLength: 2500

disableAudit: false

vfModuleProperties:
    min_vf_module_instances:
        forBaseModule: 1
        forNonBaseModule: 0
    max_vf_module_instances:
        forBaseModule: 1
        forNonBaseModule:
    initial_count:
        forBaseModule: 1
        forNonBaseModule: 0
    vf_module_type:
        forBaseModule: Base
        forNonBaseModule: Expansion

genericAssetNodeTypes:
  VFC: org.openecomp.resource.abstract.nodes.VFC
  CVFC: org.openecomp.resource.abstract.nodes.VFC
  VF : org.openecomp.resource.abstract.nodes.VF
  PNF: org.openecomp.resource.abstract.nodes.PNF
  Service: org.openecomp.resource.abstract.nodes.service

workloadContext: Production

environmentContext:
    defaultValue: General_Revenue-Bearing
    validValues:
       - Critical_Revenue-Bearing
       - Vital_Revenue-Bearing
       - Essential_Revenue-Bearing
       - Important_Revenue-Bearing
       - Needed_Revenue-Bearing
       - Useful_Revenue-Bearing
       - General_Revenue-Bearing
       - Critical_Non-Revenue
       - Vital_Non-Revenue
       - Essential_Non-Revenue
       - Important_Non-Revenue
       - Needed_Non-Revenue
       - Useful_Non-Revenue
       - General_Non-Revenue
