Включения и переменные#

Данный раздел демонстрирует механизм работы переменных и способы переиспользования контента в {{prod_name}} ({{prod_code}}).

Данный раздел демонстрирует механизм работы переменных и способы переиспользования контента в Platform V GetDocs (GDC).

Включение контента из другого файла#

```{include} lists.md
:start-after: <!-- happy-tips-start -->
:end-before: <!-- happy-tips-end -->
```

Утренние радости:

* Увидеть, что до будильника еще час, и продолжить спать.
* Проснуться выспавшимся.
* Выпить кофе с любимыми коллегами.
  • Увидеть, что до будильника еще час, и продолжить спать.

  • Проснуться выспавшимся.

  • Выпить кофе с любимыми коллегами.

Включение кода из файла#

Код примера может быть размещен в отдельном файле, а его фрагменты (диапазон строк) можно включать в текст документа как кодовые блоки c помощью директивы literalinclude. Путь до файла может быть относительным или абсолютным (корнем в данном случае является папка, где расположен doc-config.ini). Для указания языка используйте опцию :language:.

Весь файл#

```{literalinclude} resources/application-local.yml
:language: yaml
```
server:
  port: 8080
liquibase:
  base: &base
    user: admin_user
    password: admin_password
  test:
    <<: *base
    default-schema: test
    url: ${database.test.url}
  access-control:
    <<: *base
    default-schema: test_access_control
    url: ${database.access-control.url}
database:
  base: &base
    username: app_user
    password: app_password
    ip: 10.0.0.1
    port: 5432
    instance: test
  test:
    <<: *base
    schema: test
    url: jdbc:postgresql://${database.test.ip}:${database.test.port}/${database.test.instance}?currentSchema=${database.test.schema}&stringtype=unspecified&prepareThreshold=0
  access-control:
    <<: *base
    schema: test_access_control
    url: jdbc:postgresql://${database.access-control.ip}:${database.access-control.port}/${database.access-control.instance}?currentSchema=${database.access-control.schema}&stringtype=unspecified&prepareThreshold=0
keycloak:
  url: http://10.0.0.1:8081/auth
  login: kc_user
  password: kc_password
togglz:
  console:
    enabled: false
springdoc:
  api-docs:
    enabled: false
  swagger-ui:
    enabled: false
test:
  core:
    unit:
      confidential:
        mask:
          enabled: true
  file-srv:
    #Обратите внимание: изменение данных параметров в промышленной среде может привести к потере файлов
    tenants:
      DEFAULT:
        functions:
          STANDART:
            storageName: s3test
            bucketName: test_bucket
            rootFolder: temp_folder
    storages:
      s3test:
        type: S3
        url: https://test_bucket.ru-moscow.sbercloud.ru
        disableSsl: true
        accessKeyId: key
        secretKey: secret
        signingRegion: "ru"
  event:
    kafka:
      enabled: true
      servers: 10.0.0.1:9092
      stand.name: dev
      clientId: local-notifications-consumer
    notifications:
      producer:
        mainNotificationProducer:
          # Deprecated(since = 0.17)
          topicName: notifications
          topicNameV2: notifications
      consumer:
        mainNotificationConsumer:
          # Deprecated(since = 0.17)
          topicName: notifications
          topicNameV2: notifications
          groupName: notifications-group
          concurrency: 1
  email:
    host: 10.0.0.1
    port: 25
    mailFrom: "noreply@sbt.test"
    properties:
  domain: http://10.0.0.1/test/
  auth:
    context-token-mapping:
      tenant: organization
      externalId: sberpdi
      firstName: given_name
      lastName: family_name
      middleName: patronymic
      login: sberpdi
      email: email
    role-to-powers:
      ROLE_USER: >
        unit:read,
        unit:write,
        unit:create,
        unit:update,
        unit:delete,
        unit_type:read,
        space:read,
        space:write,
        user:read,
        space_type:read,
        user_group:read
      ROLE_TENANT_ADMIN: >
        unit_type:read,
        unit_type:write,
        link_type:write,
        permission:write,
        space_type:write,
        space_type:read,
        notification_schema:write,
        notification_schema:read,
        user_group:read,
        user_group:write,
        board:write

Часть файла#

Чтобы включить определенные фрагменты кода из файла, можно использовать следующие опции:

  • start-at или start-after

  • end-at или end-before

  • lines

Пример 1#

Блок настроек между liquibase: и database::

```{literalinclude} resources/application-local.yml
:language: yaml
:start-at: "liquibase:"
:end-at: "database:"
```
liquibase:
  base: &base
    user: admin_user
    password: admin_password
  test:
    <<: *base
    default-schema: test
    url: ${database.test.url}
  access-control:
    <<: *base
    default-schema: test_access_control
    url: ${database.access-control.url}
database:

Пример 2#

Блок настроек на 15-29 строке:

```{literalinclude} resources/application-local.yml
:language: yaml
:lines: 15-29
```
database:
  base: &base
    username: app_user
    password: app_password
    ip: 10.0.0.1
    port: 5432
    instance: test
  test:
    <<: *base
    schema: test
    url: jdbc:postgresql://${database.test.ip}:${database.test.port}/${database.test.instance}?currentSchema=${database.test.schema}&stringtype=unspecified&prepareThreshold=0
  access-control:
    <<: *base
    schema: test_access_control
    url: jdbc:postgresql://${database.access-control.ip}:${database.access-control.port}/${database.access-control.instance}?currentSchema=${database.access-control.schema}&stringtype=unspecified&prepareThreshold=0