## ---------------------------------------------------------------------------
## Licensed to the Apache Software Foundation (ASF) under one or more
## contributor license agreements.  See the NOTICE file distributed with
## this work for additional information regarding copyright ownership.
## The ASF licenses this file to You under the Apache License, Version 2.0
## (the "License"); you may not use this file except in compliance with
## the License.  You may obtain a copy of the License at
##
##      http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing, software
## distributed under the License is distributed on an "AS IS" BASIS,
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
## See the License for the specific language governing permissions and
## limitations under the License.
## ---------------------------------------------------------------------------

trace:
  handler:
    enabled: false
    sampler:
      percent: 0.5
  metric:
    service:
      enable: false
zq:
  - tlist: a
  - tlist: b
  - tlist: 1
validate:
  parameter:
    enabled: true
  returnValue:
    enabled: true
  apiInvoke:
    enabled: true

shutDownHandler:
  enabled: true
  timeLimit: 30000

eureka:
  instance:
    preferIpAddress: true
    leaseRenewalIntervalInSeconds: 3
    leaseExpirationDurationInSeconds: 5
  client:
    serviceUrl:
      defaultZone: http://10.120.169.202:9980/

cse:
  config:
    client:
      serviceName: testDemo
      serverUri: https://10.22.87.59:30103
      tenantName: csetest
      refreshMode: 1
      refresh_interval: 10000

service_description:
  name: testDemo


servicecomb:
  cse:
    servicecomb:
      file: value # this is a config for TestConfigUtil.testCreateLocalConfigWithExtraConfig()

holder: b,c,d
test:
  commonSeparatedString: a,b,c
  commonSeparatedStringHolder: ${holder}
  stringArray:
    - m
    - n