Zum Hauptinhalt springen
Intelligence View
⚡ tsecurity.de Intelligence

Pulumi WASM/Rust devlog #1

Since my last post more than half a year have passed. The project is still going strong and a lot of improvements have been introduced.

Builders

Last time, all fields were required (even is they are empty):

    let random_string_1 = random_string(
        "test_1",
        RandomStringArgs {
            keepers: None.into(),
            length,
            lower: None.into(),
            min_lower: None.into(),
            min_numeric: None.into(),
            min_special: None.into(),
            min_upper: None.into(),
            number: None.into(),
            numeric: None.into(),
            override_special: None.into(),
            special: None.into(),
            upper: None.into(),
        },
    );

I've migrated all the structs to bon so now they look like this

    let random_string_1 = random_string::create(
        "test_1",
        RandomStringArgs::builder().length(length).build_struct(),
    );

In the future I will experiment with Function Builder to see if it will be a better choice

Code generation

Last time provider was split into two parts - WASM based provider (generated on Pulumi WASM side and distributed as binary artifact) and glue code (potentially generated on user side, last time still generated by Pulumi WASM).

I've decided to go 100% for code generation on user side. Thanks to that user can use any provider they want in any version they want. In addition provider does not have to be available in public Pulumi registry - glue code can be generated from schema.json.

# build.rs
use std::error::Error;
fn main() -> Result<(), Box<dyn Error>> {
    pulumi_wasm_build::generate("random", "4.15.0")?;
    Ok(())
}

Examples

Currently Pulumi does not export code examples in easy to ingest format. I've decided to try reading YAML and the results are pretty good - for now it's very basic and things like variables, interpolation and complicated order does not work. Here is example of ACMPCA Permission

use pulumi_wasm_rust::Output;
use pulumi_wasm_rust::{add_export, pulumi_main};
#[pulumi_main]
fn test_main() -> Result<(), Error> {
    let example = permission::create(
        "example",
        PermissionArgs::builder()
            .actions(vec!["IssueCertificate", "GetCertificate", "ListPermissions",])
            .certificate_authority_arn("${exampleCertificateAuthority. arn}")
            .principal("acm.amazonaws.com")
            .build_struct(),
    );
    let exampleCertificateAuthority = certificate_authority::create(
        "exampleCertificateAuthority",
        CertificateAuthorityArgs::builder()
            .certificate_authority_configuration(
                CertificateAuthorityCertificateAuthorityConfiguration::builder()
                    .keyAlgorithm("RSA_4096")
                    .signingAlgorithm("SHA512WITHRSA")
                    .subject(
                        CertificateAuthorityCertificateAuthorityConfigurationSubject::builder()
                            .commonName("example. com")
                            .build_struct(),
                    )
                    .build_struct(),
            )
            .build_struct(),
    );
}

There are still a lot of things to do - generating the biggest providers (AWS almost works), core improvements (there are non-working edge cases,
like functions without inputs), example generation improvements, documentation and creating PoC of non-rust WASM language.

Links:
Main repository: https://github.com/andrzejressel/pulumi-wasm
Example: https://github.com/andrzejressel/pulumi-wasm-example

Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Pulumi WASM/Rust devlog #1

Thematisch verwandte Begriffe: Pulumi, WASMRust, devlog · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Zum Aktualisieren ziehen
ZERO-DAY CVE-2026-61591 | djust provides Phoenix LiveView-style reactive server-side rendering for…
Advisory →
TTS Reader • tsecurity.de Voice
tsecurity.de Icon
tsecurity.de App
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag
Themen-Radar & Intelligence Matrix
Echtzeit-Taxonomie nach Angriffsvektoren & Plattformen
Community Radar & Live Chat
Sentinel Bot online • Live-Stream
Dein Cluster: Security Explorer
Match:
lädt…
Verbindung zum Community-Stream wird aufgebaut...
Aktivitäten deiner Analysten
lädt…
Neues Thema oder Eilmeldung einreichen

Reiche interessante Links, Zero-Days oder Debatten ein. Die Community entscheidet per Upvote über die Veröffentlichung.

Heiß diskutierte Einreichungen
🔖 Gespeicherte Artikel
📂 Keine gespeicherten Artikel vorhanden.
News ⏱️ 3 Min vor 10 Min
Artikeldaten werden geladen...

↗ Original-Quelle