130 lines
2.3 KiB
YAML
130 lines
2.3 KiB
YAML
|
|
# Document metadata
|
|
# Example YAML file demonstrating various syntax elements
|
|
---
|
|
name: YAML Example
|
|
version: 1.0.0
|
|
description: Example YAML file demonstrating various syntax elements
|
|
updated_at: 2024-02-20T15:00:00Z
|
|
|
|
# Scalar types
|
|
strings:
|
|
simple: Hello World
|
|
quoted: "Hello \"quoted\" World"
|
|
literal: |
|
|
This is a literal block
|
|
that preserves newlines
|
|
and can contain special chars: *&[]
|
|
folded: >
|
|
This is a folded block
|
|
that will be rendered
|
|
as a single line
|
|
|
|
numbers:
|
|
integer: 42
|
|
float: 3.14159
|
|
scientific: 1.23e+4
|
|
infinity: .inf
|
|
not_a_number: .nan
|
|
|
|
dates:
|
|
simple: 2024-02-20
|
|
datetime: 2024-02-20T15:00:00Z
|
|
canonical: 2024-02-20T15:00:00.000Z
|
|
|
|
booleans:
|
|
true_values: [true, True, TRUE, yes, Yes, YES, on, On, ON]
|
|
false_values: [false, False, FALSE, no, No, NO, off, Off, OFF]
|
|
|
|
# Complex types
|
|
arrays:
|
|
- simple
|
|
- items
|
|
- [nested, array]
|
|
-
|
|
- deeply
|
|
- nested
|
|
- array
|
|
|
|
# Mapping types
|
|
object:
|
|
key1: value1
|
|
key2: value2
|
|
nested:
|
|
key3: value3
|
|
key4: value4
|
|
|
|
# Anchors and aliases
|
|
definitions: &defaults
|
|
timeout: 30
|
|
retries: 3
|
|
enabled: true
|
|
|
|
production:
|
|
<<: *defaults # Merge defaults
|
|
environment: production
|
|
host: prod.example.com
|
|
|
|
staging:
|
|
<<: *defaults
|
|
environment: staging
|
|
host: staging.example.com
|
|
timeout: 60 # Override default
|
|
|
|
# Complex mapping
|
|
services:
|
|
- name: web
|
|
image: nginx:latest
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
environment:
|
|
- NODE_ENV=production
|
|
- DEBUG=false
|
|
volumes:
|
|
- type: bind
|
|
source: /var/www
|
|
target: /usr/share/nginx/html
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
- name: database
|
|
image: postgres:13
|
|
environment:
|
|
POSTGRES_USER: admin
|
|
POSTGRES_PASSWORD: !vault |
|
|
$ANSIBLE_VAULT;1.1;AES256
|
|
31613262363135363132666363366363
|
|
volumes:
|
|
- data:/var/lib/postgresql/data
|
|
|
|
# Sets
|
|
unique_values: !!set
|
|
? item1
|
|
? item2
|
|
? item3
|
|
|
|
# Binary data
|
|
certificate: !!binary |
|
|
R0lGODlhDAAMAIQAAP//9/X17unp5WZmZgAAAOf...
|
|
|
|
# Custom tags
|
|
datetime_obj: !!python/object:datetime.datetime
|
|
year: 2024
|
|
month: 2
|
|
day: 20
|
|
hour: 15
|
|
minute: 0
|
|
second: 0
|
|
|
|
# Explicit typing
|
|
explicit_strings: !!str 42
|
|
explicit_int: !!int "42"
|
|
explicit_float: !!float "3.14159"
|
|
explicit_bool: !!bool "yes"
|
|
|
|
|