Files
2026-07-13 13:33:09 +08:00

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"