Skip to content

Commit 7abc866

Browse files
committed
ttl condition updated
1 parent e693bbd commit 7abc866

File tree

2 files changed

+25
-13
lines changed

2 files changed

+25
-13
lines changed

__main__.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,16 @@ def load_dns_records(record_type):
2424
def create_dns_records(record_type):
2525
records = load_dns_records(record_type)
2626
for record in records:
27-
record_type_normalized = record_type.upper().replace('RECORD', '')
27+
# TTL must be 1 when proxied is True
28+
ttl = 1 if record.get('proxied', False) else record.get('ttl', 300)
2829
cloudflare.Record(
2930
f"{record_type}-{record['name']}",
3031
zone_id=cloudflare_config.get("zoneId"),
3132
name=record['name'],
32-
type=record_type_normalized, # A or CNAME
33-
value=record.get('content') or record.get('value'),
34-
ttl=record.get('ttl', 1),
35-
proxied=record.get('proxied', True),
33+
type=record.get('type', record_type.upper().replace('RECORD', '')),
34+
content=record.get('content') or record.get('value'),
35+
ttl=ttl,
36+
proxied=record.get('proxied', False),
3637
comment=record.get('comment', "Managed by Pulumi"),
3738
opts=pulumi.ResourceOptions(provider=cloudflare_provider)
3839
)

resources/arecord.yaml

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,24 @@
11
- name: "example"
2-
value: "192.0.2.1" # Using 'value' instead of 'content' for consistency
3-
type: "A" # Explicit type declaration
4-
ttl: 3600
5-
proxied: true
2+
content: "192.0.2.1"
3+
type: "A"
4+
ttl: 300 # Only used if proxied=false
5+
proxied: false # If true, TTL will be automatically set to 1
66
comment: "Example A Record"
77

88
- name: "blog"
9-
value: "example.com"
10-
type: "CNAME" # Explicit type declaration
11-
ttl: 3600
9+
content: "203.0.113.1"
10+
proxied: true # TTL will be forced to 1
11+
comment: "Proxied A Record"
12+
13+
- name: "www"
14+
content: "example.com"
15+
type: "CNAME"
1216
proxied: true
13-
comment: "Example CNAME Record"
17+
comment: "Proxied CNAME Record"
18+
19+
- name: "api"
20+
content: "example.net"
21+
type: "CNAME"
22+
ttl: 600
23+
proxied: false
24+
comment: "Non-proxied CNAME Record"

0 commit comments

Comments
 (0)