terradart_cloudflare 0.35.0 copy "terradart_cloudflare: ^0.35.0" to clipboard
terradart_cloudflare: ^0.35.0 copied to clipboard

Curated factory wrappers for Cloudflare resources (official cloudflare/cloudflare Terraform provider) for Dart-first Terraform stacks.

example/main.dart

import 'dart:convert';

import 'package:terradart_cloudflare/terradart_cloudflare.dart';

/// Minimal example: a Cloudflare zone and a proxied CNAME record pointing
/// a subdomain at a backend host, synthesized to Terraform JSON. Secrets
/// never appear in synth output — authenticate at apply time via the
/// CLOUDFLARE_API_TOKEN environment variable.
final class HelloStack extends Stack {
  HelloStack() : super(providers: [const CloudflareProvider()]) {
    final zone = CloudflareZone(
      'main',
      name: .literal('example.com'),
      account: ZoneAccount(id: .literal('your-account-id')),
    );
    add(zone);
    add(
      CloudflareDnsRecord(
        'api',
        zoneId: zone.ref,
        name: .literal('api.example.com'),
        type: .cname,
        ttl: .literal(1),
        content: .content(.literal('ghs.googlehosted.com')),
        proxied: .literal(true),
      ),
    );
  }
}

void main() {
  final result = HelloStack().synth();
  // ignore: avoid_print
  print(const JsonEncoder.withIndent('  ').convert(result.tfJson));
}
1
likes
160
points
434
downloads

Documentation

Documentation
API reference

Publisher

unverified uploader

Weekly Downloads

Curated factory wrappers for Cloudflare resources (official cloudflare/cloudflare Terraform provider) for Dart-first Terraform stacks.

Repository (GitHub)
View/report issues
Contributing

Topics

#terraform #infrastructure #codegen #cloudflare

License

Apache-2.0 (license)

Dependencies

meta, terradart_core

More

Packages that depend on terradart_cloudflare