From 0a0b24c68917b27424c62b370b88a94f30c288db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=8BAndrzej=20Ressel?= Date: Sat, 20 Jul 2024 19:31:29 +0200 Subject: [PATCH] Reworking directory structure (#247) Closes #246 --- .cargo/config.toml | 5 + .github/workflows/build.yml | 6 +- Cargo.lock | 81 +- Cargo.toml | 26 +- README.md | 2 +- docs/crates.md | 2 +- justfile | 24 +- .../pulumi_wasm_provider_docker/Cargo.toml | 2 +- .../src/bindings.rs | 16 +- .../pulumi_wasm_provider_docker/src/lib.rs | 22 +- .../wit/deps/pulumi-wasm.wit | 2 +- .../pulumi_wasm_provider_docker/wit/world.wit | 24 +- .../src/lib.rs | 2 +- .../wit/deps/pulumi-wasm.wit | 2 +- .../wit/world.wit | 24 +- .../pulumi_wasm_provider_random/Cargo.toml | 2 +- .../src/bindings.rs | 16 +- .../pulumi_wasm_provider_random/src/lib.rs | 16 +- .../wit/deps/pulumi-wasm.wit | 2 +- .../pulumi_wasm_provider_random/wit/world.wit | 18 +- .../src/lib.rs | 2 +- .../wit/deps/pulumi-wasm.wit | 2 +- .../wit/world.wit | 18 +- pulumi_wasm/Cargo.toml | 6 +- pulumi_wasm/build.rs | 15 - pulumi_wasm/src/bindings.rs | 66 +- pulumi_wasm/src/lib.rs | 28 +- .../Cargo.toml | 4 +- .../src/lib.rs | 15 +- .../src/logger.rs | 6 +- pulumi_wasm_core/Cargo.toml | 5 +- pulumi_wasm_core/build.rs | 15 - pulumi_wasm_core/src/pulumi/service_impl.rs | 9 +- .../src/output/provider/Cargo.toml.handlebars | 2 +- .../src/output/provider/lib.rs.handlebars | 2 +- .../src/output/rust/lib.rs.handlebars | 2 +- .../src/output/wit/dependencies.wit | 2 +- .../src/output/wit/wit.handlebars | 4 +- .../tests/input/Cargo.toml | 2 +- .../pulumi_providers/command/Cargo.toml | 2 +- .../pulumi_providers/command/lib/src/lib.rs | 2 +- .../command/lib/wit/deps/pulumi-wasm.wit | 2 +- .../command/lib/wit/world.wit | 8 +- .../command/provider/Cargo.toml | 2 +- .../command/provider/src/lib.rs | 6 +- .../command/provider/wit/deps/pulumi-wasm.wit | 2 +- .../command/provider/wit/world.wit | 8 +- .../output/pulumi_providers/docker/Cargo.toml | 2 +- .../pulumi_providers/docker/lib/src/lib.rs | 2 +- .../docker/lib/wit/deps/pulumi-wasm.wit | 2 +- .../pulumi_providers/docker/lib/wit/world.wit | 24 +- .../docker/provider/Cargo.toml | 2 +- .../docker/provider/src/lib.rs | 22 +- .../docker/provider/wit/deps/pulumi-wasm.wit | 2 +- .../docker/provider/wit/world.wit | 24 +- .../output/pulumi_providers/random/Cargo.toml | 2 +- .../pulumi_providers/random/lib/src/lib.rs | 2 +- .../random/lib/wit/deps/pulumi-wasm.wit | 2 +- .../pulumi_providers/random/lib/wit/world.wit | 18 +- .../random/provider/Cargo.toml | 2 +- .../random/provider/src/lib.rs | 16 +- .../random/provider/wit/deps/pulumi-wasm.wit | 2 +- .../random/provider/wit/world.wit | 18 +- .../pulumi_tests/cyclic-types/Cargo.toml | 2 +- .../cyclic-types/lib/wit/deps/pulumi-wasm.wit | 2 +- .../cyclic-types/lib/wit/world.wit | 2 +- .../cyclic-types/provider/Cargo.toml | 2 +- .../provider/wit/deps/pulumi-wasm.wit | 2 +- .../cyclic-types/provider/wit/world.wit | 2 +- .../pulumi_tests/mini-awsnative/Cargo.toml | 2 +- .../lib/wit/deps/pulumi-wasm.wit | 2 +- .../mini-awsnative/lib/wit/world.wit | 2 +- .../mini-awsnative/provider/Cargo.toml | 2 +- .../provider/wit/deps/pulumi-wasm.wit | 2 +- .../mini-awsnative/provider/wit/world.wit | 2 +- pulumi_wasm_proto/Cargo.toml | 20 + pulumi_wasm_proto/build.rs | 39 + .../proto}/google/protobuf/any.proto | 0 .../proto}/google/protobuf/api.proto | 0 .../proto}/google/protobuf/descriptor.proto | 0 .../proto}/google/protobuf/duration.proto | 0 .../proto}/google/protobuf/empty.proto | 0 .../proto}/google/protobuf/field_mask.proto | 0 .../google/protobuf/source_context.proto | 0 .../proto}/google/protobuf/struct.proto | 0 .../proto}/google/protobuf/timestamp.proto | 0 .../proto}/google/protobuf/type.proto | 0 .../proto}/google/protobuf/wrappers.proto | 0 .../proto}/pulumi/alias.proto | 0 .../proto}/pulumi/analyzer.proto | 0 .../proto}/pulumi/codegen/hcl.proto | 0 .../proto}/pulumi/codegen/loader.proto | 0 .../proto}/pulumi/codegen/mapper.proto | 0 .../proto}/pulumi/converter.proto | 0 .../proto}/pulumi/engine.proto | 0 .../proto}/pulumi/errors.proto | 0 .../proto}/pulumi/language.proto | 0 .../proto}/pulumi/plugin.proto | 0 .../proto}/pulumi/provider.proto | 0 .../proto}/pulumi/resource.proto | 0 .../proto}/pulumi/source.proto | 0 .../proto}/pulumi/testing/language.proto | 0 pulumi_wasm_proto/src/lib.rs | 9 + pulumi_wasm_runner/Cargo.toml | 5 +- pulumi_wasm_runner/build.rs | 15 - .../proto/google/protobuf/any.proto | 155 --- .../proto/google/protobuf/api.proto | 210 ----- .../proto/google/protobuf/descriptor.proto | 885 ------------------ .../proto/google/protobuf/duration.proto | 116 --- .../proto/google/protobuf/empty.proto | 52 - .../proto/google/protobuf/field_mask.proto | 245 ----- .../google/protobuf/source_context.proto | 48 - .../proto/google/protobuf/struct.proto | 95 -- .../proto/google/protobuf/timestamp.proto | 138 --- .../proto/google/protobuf/type.proto | 187 ---- .../proto/google/protobuf/wrappers.proto | 123 --- pulumi_wasm_runner/proto/pulumi/alias.proto | 38 - .../proto/pulumi/analyzer.proto | 180 ---- .../proto/pulumi/codegen/hcl.proto | 89 -- .../proto/pulumi/codegen/loader.proto | 43 - .../proto/pulumi/codegen/mapper.proto | 45 - .../proto/pulumi/converter.proto | 84 -- pulumi_wasm_runner/proto/pulumi/engine.proto | 85 -- pulumi_wasm_runner/proto/pulumi/errors.proto | 25 - .../proto/pulumi/language.proto | 232 ----- pulumi_wasm_runner/proto/pulumi/plugin.proto | 45 - .../proto/pulumi/provider.proto | 440 --------- .../proto/pulumi/resource.proto | 171 ---- pulumi_wasm_runner/proto/pulumi/source.proto | 26 - .../proto/pulumi/testing/language.proto | 67 -- .../src/create_final_component.rs | 4 +- pulumi_wasm_runner/src/main.rs | 9 +- pulumi_wasm_runner/src/pulumi.rs | 10 +- pulumi_wasm_rust/Cargo.toml | 4 +- pulumi_wasm_rust/src/lib.rs | 13 +- pulumi_wasm_rust/src/runner.rs | 2 +- pulumi_wasm_rust_macro/src/lib.rs | 2 +- pulumi_wasm_wit/Cargo.toml | 15 + pulumi_wasm_wit/src/lib.rs | 36 + pulumi_wasm_wit/wit/world.wit | 181 ++++ regenerate_providers/src/main.rs | 4 +- wits/world.wit | 2 +- 142 files changed, 655 insertions(+), 4236 deletions(-) create mode 100644 .cargo/config.toml delete mode 100644 pulumi_wasm/build.rs rename {wasm_common => pulumi_wasm_common}/Cargo.toml (70%) rename {wasm_common => pulumi_wasm_common}/src/lib.rs (56%) rename {wasm_common => pulumi_wasm_common}/src/logger.rs (93%) delete mode 100644 pulumi_wasm_core/build.rs create mode 100644 pulumi_wasm_proto/Cargo.toml create mode 100644 pulumi_wasm_proto/build.rs rename {proto => pulumi_wasm_proto/proto}/google/protobuf/any.proto (100%) rename {proto => pulumi_wasm_proto/proto}/google/protobuf/api.proto (100%) rename {proto => pulumi_wasm_proto/proto}/google/protobuf/descriptor.proto (100%) rename {proto => pulumi_wasm_proto/proto}/google/protobuf/duration.proto (100%) rename {proto => pulumi_wasm_proto/proto}/google/protobuf/empty.proto (100%) rename {proto => pulumi_wasm_proto/proto}/google/protobuf/field_mask.proto (100%) rename {proto => pulumi_wasm_proto/proto}/google/protobuf/source_context.proto (100%) rename {proto => pulumi_wasm_proto/proto}/google/protobuf/struct.proto (100%) rename {proto => pulumi_wasm_proto/proto}/google/protobuf/timestamp.proto (100%) rename {proto => pulumi_wasm_proto/proto}/google/protobuf/type.proto (100%) rename {proto => pulumi_wasm_proto/proto}/google/protobuf/wrappers.proto (100%) rename {proto => pulumi_wasm_proto/proto}/pulumi/alias.proto (100%) rename {proto => pulumi_wasm_proto/proto}/pulumi/analyzer.proto (100%) rename {proto => pulumi_wasm_proto/proto}/pulumi/codegen/hcl.proto (100%) rename {proto => pulumi_wasm_proto/proto}/pulumi/codegen/loader.proto (100%) rename {proto => pulumi_wasm_proto/proto}/pulumi/codegen/mapper.proto (100%) rename {proto => pulumi_wasm_proto/proto}/pulumi/converter.proto (100%) rename {proto => pulumi_wasm_proto/proto}/pulumi/engine.proto (100%) rename {proto => pulumi_wasm_proto/proto}/pulumi/errors.proto (100%) rename {proto => pulumi_wasm_proto/proto}/pulumi/language.proto (100%) rename {proto => pulumi_wasm_proto/proto}/pulumi/plugin.proto (100%) rename {proto => pulumi_wasm_proto/proto}/pulumi/provider.proto (100%) rename {proto => pulumi_wasm_proto/proto}/pulumi/resource.proto (100%) rename {proto => pulumi_wasm_proto/proto}/pulumi/source.proto (100%) rename {proto => pulumi_wasm_proto/proto}/pulumi/testing/language.proto (100%) create mode 100644 pulumi_wasm_proto/src/lib.rs delete mode 100644 pulumi_wasm_runner/build.rs delete mode 100644 pulumi_wasm_runner/proto/google/protobuf/any.proto delete mode 100644 pulumi_wasm_runner/proto/google/protobuf/api.proto delete mode 100644 pulumi_wasm_runner/proto/google/protobuf/descriptor.proto delete mode 100644 pulumi_wasm_runner/proto/google/protobuf/duration.proto delete mode 100644 pulumi_wasm_runner/proto/google/protobuf/empty.proto delete mode 100644 pulumi_wasm_runner/proto/google/protobuf/field_mask.proto delete mode 100644 pulumi_wasm_runner/proto/google/protobuf/source_context.proto delete mode 100644 pulumi_wasm_runner/proto/google/protobuf/struct.proto delete mode 100644 pulumi_wasm_runner/proto/google/protobuf/timestamp.proto delete mode 100644 pulumi_wasm_runner/proto/google/protobuf/type.proto delete mode 100644 pulumi_wasm_runner/proto/google/protobuf/wrappers.proto delete mode 100644 pulumi_wasm_runner/proto/pulumi/alias.proto delete mode 100644 pulumi_wasm_runner/proto/pulumi/analyzer.proto delete mode 100644 pulumi_wasm_runner/proto/pulumi/codegen/hcl.proto delete mode 100644 pulumi_wasm_runner/proto/pulumi/codegen/loader.proto delete mode 100644 pulumi_wasm_runner/proto/pulumi/codegen/mapper.proto delete mode 100644 pulumi_wasm_runner/proto/pulumi/converter.proto delete mode 100644 pulumi_wasm_runner/proto/pulumi/engine.proto delete mode 100644 pulumi_wasm_runner/proto/pulumi/errors.proto delete mode 100644 pulumi_wasm_runner/proto/pulumi/language.proto delete mode 100644 pulumi_wasm_runner/proto/pulumi/plugin.proto delete mode 100644 pulumi_wasm_runner/proto/pulumi/provider.proto delete mode 100644 pulumi_wasm_runner/proto/pulumi/resource.proto delete mode 100644 pulumi_wasm_runner/proto/pulumi/source.proto delete mode 100644 pulumi_wasm_runner/proto/pulumi/testing/language.proto create mode 100644 pulumi_wasm_wit/Cargo.toml create mode 100644 pulumi_wasm_wit/src/lib.rs create mode 100644 pulumi_wasm_wit/wit/world.wit diff --git a/.cargo/config.toml b/.cargo/config.toml new file mode 100644 index 00000000..29188ae9 --- /dev/null +++ b/.cargo/config.toml @@ -0,0 +1,5 @@ +[registries.cloudsmith] +index = "sparse+https://cargo.cloudsmith.io/andrzej-ressel-github/pulumi-wasm/" + +[registry] +default = "cloudsmith" \ No newline at end of file diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c3cc1054..e5b5433a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -98,7 +98,7 @@ jobs: length: 7 - name: Package language plugin if: runner.os == 'Linux' - run: just package-language-plugin "0.1.0-${{ steps.short-sha.outputs.sha }}" + run: just package-language-plugin "0.0.0-${{ steps.short-sha.outputs.sha }}" - uses: actions/upload-artifact@v4 if: runner.os == 'Linux' with: @@ -124,8 +124,8 @@ jobs: - name: Release uses: softprops/action-gh-release@v2.0.8 with: - name: 0.1.0-${{ steps.short-sha.outputs.sha }} - tag_name: v0.1.0-${{ steps.short-sha.outputs.sha }} + name: 0.0.0-${{ steps.short-sha.outputs.sha }} + tag_name: v0.0.0-${{ steps.short-sha.outputs.sha }} fail_on_unmatched_files: true prerelease: true body: "" diff --git a/Cargo.lock b/Cargo.lock index d41c0536..e062a8cc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1850,34 +1850,40 @@ dependencies = [ [[package]] name = "pulumi-wasm-parent" -version = "0.1.0" +version = "0.0.0" [[package]] name = "pulumi_wasm" -version = "0.1.0" +version = "0.0.0" dependencies = [ "anyhow", "bitflags", - "futures", "lazy_static", "log", "once_cell", - "prost", - "prost-types", + "pulumi_wasm_common", "pulumi_wasm_core", "serde", "serde_json", "tonic-build", "uuid", - "wasm_common", "wasmtime", "wasmtime-wasi", "wit-bindgen-rt", ] +[[package]] +name = "pulumi_wasm_common" +version = "0.0.0" +dependencies = [ + "log", + "pulumi_wasm_wit", + "uuid", +] + [[package]] name = "pulumi_wasm_core" -version = "0.1.0" +version = "0.0.0" dependencies = [ "anyhow", "lazy_static", @@ -1886,8 +1892,8 @@ dependencies = [ "once_cell", "prost", "prost-types", + "pulumi_wasm_proto", "serde_json", - "tonic-build", "uuid", ] @@ -1905,13 +1911,13 @@ dependencies = [ name = "pulumi_wasm_docker_provider" version = "4.5.3" dependencies = [ - "wasm_common", + "pulumi_wasm_common", "wit-bindgen-rt", ] [[package]] name = "pulumi_wasm_example_dependencies" -version = "0.1.0" +version = "0.0.0" dependencies = [ "anyhow", "assert_cmd", @@ -1923,7 +1929,7 @@ dependencies = [ [[package]] name = "pulumi_wasm_example_docker" -version = "0.1.0" +version = "0.0.0" dependencies = [ "anyhow", "assert_cmd", @@ -1935,7 +1941,7 @@ dependencies = [ [[package]] name = "pulumi_wasm_example_multiple_providers" -version = "0.1.0" +version = "0.0.0" dependencies = [ "anyhow", "assert_cmd", @@ -1948,7 +1954,7 @@ dependencies = [ [[package]] name = "pulumi_wasm_example_simple" -version = "0.1.0" +version = "0.0.0" dependencies = [ "anyhow", "assert_cmd", @@ -1960,7 +1966,7 @@ dependencies = [ [[package]] name = "pulumi_wasm_generator" -version = "0.1.0" +version = "0.0.0" dependencies = [ "anyhow", "clap", @@ -1969,7 +1975,7 @@ dependencies = [ [[package]] name = "pulumi_wasm_generator_lib" -version = "0.1.0" +version = "0.0.0" dependencies = [ "anyhow", "assert_cmd", @@ -1982,6 +1988,17 @@ dependencies = [ "serde_yaml", ] +[[package]] +name = "pulumi_wasm_proto" +version = "0.0.0" +dependencies = [ + "mockall", + "prost", + "prost-types", + "tonic", + "tonic-build", +] + [[package]] name = "pulumi_wasm_random" version = "4.15.0" @@ -1996,13 +2013,13 @@ dependencies = [ name = "pulumi_wasm_random_provider" version = "4.15.0" dependencies = [ - "wasm_common", + "pulumi_wasm_common", "wit-bindgen-rt", ] [[package]] name = "pulumi_wasm_runner" -version = "0.1.0" +version = "0.0.0" dependencies = [ "anyhow", "async-trait", @@ -2012,12 +2029,13 @@ dependencies = [ "log4rs", "prost", "prost-types", + "pulumi_wasm_proto", + "pulumi_wasm_wit", "regex", "serde", "serde_json", "tokio", "tonic", - "tonic-build", "tonic-web", "uuid", "wac-graph", @@ -2027,7 +2045,7 @@ dependencies = [ [[package]] name = "pulumi_wasm_rust" -version = "0.1.0" +version = "0.0.0" dependencies = [ "anyhow", "bitflags", @@ -2035,25 +2053,33 @@ dependencies = [ "lazy_static", "log", "prettyplease", + "pulumi_wasm_common", "pulumi_wasm_rust_macro", + "pulumi_wasm_wit", "quote", "serde", "serde_json", "syn 2.0.71", "uuid", - "wasm_common", - "wit-bindgen", ] [[package]] name = "pulumi_wasm_rust_macro" -version = "0.1.0" +version = "0.0.0" dependencies = [ "proc-macro2", "quote", "syn 2.0.71", ] +[[package]] +name = "pulumi_wasm_wit" +version = "0.0.0" +dependencies = [ + "wasmtime", + "wit-bindgen", +] + [[package]] name = "quote" version = "1.0.36" @@ -2148,7 +2174,7 @@ dependencies = [ [[package]] name = "regenerate_providers" -version = "0.1.0" +version = "0.0.0" [[package]] name = "regex" @@ -3017,15 +3043,6 @@ dependencies = [ "wasmparser 0.214.0", ] -[[package]] -name = "wasm_common" -version = "0.1.0" -dependencies = [ - "log", - "uuid", - "wit-bindgen", -] - [[package]] name = "wasmparser" version = "0.202.0" diff --git a/Cargo.toml b/Cargo.toml index 006b5833..67a42ecb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,35 +11,39 @@ members = [ "examples/docker", "examples/multiple_providers", "examples/simple", -# DO NOT EDIT - START + # DO NOT EDIT - START "providers/pulumi_wasm_provider_docker", "providers/pulumi_wasm_provider_docker_rust", "providers/pulumi_wasm_provider_random", "providers/pulumi_wasm_provider_random_rust", -# DO NOT EDIT - END + # DO NOT EDIT - END "pulumi_wasm", + "pulumi_wasm_common", "pulumi_wasm_core", "pulumi_wasm_generator", "pulumi_wasm_generator_lib", + "pulumi_wasm_proto", "pulumi_wasm_runner", "pulumi_wasm_rust", "pulumi_wasm_rust_macro", + "pulumi_wasm_wit", "regenerate_providers", - "wasm_common", ] [workspace.package] -version = "0.1.0" +version = "0.0.0" edition = "2021" [workspace.dependencies] -pulumi_wasm_core = { path = "pulumi_wasm_core" } -pulumi_wasm_docker = { path = "providers/pulumi_wasm_provider_docker_rust" } -pulumi_wasm_generator_lib = { path = "pulumi_wasm_generator_lib" } -pulumi_wasm_random = { path = "providers/pulumi_wasm_provider_random_rust" } -pulumi_wasm_rust = { path = "pulumi_wasm_rust" } -pulumi_wasm_rust_macro = { path = "pulumi_wasm_rust_macro" } -wasm_common = { path = "wasm_common" } +pulumi_wasm_core = { version = "0.0.0", path = "pulumi_wasm_core", registry = "cloudsmith" } +pulumi_wasm_docker = { version = "4.5.3", path = "providers/pulumi_wasm_provider_docker_rust", registry = "cloudsmith" } +pulumi_wasm_generator_lib = { version = "0.0.0", path = "pulumi_wasm_generator_lib", registry = "cloudsmith" } +pulumi_wasm_random = { version = "4.15.0", path = "providers/pulumi_wasm_provider_random_rust", registry = "cloudsmith" } +pulumi_wasm_rust = { version = "0.0.0", path = "pulumi_wasm_rust", registry = "cloudsmith" } +pulumi_wasm_rust_macro = { version = "0.0.0", path = "pulumi_wasm_rust_macro", registry = "cloudsmith" } +pulumi_wasm_common = { version = "0.0.0", path = "pulumi_wasm_common", registry = "cloudsmith" } +pulumi_wasm_proto = { version = "0.0.0", path = "pulumi_wasm_proto", registry = "cloudsmith" } +pulumi_wasm_wit = { version = "0.0.0", path = "pulumi_wasm_wit", registry = "cloudsmith" } anyhow = "1.0.82" prost = "0.13.1" diff --git a/README.md b/README.md index 979aa9cd..8db2cd41 100644 --- a/README.md +++ b/README.md @@ -9,5 +9,5 @@ Currently, supports very simple code for very simple providers (no complex objec #### Language plugin ``` -pulumi plugin install language wasm "0.1.0-SHORTSHA1" --server github://api.github.com/andrzejressel/pulumi-wasm +pulumi plugin install language wasm "0.0.0-SHORTSHA1" --server github://api.github.com/andrzejressel/pulumi-wasm ``` \ No newline at end of file diff --git a/docs/crates.md b/docs/crates.md index 548466c9..9a4819f7 100644 --- a/docs/crates.md +++ b/docs/crates.md @@ -7,7 +7,7 @@ Main WASM component. Currently implements Output handling, send and handles requ ### Pulumi WASM runner x64 application that runs the WASM component. -Implements `component:pulumi-wasm@0.1.0/external-world` and `component:pulumi-wasm@0.1.0/log` interfaces. +Implements `component:pulumi-wasm@0.0.0/external-world` and `component:pulumi-wasm@0.0.0/log` interfaces. ### Pulumi WASM Rust diff --git a/justfile b/justfile index d41ecf12..15f12508 100644 --- a/justfile +++ b/justfile @@ -24,12 +24,13 @@ install-requirements: cargo binstall --no-confirm cargo-nextest@{{NEXTEST_VERSION}} --force || cargo-nextest --version cargo binstall --no-confirm cargo-component@{{CARGO_COMPONENT_VERSION}} --force || cargo-component --version +# Compiling everything together causes linking issues build-wasm-components: - cargo component build -p pulumi_wasm \ - -p pulumi_wasm_example_simple \ - -p pulumi_wasm_example_docker \ - -p pulumi_wasm_example_dependencies \ - -p pulumi_wasm_example_multiple_providers --timings + cargo component build -p pulumi_wasm --timings + cargo component build -p pulumi_wasm_example_simple --timings + cargo component build -p pulumi_wasm_example_docker --timings + cargo component build -p pulumi_wasm_example_dependencies --timings + cargo component build -p pulumi_wasm_example_multiple_providers --timings # DO NOT EDIT - BUILD-WASM-COMPONENTS - START cargo component build \ -p pulumi_wasm_docker_provider \ @@ -60,6 +61,19 @@ regenerate-providers: cargo run -p pulumi_wasm_generator -- gen-rust --remove true --schema providers/random.json --output providers/pulumi_wasm_provider_random_rust # DO NOT EDIT - REGENERATE-PROVIDERS - END +publish: + cargo publish -p pulumi_wasm_wit --allow-dirty --all-features + cargo publish -p pulumi_wasm_proto --allow-dirty --all-features + cargo publish -p pulumi_wasm_common --allow-dirty --all-features + cargo publish -p pulumi_wasm_rust_macro --allow-dirty --all-features + cargo publish -p pulumi_wasm_rust --allow-dirty --all-features + cargo publish -p pulumi_wasm_generator_lib --allow-dirty --all-features + cargo publish -p pulumi_wasm_generator --allow-dirty --all-features + cargo publish -p pulumi_wasm_core --allow-dirty --all-features + cargo publish -p pulumi_wasm_docker --allow-dirty --all-features + cargo publish -p pulumi_wasm_random --allow-dirty --all-features + cargo publish -p pulumi_wasm_runner --allow-dirty --all-features + test: cargo nextest run --workspace --timings diff --git a/providers/pulumi_wasm_provider_docker/Cargo.toml b/providers/pulumi_wasm_provider_docker/Cargo.toml index 44984891..858c12f2 100644 --- a/providers/pulumi_wasm_provider_docker/Cargo.toml +++ b/providers/pulumi_wasm_provider_docker/Cargo.toml @@ -10,7 +10,7 @@ crate-type = ["cdylib"] [dependencies] wit-bindgen-rt.workspace = true -wasm_common.workspace = true +pulumi_wasm_common.workspace = true [package.metadata.component] package = "pulumi:docker" diff --git a/providers/pulumi_wasm_provider_docker/src/bindings.rs b/providers/pulumi_wasm_provider_docker/src/bindings.rs index d1f8f144..589e0043 100644 --- a/providers/pulumi_wasm_provider_docker/src/bindings.rs +++ b/providers/pulumi_wasm_provider_docker/src/bindings.rs @@ -46,7 +46,7 @@ pub mod component { #[cfg(target_arch = "wasm32")] { - #[link(wasm_import_module = "component:pulumi-wasm/output-interface@0.1.0")] + #[link(wasm_import_module = "component:pulumi-wasm/output-interface@0.0.0")] extern "C" { #[link_name = "[resource-drop]output"] fn drop(_: u32); @@ -66,7 +66,7 @@ pub mod component { let len0 = vec0.len(); #[cfg(target_arch = "wasm32")] - #[link(wasm_import_module = "component:pulumi-wasm/output-interface@0.1.0")] + #[link(wasm_import_module = "component:pulumi-wasm/output-interface@0.0.0")] extern "C" { #[link_name = "[constructor]output"] fn wit_import(_: *mut u8, _: usize) -> i32; @@ -90,7 +90,7 @@ pub mod component { let len0 = vec0.len(); #[cfg(target_arch = "wasm32")] - #[link(wasm_import_module = "component:pulumi-wasm/output-interface@0.1.0")] + #[link(wasm_import_module = "component:pulumi-wasm/output-interface@0.0.0")] extern "C" { #[link_name = "[method]output.map"] fn wit_import(_: i32, _: *mut u8, _: usize) -> i32; @@ -110,7 +110,7 @@ pub mod component { pub fn duplicate(&self) -> Output { unsafe { #[cfg(target_arch = "wasm32")] - #[link(wasm_import_module = "component:pulumi-wasm/output-interface@0.1.0")] + #[link(wasm_import_module = "component:pulumi-wasm/output-interface@0.0.0")] extern "C" { #[link_name = "[method]output.duplicate"] fn wit_import(_: i32) -> i32; @@ -150,7 +150,7 @@ pub mod component { } #[cfg(target_arch = "wasm32")] - #[link(wasm_import_module = "component:pulumi-wasm/output-interface@0.1.0")] + #[link(wasm_import_module = "component:pulumi-wasm/output-interface@0.0.0")] extern "C" { #[link_name = "combine"] fn wit_import(_: *mut u8, _: usize) -> i32; @@ -313,7 +313,7 @@ pub mod component { } let ptr9 = ret_area.0.as_mut_ptr().cast::(); #[cfg(target_arch = "wasm32")] - #[link(wasm_import_module = "component:pulumi-wasm/register-interface@0.1.0")] + #[link(wasm_import_module = "component:pulumi-wasm/register-interface@0.0.0")] extern "C" { #[link_name = "register"] fn wit_import( @@ -2790,7 +2790,7 @@ pub static __WIT_BINDGEN_COMPONENT_TYPE: [u8; 4774] = *b"\ tructor]output\x01\x02\x01h\0\x01@\x02\x04self\x03\x0dfunction-names\0\x01\x04\0\ \x12[method]output.map\x01\x04\x01@\x01\x04self\x03\0\x01\x04\0\x18[method]outpu\ t.duplicate\x01\x05\x01p\x01\x01@\x01\x07outputs\x06\0\x01\x04\0\x07combine\x01\x07\ -\x03\x01,component:pulumi-wasm/output-interface@0.1.0\x05\0\x02\x03\0\0\x06outpu\ +\x03\x01,component:pulumi-wasm/output-interface@0.0.0\x05\0\x02\x03\0\0\x06outpu\ t\x01B\x13\x02\x03\x02\x01\x01\x04\0\x06output\x03\0\0\x01h\x01\x01r\x02\x04name\ s\x05value\x02\x04\0\x0cobject-field\x03\0\x03\x01r\x01\x04names\x04\0\x0cresult\ -field\x03\0\x05\x01i\x01\x01r\x02\x04names\x06output\x07\x04\0\x1eregister-reso\ @@ -2798,7 +2798,7 @@ urce-result-field\x03\0\x08\x01p\x04\x01p\x06\x01r\x04\x04types\x04names\x06obje ct\x0a\x07results\x0b\x04\0\x19register-resource-request\x03\0\x0c\x01p\x09\x01r\ \x01\x06fields\x0e\x04\0\x18register-resource-result\x03\0\x0f\x01@\x01\x07reque\ st\x0d\0\x10\x04\0\x08register\x01\x11\x03\x01.component:pulumi-wasm/register-in\ -terface@0.1.0\x05\x02\x01B\x0a\x02\x03\x02\x01\x01\x04\0\x06output\x03\0\0\x01h\x01\ +terface@0.0.0\x05\x02\x01B\x0a\x02\x03\x02\x01\x01\x04\0\x06output\x03\0\0\x01h\x01\ \x01r>\x06attach\x02\x0ccapabilities\x02\x0dcgroupns-mode\x02\x07command\x02+con\ tainer-read-refresh-timeout-milliseconds\x02\x07cpu-set\x02\x0acpu-shares\x02\x15\ destroy-grace-seconds\x02\x07devices\x02\x03dns\x02\x08dns-opts\x02\x0cdns-searc\ diff --git a/providers/pulumi_wasm_provider_docker/src/lib.rs b/providers/pulumi_wasm_provider_docker/src/lib.rs index 80c8923f..4c43434a 100644 --- a/providers/pulumi_wasm_provider_docker/src/lib.rs +++ b/providers/pulumi_wasm_provider_docker/src/lib.rs @@ -20,7 +20,7 @@ struct Component {} impl container::Guest for Component { fn invoke(name: String, args: container::Args) -> container::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "docker:index/container:Container".into(), name, @@ -940,7 +940,7 @@ impl container::Guest for Component { } impl image::Guest for Component { fn invoke(name: String, args: image::Args) -> image::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "docker:index/image:Image".into(), name, @@ -1048,7 +1048,7 @@ impl image::Guest for Component { } impl network::Guest for Component { fn invoke(name: String, args: network::Args) -> network::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "docker:index/network:Network".into(), name, @@ -1244,7 +1244,7 @@ impl network::Guest for Component { } impl plugin::Guest for Component { fn invoke(name: String, args: plugin::Args) -> plugin::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "docker:index/plugin:Plugin".into(), name, @@ -1398,7 +1398,7 @@ impl plugin::Guest for Component { } impl registry_image::Guest for Component { fn invoke(name: String, args: registry_image::Args) -> registry_image::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "docker:index/registryImage:RegistryImage".into(), name, @@ -1482,7 +1482,7 @@ impl registry_image::Guest for Component { } impl remote_image::Guest for Component { fn invoke(name: String, args: remote_image::Args) -> remote_image::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "docker:index/remoteImage:RemoteImage".into(), name, @@ -1618,7 +1618,7 @@ impl remote_image::Guest for Component { } impl secret::Guest for Component { fn invoke(name: String, args: secret::Args) -> secret::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "docker:index/secret:Secret".into(), name, @@ -1678,7 +1678,7 @@ impl secret::Guest for Component { } impl service::Guest for Component { fn invoke(name: String, args: service::Args) -> service::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "docker:index/service:Service".into(), name, @@ -1822,7 +1822,7 @@ impl service::Guest for Component { } impl service_config::Guest for Component { fn invoke(name: String, args: service_config::Args) -> service_config::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "docker:index/serviceConfig:ServiceConfig".into(), name, @@ -1868,7 +1868,7 @@ impl service_config::Guest for Component { } impl tag::Guest for Component { fn invoke(name: String, args: tag::Args) -> tag::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "docker:index/tag:Tag".into(), name, @@ -1924,7 +1924,7 @@ impl tag::Guest for Component { } impl volume::Guest for Component { fn invoke(name: String, args: volume::Args) -> volume::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "docker:index/volume:Volume".into(), name, diff --git a/providers/pulumi_wasm_provider_docker/wit/deps/pulumi-wasm.wit b/providers/pulumi_wasm_provider_docker/wit/deps/pulumi-wasm.wit index e1580bf4..adeb3ea7 100644 --- a/providers/pulumi_wasm_provider_docker/wit/deps/pulumi-wasm.wit +++ b/providers/pulumi_wasm_provider_docker/wit/deps/pulumi-wasm.wit @@ -1,4 +1,4 @@ -package component:pulumi-wasm@0.1.0; +package component:pulumi-wasm@0.0.0; interface output-interface { diff --git a/providers/pulumi_wasm_provider_docker/wit/world.wit b/providers/pulumi_wasm_provider_docker/wit/world.wit index c0645fdd..326098ce 100644 --- a/providers/pulumi_wasm_provider_docker/wit/world.wit +++ b/providers/pulumi_wasm_provider_docker/wit/world.wit @@ -1,7 +1,7 @@ package pulumi:%docker@4.5.3; world %docker-pulumi { - import component:pulumi-wasm/register-interface@0.1.0; + import component:pulumi-wasm/register-interface@0.0.0; export %container; export %image; export %network; @@ -31,7 +31,7 @@ world %docker-pulumi-client { interface %container { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %attach: borrow, @@ -173,7 +173,7 @@ interface %container { interface %image { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %build: borrow, @@ -199,7 +199,7 @@ interface %image { interface %network { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %attachable: borrow, @@ -238,7 +238,7 @@ interface %network { interface %plugin { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %alias: borrow, @@ -271,7 +271,7 @@ interface %plugin { interface %registry-image { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %insecure-skip-verify: borrow, @@ -294,7 +294,7 @@ interface %registry-image { interface %remote-image { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %build: borrow, @@ -324,7 +324,7 @@ interface %remote-image { interface %secret { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %data: borrow, @@ -344,7 +344,7 @@ interface %secret { interface %service { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %auth: borrow, @@ -376,7 +376,7 @@ interface %service { interface %service-config { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %data: borrow, @@ -394,7 +394,7 @@ interface %service-config { interface %tag { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %source-image: borrow, @@ -413,7 +413,7 @@ interface %tag { interface %volume { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %driver: borrow, diff --git a/providers/pulumi_wasm_provider_docker_rust/src/lib.rs b/providers/pulumi_wasm_provider_docker_rust/src/lib.rs index 33e0400f..502d4768 100644 --- a/providers/pulumi_wasm_provider_docker_rust/src/lib.rs +++ b/providers/pulumi_wasm_provider_docker_rust/src/lib.rs @@ -8,7 +8,7 @@ mod bindings { // the name of the world in the `*.wit` input file world: "docker-pulumi-client", with: { - "component:pulumi-wasm/output-interface@0.1.0": generate + "component:pulumi-wasm/output-interface@0.0.0": generate } }); } diff --git a/providers/pulumi_wasm_provider_docker_rust/wit/deps/pulumi-wasm.wit b/providers/pulumi_wasm_provider_docker_rust/wit/deps/pulumi-wasm.wit index e1580bf4..adeb3ea7 100644 --- a/providers/pulumi_wasm_provider_docker_rust/wit/deps/pulumi-wasm.wit +++ b/providers/pulumi_wasm_provider_docker_rust/wit/deps/pulumi-wasm.wit @@ -1,4 +1,4 @@ -package component:pulumi-wasm@0.1.0; +package component:pulumi-wasm@0.0.0; interface output-interface { diff --git a/providers/pulumi_wasm_provider_docker_rust/wit/world.wit b/providers/pulumi_wasm_provider_docker_rust/wit/world.wit index c0645fdd..326098ce 100644 --- a/providers/pulumi_wasm_provider_docker_rust/wit/world.wit +++ b/providers/pulumi_wasm_provider_docker_rust/wit/world.wit @@ -1,7 +1,7 @@ package pulumi:%docker@4.5.3; world %docker-pulumi { - import component:pulumi-wasm/register-interface@0.1.0; + import component:pulumi-wasm/register-interface@0.0.0; export %container; export %image; export %network; @@ -31,7 +31,7 @@ world %docker-pulumi-client { interface %container { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %attach: borrow, @@ -173,7 +173,7 @@ interface %container { interface %image { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %build: borrow, @@ -199,7 +199,7 @@ interface %image { interface %network { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %attachable: borrow, @@ -238,7 +238,7 @@ interface %network { interface %plugin { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %alias: borrow, @@ -271,7 +271,7 @@ interface %plugin { interface %registry-image { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %insecure-skip-verify: borrow, @@ -294,7 +294,7 @@ interface %registry-image { interface %remote-image { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %build: borrow, @@ -324,7 +324,7 @@ interface %remote-image { interface %secret { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %data: borrow, @@ -344,7 +344,7 @@ interface %secret { interface %service { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %auth: borrow, @@ -376,7 +376,7 @@ interface %service { interface %service-config { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %data: borrow, @@ -394,7 +394,7 @@ interface %service-config { interface %tag { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %source-image: borrow, @@ -413,7 +413,7 @@ interface %tag { interface %volume { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %driver: borrow, diff --git a/providers/pulumi_wasm_provider_random/Cargo.toml b/providers/pulumi_wasm_provider_random/Cargo.toml index 00a55918..8d8526e8 100644 --- a/providers/pulumi_wasm_provider_random/Cargo.toml +++ b/providers/pulumi_wasm_provider_random/Cargo.toml @@ -10,7 +10,7 @@ crate-type = ["cdylib"] [dependencies] wit-bindgen-rt.workspace = true -wasm_common.workspace = true +pulumi_wasm_common.workspace = true [package.metadata.component] package = "pulumi:random" diff --git a/providers/pulumi_wasm_provider_random/src/bindings.rs b/providers/pulumi_wasm_provider_random/src/bindings.rs index d5a41ba0..2f8cc971 100644 --- a/providers/pulumi_wasm_provider_random/src/bindings.rs +++ b/providers/pulumi_wasm_provider_random/src/bindings.rs @@ -46,7 +46,7 @@ pub mod component { #[cfg(target_arch = "wasm32")] { - #[link(wasm_import_module = "component:pulumi-wasm/output-interface@0.1.0")] + #[link(wasm_import_module = "component:pulumi-wasm/output-interface@0.0.0")] extern "C" { #[link_name = "[resource-drop]output"] fn drop(_: u32); @@ -66,7 +66,7 @@ pub mod component { let len0 = vec0.len(); #[cfg(target_arch = "wasm32")] - #[link(wasm_import_module = "component:pulumi-wasm/output-interface@0.1.0")] + #[link(wasm_import_module = "component:pulumi-wasm/output-interface@0.0.0")] extern "C" { #[link_name = "[constructor]output"] fn wit_import(_: *mut u8, _: usize) -> i32; @@ -90,7 +90,7 @@ pub mod component { let len0 = vec0.len(); #[cfg(target_arch = "wasm32")] - #[link(wasm_import_module = "component:pulumi-wasm/output-interface@0.1.0")] + #[link(wasm_import_module = "component:pulumi-wasm/output-interface@0.0.0")] extern "C" { #[link_name = "[method]output.map"] fn wit_import(_: i32, _: *mut u8, _: usize) -> i32; @@ -110,7 +110,7 @@ pub mod component { pub fn duplicate(&self) -> Output { unsafe { #[cfg(target_arch = "wasm32")] - #[link(wasm_import_module = "component:pulumi-wasm/output-interface@0.1.0")] + #[link(wasm_import_module = "component:pulumi-wasm/output-interface@0.0.0")] extern "C" { #[link_name = "[method]output.duplicate"] fn wit_import(_: i32) -> i32; @@ -150,7 +150,7 @@ pub mod component { } #[cfg(target_arch = "wasm32")] - #[link(wasm_import_module = "component:pulumi-wasm/output-interface@0.1.0")] + #[link(wasm_import_module = "component:pulumi-wasm/output-interface@0.0.0")] extern "C" { #[link_name = "combine"] fn wit_import(_: *mut u8, _: usize) -> i32; @@ -313,7 +313,7 @@ pub mod component { } let ptr9 = ret_area.0.as_mut_ptr().cast::(); #[cfg(target_arch = "wasm32")] - #[link(wasm_import_module = "component:pulumi-wasm/register-interface@0.1.0")] + #[link(wasm_import_module = "component:pulumi-wasm/register-interface@0.0.0")] extern "C" { #[link_name = "register"] fn wit_import( @@ -1649,7 +1649,7 @@ A\x15\x01B\x0c\x04\0\x06output\x03\x01\x01i\0\x01@\x01\x05values\0\x01\x04\0\x13 [constructor]output\x01\x02\x01h\0\x01@\x02\x04self\x03\x0dfunction-names\0\x01\x04\ \0\x12[method]output.map\x01\x04\x01@\x01\x04self\x03\0\x01\x04\0\x18[method]out\ put.duplicate\x01\x05\x01p\x01\x01@\x01\x07outputs\x06\0\x01\x04\0\x07combine\x01\ -\x07\x03\x01,component:pulumi-wasm/output-interface@0.1.0\x05\0\x02\x03\0\0\x06o\ +\x07\x03\x01,component:pulumi-wasm/output-interface@0.0.0\x05\0\x02\x03\0\0\x06o\ utput\x01B\x13\x02\x03\x02\x01\x01\x04\0\x06output\x03\0\0\x01h\x01\x01r\x02\x04\ names\x05value\x02\x04\0\x0cobject-field\x03\0\x03\x01r\x01\x04names\x04\0\x0cre\ sult-field\x03\0\x05\x01i\x01\x01r\x02\x04names\x06output\x07\x04\0\x1eregister-\ @@ -1657,7 +1657,7 @@ resource-result-field\x03\0\x08\x01p\x04\x01p\x06\x01r\x04\x04types\x04names\x06 object\x0a\x07results\x0b\x04\0\x19register-resource-request\x03\0\x0c\x01p\x09\x01\ r\x01\x06fields\x0e\x04\0\x18register-resource-result\x03\0\x0f\x01@\x01\x07requ\ est\x0d\0\x10\x04\0\x08register\x01\x11\x03\x01.component:pulumi-wasm/register-i\ -nterface@0.1.0\x05\x02\x01B\x0a\x02\x03\x02\x01\x01\x04\0\x06output\x03\0\0\x01h\ +nterface@0.0.0\x05\x02\x01B\x0a\x02\x03\x02\x01\x01\x04\0\x06output\x03\0\0\x01h\ \x01\x01r\x02\x07keepers\x02\x06length\x02\x04\0\x04args\x03\0\x03\x01i\x01\x01r\ \x04\x06base64\x05\x03hex\x05\x07keepers\x05\x06length\x05\x04\0\x03res\x03\0\x06\ \x01@\x02\x04names\x04args\x04\0\x07\x04\0\x06invoke\x01\x08\x04\x01!pulumi:rand\ diff --git a/providers/pulumi_wasm_provider_random/src/lib.rs b/providers/pulumi_wasm_provider_random/src/lib.rs index 046fd9a2..b44eb8e0 100644 --- a/providers/pulumi_wasm_provider_random/src/lib.rs +++ b/providers/pulumi_wasm_provider_random/src/lib.rs @@ -17,7 +17,7 @@ struct Component {} impl random_bytes::Guest for Component { fn invoke(name: String, args: random_bytes::Args) -> random_bytes::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "random:index/randomBytes:RandomBytes".into(), name, @@ -81,7 +81,7 @@ impl random_bytes::Guest for Component { } impl random_id::Guest for Component { fn invoke(name: String, args: random_id::Args) -> random_id::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "random:index/randomId:RandomId".into(), name, @@ -177,7 +177,7 @@ impl random_id::Guest for Component { } impl random_integer::Guest for Component { fn invoke(name: String, args: random_integer::Args) -> random_integer::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "random:index/randomInteger:RandomInteger".into(), name, @@ -257,7 +257,7 @@ impl random_integer::Guest for Component { } impl random_password::Guest for Component { fn invoke(name: String, args: random_password::Args) -> random_password::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "random:index/randomPassword:RandomPassword".into(), name, @@ -463,7 +463,7 @@ impl random_password::Guest for Component { } impl random_pet::Guest for Component { fn invoke(name: String, args: random_pet::Args) -> random_pet::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "random:index/randomPet:RandomPet".into(), name, @@ -537,7 +537,7 @@ impl random_pet::Guest for Component { } impl random_shuffle::Guest for Component { fn invoke(name: String, args: random_shuffle::Args) -> random_shuffle::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "random:index/randomShuffle:RandomShuffle".into(), name, @@ -621,7 +621,7 @@ impl random_shuffle::Guest for Component { } impl random_string::Guest for Component { fn invoke(name: String, args: random_string::Args) -> random_string::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "random:index/randomString:RandomString".into(), name, @@ -817,7 +817,7 @@ impl random_string::Guest for Component { } impl random_uuid::Guest for Component { fn invoke(name: String, args: random_uuid::Args) -> random_uuid::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "random:index/randomUuid:RandomUuid".into(), name, diff --git a/providers/pulumi_wasm_provider_random/wit/deps/pulumi-wasm.wit b/providers/pulumi_wasm_provider_random/wit/deps/pulumi-wasm.wit index e1580bf4..adeb3ea7 100644 --- a/providers/pulumi_wasm_provider_random/wit/deps/pulumi-wasm.wit +++ b/providers/pulumi_wasm_provider_random/wit/deps/pulumi-wasm.wit @@ -1,4 +1,4 @@ -package component:pulumi-wasm@0.1.0; +package component:pulumi-wasm@0.0.0; interface output-interface { diff --git a/providers/pulumi_wasm_provider_random/wit/world.wit b/providers/pulumi_wasm_provider_random/wit/world.wit index d7652c77..10c4534b 100644 --- a/providers/pulumi_wasm_provider_random/wit/world.wit +++ b/providers/pulumi_wasm_provider_random/wit/world.wit @@ -1,7 +1,7 @@ package pulumi:%random@4.15.0; world %random-pulumi { - import component:pulumi-wasm/register-interface@0.1.0; + import component:pulumi-wasm/register-interface@0.0.0; export %random-bytes; export %random-id; export %random-integer; @@ -25,7 +25,7 @@ world %random-pulumi-client { interface %random-bytes { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %keepers: borrow, @@ -45,7 +45,7 @@ interface %random-bytes { interface %random-id { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %byte-length: borrow, @@ -69,7 +69,7 @@ interface %random-id { interface %random-integer { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %keepers: borrow, @@ -92,7 +92,7 @@ interface %random-integer { interface %random-password { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %keepers: borrow, @@ -132,7 +132,7 @@ interface %random-password { interface %random-pet { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %keepers: borrow, @@ -154,7 +154,7 @@ interface %random-pet { interface %random-shuffle { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %inputs: borrow, @@ -177,7 +177,7 @@ interface %random-shuffle { interface %random-string { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %keepers: borrow, @@ -216,7 +216,7 @@ interface %random-string { interface %random-uuid { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %keepers: borrow, diff --git a/providers/pulumi_wasm_provider_random_rust/src/lib.rs b/providers/pulumi_wasm_provider_random_rust/src/lib.rs index 3b30b7a9..7fea5630 100644 --- a/providers/pulumi_wasm_provider_random_rust/src/lib.rs +++ b/providers/pulumi_wasm_provider_random_rust/src/lib.rs @@ -8,7 +8,7 @@ mod bindings { // the name of the world in the `*.wit` input file world: "random-pulumi-client", with: { - "component:pulumi-wasm/output-interface@0.1.0": generate + "component:pulumi-wasm/output-interface@0.0.0": generate } }); } diff --git a/providers/pulumi_wasm_provider_random_rust/wit/deps/pulumi-wasm.wit b/providers/pulumi_wasm_provider_random_rust/wit/deps/pulumi-wasm.wit index e1580bf4..adeb3ea7 100644 --- a/providers/pulumi_wasm_provider_random_rust/wit/deps/pulumi-wasm.wit +++ b/providers/pulumi_wasm_provider_random_rust/wit/deps/pulumi-wasm.wit @@ -1,4 +1,4 @@ -package component:pulumi-wasm@0.1.0; +package component:pulumi-wasm@0.0.0; interface output-interface { diff --git a/providers/pulumi_wasm_provider_random_rust/wit/world.wit b/providers/pulumi_wasm_provider_random_rust/wit/world.wit index d7652c77..10c4534b 100644 --- a/providers/pulumi_wasm_provider_random_rust/wit/world.wit +++ b/providers/pulumi_wasm_provider_random_rust/wit/world.wit @@ -1,7 +1,7 @@ package pulumi:%random@4.15.0; world %random-pulumi { - import component:pulumi-wasm/register-interface@0.1.0; + import component:pulumi-wasm/register-interface@0.0.0; export %random-bytes; export %random-id; export %random-integer; @@ -25,7 +25,7 @@ world %random-pulumi-client { interface %random-bytes { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %keepers: borrow, @@ -45,7 +45,7 @@ interface %random-bytes { interface %random-id { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %byte-length: borrow, @@ -69,7 +69,7 @@ interface %random-id { interface %random-integer { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %keepers: borrow, @@ -92,7 +92,7 @@ interface %random-integer { interface %random-password { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %keepers: borrow, @@ -132,7 +132,7 @@ interface %random-password { interface %random-pet { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %keepers: borrow, @@ -154,7 +154,7 @@ interface %random-pet { interface %random-shuffle { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %inputs: borrow, @@ -177,7 +177,7 @@ interface %random-shuffle { interface %random-string { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %keepers: borrow, @@ -216,7 +216,7 @@ interface %random-string { interface %random-uuid { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %keepers: borrow, diff --git a/pulumi_wasm/Cargo.toml b/pulumi_wasm/Cargo.toml index 81a16b0f..68e87c1d 100644 --- a/pulumi_wasm/Cargo.toml +++ b/pulumi_wasm/Cargo.toml @@ -10,18 +10,14 @@ crate-type = ["cdylib"] [dependencies] anyhow.workspace = true -prost.workspace = true -prost-types.workspace = true uuid.workspace = true -futures.workspace = true lazy_static.workspace = true once_cell.workspace = true bitflags.workspace = true wit-bindgen-rt.workspace = true serde.workspace = true -#tonic.workspace = true serde_json.workspace = true -wasm_common.workspace = true +pulumi_wasm_common.workspace = true log.workspace = true pulumi_wasm_core.workspace = true diff --git a/pulumi_wasm/build.rs b/pulumi_wasm/build.rs deleted file mode 100644 index bdd05ae9..00000000 --- a/pulumi_wasm/build.rs +++ /dev/null @@ -1,15 +0,0 @@ -fn main() -> Result<(), Box> { - tonic_build::configure() - .build_transport(false) - .build_client(false) - .build_server(false) - .compile( - &[ - "../proto/pulumi/plugin.proto", - "../proto/pulumi/engine.proto", - "../proto/pulumi/resource.proto", - ], - &["../proto"], - )?; - Ok(()) -} diff --git a/pulumi_wasm/src/bindings.rs b/pulumi_wasm/src/bindings.rs index 2bdc442c..d6d89432 100644 --- a/pulumi_wasm/src/bindings.rs +++ b/pulumi_wasm/src/bindings.rs @@ -150,7 +150,7 @@ pub mod component { } #[cfg(target_arch = "wasm32")] - #[link(wasm_import_module = "component:pulumi-wasm/log@0.1.0")] + #[link(wasm_import_module = "component:pulumi-wasm/log@0.0.0")] extern "C" { #[link_name = "log"] fn wit_import( @@ -254,7 +254,7 @@ pub mod component { pub fn is_in_preview() -> bool { unsafe { #[cfg(target_arch = "wasm32")] - #[link(wasm_import_module = "component:pulumi-wasm/external-world@0.1.0")] + #[link(wasm_import_module = "component:pulumi-wasm/external-world@0.0.0")] extern "C" { #[link_name = "is-in-preview"] fn wit_import() -> i32; @@ -276,7 +276,7 @@ pub mod component { let mut ret_area = RetArea([::core::mem::MaybeUninit::uninit(); 8]); let ptr0 = ret_area.0.as_mut_ptr().cast::(); #[cfg(target_arch = "wasm32")] - #[link(wasm_import_module = "component:pulumi-wasm/external-world@0.1.0")] + #[link(wasm_import_module = "component:pulumi-wasm/external-world@0.0.0")] extern "C" { #[link_name = "get-root-resource"] fn wit_import(_: *mut u8); @@ -305,7 +305,7 @@ pub mod component { let len0 = vec0.len(); let ptr1 = ret_area.0.as_mut_ptr().cast::(); #[cfg(target_arch = "wasm32")] - #[link(wasm_import_module = "component:pulumi-wasm/external-world@0.1.0")] + #[link(wasm_import_module = "component:pulumi-wasm/external-world@0.0.0")] extern "C" { #[link_name = "register-resource-outputs"] fn wit_import(_: *mut u8, _: usize, _: *mut u8); @@ -337,7 +337,7 @@ pub mod component { let len2 = vec2.len(); #[cfg(target_arch = "wasm32")] - #[link(wasm_import_module = "component:pulumi-wasm/external-world@0.1.0")] + #[link(wasm_import_module = "component:pulumi-wasm/external-world@0.0.0")] extern "C" { #[link_name = "register-resource"] fn wit_import(_: *mut u8, _: usize, _: *mut u8, _: usize); @@ -358,7 +358,7 @@ pub mod component { let mut ret_area = RetArea([::core::mem::MaybeUninit::uninit(); 8]); let ptr0 = ret_area.0.as_mut_ptr().cast::(); #[cfg(target_arch = "wasm32")] - #[link(wasm_import_module = "component:pulumi-wasm/external-world@0.1.0")] + #[link(wasm_import_module = "component:pulumi-wasm/external-world@0.0.0")] extern "C" { #[link_name = "wait-for-registered-resources"] fn wit_import(_: *mut u8); @@ -544,7 +544,7 @@ pub mod exports { #[cfg(target_arch = "wasm32")] { #[link( - wasm_import_module = "[export]component:pulumi-wasm/output-interface@0.1.0" + wasm_import_module = "[export]component:pulumi-wasm/output-interface@0.0.0" )] extern "C" { #[link_name = "[resource-drop]output"] @@ -636,7 +636,7 @@ pub mod exports { #[cfg(target_arch = "wasm32")] { #[link( - wasm_import_module = "[export]component:pulumi-wasm/output-interface@0.1.0" + wasm_import_module = "[export]component:pulumi-wasm/output-interface@0.0.0" )] extern "C" { #[link_name = "[resource-new]output"] @@ -660,7 +660,7 @@ pub mod exports { #[cfg(target_arch = "wasm32")] { #[link( - wasm_import_module = "[export]component:pulumi-wasm/output-interface@0.1.0" + wasm_import_module = "[export]component:pulumi-wasm/output-interface@0.0.0" )] extern "C" { #[link_name = "[resource-rep]output"] @@ -676,29 +676,29 @@ pub mod exports { } #[doc(hidden)] - macro_rules! __export_component_pulumi_wasm_output_interface_0_1_0_cabi{ + macro_rules! __export_component_pulumi_wasm_output_interface_0_0_0_cabi{ ($ty:ident with_types_in $($path_to_types:tt)*) => (const _: () = { - #[export_name = "component:pulumi-wasm/output-interface@0.1.0#[constructor]output"] + #[export_name = "component:pulumi-wasm/output-interface@0.0.0#[constructor]output"] unsafe extern "C" fn export_constructor_output(arg0: *mut u8,arg1: usize,) -> i32 { $($path_to_types)*::_export_constructor_output_cabi::<<$ty as $($path_to_types)*::Guest>::Output>(arg0, arg1) } - #[export_name = "component:pulumi-wasm/output-interface@0.1.0#[method]output.map"] + #[export_name = "component:pulumi-wasm/output-interface@0.0.0#[method]output.map"] unsafe extern "C" fn export_method_output_map(arg0: *mut u8,arg1: *mut u8,arg2: usize,) -> i32 { $($path_to_types)*::_export_method_output_map_cabi::<<$ty as $($path_to_types)*::Guest>::Output>(arg0, arg1, arg2) } - #[export_name = "component:pulumi-wasm/output-interface@0.1.0#[method]output.duplicate"] + #[export_name = "component:pulumi-wasm/output-interface@0.0.0#[method]output.duplicate"] unsafe extern "C" fn export_method_output_duplicate(arg0: *mut u8,) -> i32 { $($path_to_types)*::_export_method_output_duplicate_cabi::<<$ty as $($path_to_types)*::Guest>::Output>(arg0) } - #[export_name = "component:pulumi-wasm/output-interface@0.1.0#combine"] + #[export_name = "component:pulumi-wasm/output-interface@0.0.0#combine"] unsafe extern "C" fn export_combine(arg0: *mut u8,arg1: usize,) -> i32 { $($path_to_types)*::_export_combine_cabi::<$ty>(arg0, arg1) } const _: () = { #[doc(hidden)] - #[export_name = "component:pulumi-wasm/output-interface@0.1.0#[dtor]output"] + #[export_name = "component:pulumi-wasm/output-interface@0.0.0#[dtor]output"] #[allow(non_snake_case)] unsafe extern "C" fn dtor(rep: *mut u8) { $($path_to_types)*::Output::dtor::< @@ -710,7 +710,7 @@ pub mod exports { };); } #[doc(hidden)] - pub(crate) use __export_component_pulumi_wasm_output_interface_0_1_0_cabi; + pub(crate) use __export_component_pulumi_wasm_output_interface_0_0_0_cabi; } #[allow(dead_code, clippy::all)] @@ -905,21 +905,21 @@ pub mod exports { } #[doc(hidden)] - macro_rules! __export_component_pulumi_wasm_register_interface_0_1_0_cabi{ + macro_rules! __export_component_pulumi_wasm_register_interface_0_0_0_cabi{ ($ty:ident with_types_in $($path_to_types:tt)*) => (const _: () = { - #[export_name = "component:pulumi-wasm/register-interface@0.1.0#register"] + #[export_name = "component:pulumi-wasm/register-interface@0.0.0#register"] unsafe extern "C" fn export_register(arg0: *mut u8,arg1: usize,arg2: *mut u8,arg3: usize,arg4: *mut u8,arg5: usize,arg6: *mut u8,arg7: usize,) -> *mut u8 { $($path_to_types)*::_export_register_cabi::<$ty>(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) } - #[export_name = "cabi_post_component:pulumi-wasm/register-interface@0.1.0#register"] + #[export_name = "cabi_post_component:pulumi-wasm/register-interface@0.0.0#register"] unsafe extern "C" fn _post_return_register(arg0: *mut u8,) { $($path_to_types)*::__post_return_register::<$ty>(arg0) } };); } #[doc(hidden)] - pub(crate) use __export_component_pulumi_wasm_register_interface_0_1_0_cabi; + pub(crate) use __export_component_pulumi_wasm_register_interface_0_0_0_cabi; #[repr(align(4))] struct _RetArea([::core::mem::MaybeUninit; 8]); static mut _RET_AREA: _RetArea = _RetArea([::core::mem::MaybeUninit::uninit(); 8]); @@ -1074,25 +1074,25 @@ pub mod exports { } #[doc(hidden)] - macro_rules! __export_component_pulumi_wasm_stack_interface_0_1_0_cabi{ + macro_rules! __export_component_pulumi_wasm_stack_interface_0_0_0_cabi{ ($ty:ident with_types_in $($path_to_types:tt)*) => (const _: () = { - #[export_name = "component:pulumi-wasm/stack-interface@0.1.0#add-export"] + #[export_name = "component:pulumi-wasm/stack-interface@0.0.0#add-export"] unsafe extern "C" fn export_add_export(arg0: *mut u8,arg1: usize,arg2: i32,) { $($path_to_types)*::_export_add_export_cabi::<$ty>(arg0, arg1, arg2) } - #[export_name = "component:pulumi-wasm/stack-interface@0.1.0#finish"] + #[export_name = "component:pulumi-wasm/stack-interface@0.0.0#finish"] unsafe extern "C" fn export_finish(arg0: *mut u8,arg1: usize,) -> *mut u8 { $($path_to_types)*::_export_finish_cabi::<$ty>(arg0, arg1) } - #[export_name = "cabi_post_component:pulumi-wasm/stack-interface@0.1.0#finish"] + #[export_name = "cabi_post_component:pulumi-wasm/stack-interface@0.0.0#finish"] unsafe extern "C" fn _post_return_finish(arg0: *mut u8,) { $($path_to_types)*::__post_return_finish::<$ty>(arg0) } };); } #[doc(hidden)] - pub(crate) use __export_component_pulumi_wasm_stack_interface_0_1_0_cabi; + pub(crate) use __export_component_pulumi_wasm_stack_interface_0_0_0_cabi; #[repr(align(4))] struct _RetArea([::core::mem::MaybeUninit; 8]); static mut _RET_AREA: _RetArea = _RetArea([::core::mem::MaybeUninit::uninit(); 8]); @@ -1325,9 +1325,9 @@ mod _rt { macro_rules! __export_pulumi_wasm_impl { ($ty:ident) => (self::export!($ty with_types_in self);); ($ty:ident with_types_in $($path_to_types_root:tt)*) => ( - $($path_to_types_root)*::exports::component::pulumi_wasm::output_interface::__export_component_pulumi_wasm_output_interface_0_1_0_cabi!($ty with_types_in $($path_to_types_root)*::exports::component::pulumi_wasm::output_interface); - $($path_to_types_root)*::exports::component::pulumi_wasm::register_interface::__export_component_pulumi_wasm_register_interface_0_1_0_cabi!($ty with_types_in $($path_to_types_root)*::exports::component::pulumi_wasm::register_interface); - $($path_to_types_root)*::exports::component::pulumi_wasm::stack_interface::__export_component_pulumi_wasm_stack_interface_0_1_0_cabi!($ty with_types_in $($path_to_types_root)*::exports::component::pulumi_wasm::stack_interface); + $($path_to_types_root)*::exports::component::pulumi_wasm::output_interface::__export_component_pulumi_wasm_output_interface_0_0_0_cabi!($ty with_types_in $($path_to_types_root)*::exports::component::pulumi_wasm::output_interface); + $($path_to_types_root)*::exports::component::pulumi_wasm::register_interface::__export_component_pulumi_wasm_register_interface_0_0_0_cabi!($ty with_types_in $($path_to_types_root)*::exports::component::pulumi_wasm::register_interface); + $($path_to_types_root)*::exports::component::pulumi_wasm::stack_interface::__export_component_pulumi_wasm_stack_interface_0_0_0_cabi!($ty with_types_in $($path_to_types_root)*::exports::component::pulumi_wasm::stack_interface); ) } #[doc(inline)] @@ -1342,31 +1342,31 @@ A\x0b\x01B\x0a\x01m\x05\x05TRACE\x05DEBUG\x04INFO\x04WARN\x05ERROR\x04\0\x05leve l\x03\0\0\x01ks\x01ky\x01o\x02ss\x01p\x04\x01r\x07\x05level\x01\x06targets\x04ar\ gss\x0bmodule-path\x02\x04file\x02\x04line\x03\x0akey-values\x05\x04\0\x07conten\ t\x03\0\x06\x01@\x01\x07content\x07\x01\0\x04\0\x03log\x01\x08\x03\x01\x1fcompon\ -ent:pulumi-wasm/log@0.1.0\x05\0\x01B\x10\x01p}\x01r\x02\x09output-ids\x04body\0\x04\ +ent:pulumi-wasm/log@0.0.0\x05\0\x01B\x10\x01p}\x01r\x02\x09output-ids\x04body\0\x04\ \0\x19register-resource-request\x03\0\x01\x01r\x02\x09output-ids\x04body\0\x04\0\ \x13registered-resource\x03\0\x03\x01@\0\0\x7f\x04\0\x0dis-in-preview\x01\x05\x01\ @\0\0s\x04\0\x11get-root-resource\x01\x06\x01@\x01\x07request\0\0\0\x04\0\x19reg\ ister-resource-outputs\x01\x07\x01@\x01\x07request\x02\x01\0\x04\0\x11register-r\ esource\x01\x08\x01p\x04\x01@\0\0\x09\x04\0\x1dwait-for-registered-resources\x01\ -\x0a\x03\x01*component:pulumi-wasm/external-world@0.1.0\x05\x01\x01B\x0c\x04\0\x06\ +\x0a\x03\x01*component:pulumi-wasm/external-world@0.0.0\x05\x01\x01B\x0c\x04\0\x06\ output\x03\x01\x01i\0\x01@\x01\x05values\0\x01\x04\0\x13[constructor]output\x01\x02\ \x01h\0\x01@\x02\x04self\x03\x0dfunction-names\0\x01\x04\0\x12[method]output.map\ \x01\x04\x01@\x01\x04self\x03\0\x01\x04\0\x18[method]output.duplicate\x01\x05\x01\ p\x01\x01@\x01\x07outputs\x06\0\x01\x04\0\x07combine\x01\x07\x04\x01,component:p\ -ulumi-wasm/output-interface@0.1.0\x05\x02\x02\x03\0\x02\x06output\x01B\x13\x02\x03\ +ulumi-wasm/output-interface@0.0.0\x05\x02\x02\x03\0\x02\x06output\x01B\x13\x02\x03\ \x02\x01\x03\x04\0\x06output\x03\0\0\x01h\x01\x01r\x02\x04names\x05value\x02\x04\ \0\x0cobject-field\x03\0\x03\x01r\x01\x04names\x04\0\x0cresult-field\x03\0\x05\x01\ i\x01\x01r\x02\x04names\x06output\x07\x04\0\x1eregister-resource-result-field\x03\ \0\x08\x01p\x04\x01p\x06\x01r\x04\x04types\x04names\x06object\x0a\x07results\x0b\ \x04\0\x19register-resource-request\x03\0\x0c\x01p\x09\x01r\x01\x06fields\x0e\x04\ \0\x18register-resource-result\x03\0\x0f\x01@\x01\x07request\x0d\0\x10\x04\0\x08\ -register\x01\x11\x04\x01.component:pulumi-wasm/register-interface@0.1.0\x05\x04\x01\ +register\x01\x11\x04\x01.component:pulumi-wasm/register-interface@0.0.0\x05\x04\x01\ B\x0e\x02\x03\x02\x01\x03\x04\0\x06output\x03\0\0\x01i\x01\x01r\x03\x02id\x02\x0b\ function-ids\x05values\x04\0\x1bfunction-invocation-request\x03\0\x03\x01h\x01\x01\ r\x02\x02id\x05\x05values\x04\0\x1afunction-invocation-result\x03\0\x06\x01@\x02\ \x04names\x05value\x05\x01\0\x04\0\x0aadd-export\x01\x08\x01p\x07\x01p\x04\x01@\x01\ \x09functions\x09\0\x0a\x04\0\x06finish\x01\x0b\x04\x01+component:pulumi-wasm/st\ -ack-interface@0.1.0\x05\x05\x04\x01'component:pulumi-wasm/pulumi-wasm@0.1.0\x04\0\ +ack-interface@0.0.0\x05\x05\x04\x01'component:pulumi-wasm/pulumi-wasm@0.0.0\x04\0\ \x0b\x11\x01\0\x0bpulumi-wasm\x03\0\0\0G\x09producers\x01\x0cprocessed-by\x02\x0d\ wit-component\x070.208.1\x10wit-bindgen-rust\x060.25.0"; diff --git a/pulumi_wasm/src/lib.rs b/pulumi_wasm/src/lib.rs index 2ad9e0c6..6817e24a 100644 --- a/pulumi_wasm/src/lib.rs +++ b/pulumi_wasm/src/lib.rs @@ -24,13 +24,13 @@ bindings::export!(Component with_types_in bindings); #[allow(unused_variables)] #[allow(unused_unsafe)] mod bindings; -mod grpc { - #![allow(clippy::all)] - #![allow(clippy::pedantic)] - // https://github.com/hyperium/tonic/issues/1783 - include!(concat!(env!("OUT_DIR"), concat!("/", "pulumirpc", ".rs"))); - // tonic::include_proto!("pulumirpc"); -} +// mod grpc { +// #![allow(clippy::all)] +// #![allow(clippy::pedantic)] +// // https://github.com/hyperium/tonic/issues/1783 +// include!(concat!(env!("OUT_DIR"), concat!("/", "pulumirpc", ".rs"))); +// // tonic::include_proto!("pulumirpc"); +// } mod globals; mod pulumi_connector_impl; @@ -47,7 +47,7 @@ struct Component; impl stack_interface::Guest for Component { fn add_export(name: String, value: OutputBorrow<'_>) { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let refcell: &RefCell = &get_pulumi_engine(); refcell .borrow_mut() @@ -55,7 +55,7 @@ impl stack_interface::Guest for Component { } fn finish(functions: Vec) -> Vec { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let refcell: &RefCell = &get_pulumi_engine(); @@ -93,7 +93,7 @@ impl output_interface::Guest for Component { type Output = CustomOutputId; fn combine(outputs: Vec) -> Output { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let refcell: &RefCell = &get_pulumi_engine(); let output_id = refcell.borrow_mut().create_combine_outputs( outputs @@ -107,7 +107,7 @@ impl output_interface::Guest for Component { impl register_interface::Guest for Component { fn register(request: RegisterResourceRequest<'_>) -> RegisterResourceResult { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let refcell: &RefCell = &get_pulumi_engine(); let outputs = request @@ -145,7 +145,7 @@ impl register_interface::Guest for Component { impl GuestOutput for CustomOutputId { fn new(value: String) -> CustomOutputId { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let value = serde_json::from_str(&value).unwrap(); let refcell: &RefCell = &get_pulumi_engine(); let output_id = refcell.borrow_mut().create_done_node(value); @@ -153,7 +153,7 @@ impl GuestOutput for CustomOutputId { } fn map(&self, function_name: String) -> Output { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let refcell: &RefCell = &get_pulumi_engine(); let output_id = refcell .borrow_mut() @@ -162,7 +162,7 @@ impl GuestOutput for CustomOutputId { } fn duplicate(&self) -> Output { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); Output::new::(self.0.into()) } } diff --git a/wasm_common/Cargo.toml b/pulumi_wasm_common/Cargo.toml similarity index 70% rename from wasm_common/Cargo.toml rename to pulumi_wasm_common/Cargo.toml index 671cdc2a..55e90fcd 100644 --- a/wasm_common/Cargo.toml +++ b/pulumi_wasm_common/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "wasm_common" +name = "pulumi_wasm_common" version.workspace = true edition.workspace = true @@ -8,4 +8,4 @@ edition.workspace = true [dependencies] log.workspace = true uuid.workspace = true -wit-bindgen.workspace = true +pulumi_wasm_wit = { workspace = true, features = ["logger"] } \ No newline at end of file diff --git a/wasm_common/src/lib.rs b/pulumi_wasm_common/src/lib.rs similarity index 56% rename from wasm_common/src/lib.rs rename to pulumi_wasm_common/src/lib.rs index 4088fe71..e30727d2 100644 --- a/wasm_common/src/lib.rs +++ b/pulumi_wasm_common/src/lib.rs @@ -2,20 +2,9 @@ use std::sync::atomic::AtomicBool; use std::sync::atomic::Ordering::Relaxed; use crate::logger::Logger; +use pulumi_wasm_wit::bindings_logger; -#[allow(clippy::all)] -#[allow(dead_code)] -#[allow(unused_variables)] -#[allow(unused_unsafe)] -mod bindings { - wit_bindgen::generate!({ - // the name of the world in the `*.wit` input file - world: "logger", - path: "../wits/world.wit" - }); -} - -pub use bindings::*; +pub use bindings_logger::*; mod logger; diff --git a/wasm_common/src/logger.rs b/pulumi_wasm_common/src/logger.rs similarity index 93% rename from wasm_common/src/logger.rs rename to pulumi_wasm_common/src/logger.rs index d74de52f..48fa7be4 100644 --- a/wasm_common/src/logger.rs +++ b/pulumi_wasm_common/src/logger.rs @@ -1,6 +1,6 @@ -use crate::bindings; -use crate::bindings::component::pulumi_wasm::log::Content; -use bindings::component::pulumi_wasm; +use crate::bindings_logger; +use crate::bindings_logger::component::pulumi_wasm::log::Content; +use bindings_logger::component::pulumi_wasm; use log::kv::{Source, VisitSource}; use log::{Level, Log, Metadata, Record}; use std::collections::HashMap; diff --git a/pulumi_wasm_core/Cargo.toml b/pulumi_wasm_core/Cargo.toml index fe8e3f56..065b73a4 100644 --- a/pulumi_wasm_core/Cargo.toml +++ b/pulumi_wasm_core/Cargo.toml @@ -13,11 +13,8 @@ uuid.workspace = true lazy_static.workspace = true once_cell.workspace = true log.workspace = true -#tonic.workspace = true serde_json.workspace = true - -[build-dependencies] -tonic-build.workspace = true +pulumi_wasm_proto.workspace = true [dev-dependencies] mockall.workspace = true \ No newline at end of file diff --git a/pulumi_wasm_core/build.rs b/pulumi_wasm_core/build.rs deleted file mode 100644 index bdd05ae9..00000000 --- a/pulumi_wasm_core/build.rs +++ /dev/null @@ -1,15 +0,0 @@ -fn main() -> Result<(), Box> { - tonic_build::configure() - .build_transport(false) - .build_client(false) - .build_server(false) - .compile( - &[ - "../proto/pulumi/plugin.proto", - "../proto/pulumi/engine.proto", - "../proto/pulumi/resource.proto", - ], - &["../proto"], - )?; - Ok(()) -} diff --git a/pulumi_wasm_core/src/pulumi/service_impl.rs b/pulumi_wasm_core/src/pulumi/service_impl.rs index 2f0e7288..e6515f03 100644 --- a/pulumi_wasm_core/src/pulumi/service_impl.rs +++ b/pulumi_wasm_core/src/pulumi/service_impl.rs @@ -5,6 +5,7 @@ use log::{error, warn}; use prost::Message; use prost_types::value::Kind; use prost_types::{ListValue, Struct}; +use pulumi_wasm_proto::grpc; use serde_json::{Number, Value}; use crate::model::{FieldName, OutputId}; @@ -17,14 +18,6 @@ pub struct PulumiServiceImpl { is_in_preview: bool, } -mod grpc { - #![allow(clippy::all)] - #![allow(clippy::pedantic)] - // https://github.com/hyperium/tonic/issues/1783 - include!(concat!(env!("OUT_DIR"), concat!("/", "pulumirpc", ".rs"))); - // tonic::include_proto!("pulumirpc"); -} - impl PulumiServiceImpl { pub fn new(connector: impl PulumiConnector + 'static) -> PulumiServiceImpl { let is_in_preview = connector.is_in_preview(); diff --git a/pulumi_wasm_generator_lib/src/output/provider/Cargo.toml.handlebars b/pulumi_wasm_generator_lib/src/output/provider/Cargo.toml.handlebars index b1364f36..a943a898 100644 --- a/pulumi_wasm_generator_lib/src/output/provider/Cargo.toml.handlebars +++ b/pulumi_wasm_generator_lib/src/output/provider/Cargo.toml.handlebars @@ -10,7 +10,7 @@ crate-type = ["cdylib"] [dependencies] wit-bindgen-rt.workspace = true -wasm_common.workspace = true +pulumi_wasm_common.workspace = true [package.metadata.component] package = "pulumi:{{package.name}}" diff --git a/pulumi_wasm_generator_lib/src/output/provider/lib.rs.handlebars b/pulumi_wasm_generator_lib/src/output/provider/lib.rs.handlebars index 2f0f8edb..94c8ebfd 100644 --- a/pulumi_wasm_generator_lib/src/output/provider/lib.rs.handlebars +++ b/pulumi_wasm_generator_lib/src/output/provider/lib.rs.handlebars @@ -13,7 +13,7 @@ struct Component {} {{#each package.interfaces}} impl {{name}}::Guest for Component { fn invoke(name: String, args: {{name}}::Args) -> {{name}}::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "{{type}}".into(), name, diff --git a/pulumi_wasm_generator_lib/src/output/rust/lib.rs.handlebars b/pulumi_wasm_generator_lib/src/output/rust/lib.rs.handlebars index 33697e8b..39047b37 100644 --- a/pulumi_wasm_generator_lib/src/output/rust/lib.rs.handlebars +++ b/pulumi_wasm_generator_lib/src/output/rust/lib.rs.handlebars @@ -11,7 +11,7 @@ mod bindings { world: "{{package.name}}-pulumi-client", {{#if package.interfaces}} with: { - "component:pulumi-wasm/output-interface@0.1.0": generate + "component:pulumi-wasm/output-interface@0.0.0": generate } {{/if}} }); diff --git a/pulumi_wasm_generator_lib/src/output/wit/dependencies.wit b/pulumi_wasm_generator_lib/src/output/wit/dependencies.wit index e1580bf4..adeb3ea7 100644 --- a/pulumi_wasm_generator_lib/src/output/wit/dependencies.wit +++ b/pulumi_wasm_generator_lib/src/output/wit/dependencies.wit @@ -1,4 +1,4 @@ -package component:pulumi-wasm@0.1.0; +package component:pulumi-wasm@0.0.0; interface output-interface { diff --git a/pulumi_wasm_generator_lib/src/output/wit/wit.handlebars b/pulumi_wasm_generator_lib/src/output/wit/wit.handlebars index 42f18f23..79275787 100644 --- a/pulumi_wasm_generator_lib/src/output/wit/wit.handlebars +++ b/pulumi_wasm_generator_lib/src/output/wit/wit.handlebars @@ -1,7 +1,7 @@ package pulumi:{{package.name}}@{{package.version}}; world {{package.name}}-pulumi { - import component:pulumi-wasm/register-interface@0.1.0; + import component:pulumi-wasm/register-interface@0.0.0; {{#each package.interfaces}} export {{name}}; {{/each}} @@ -16,7 +16,7 @@ world {{package.name}}-pulumi-client { {{#each package.interfaces}} interface {{name}} { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { {{#each arguments}} diff --git a/pulumi_wasm_generator_lib/tests/input/Cargo.toml b/pulumi_wasm_generator_lib/tests/input/Cargo.toml index 8927194d..49a8e83b 100644 --- a/pulumi_wasm_generator_lib/tests/input/Cargo.toml +++ b/pulumi_wasm_generator_lib/tests/input/Cargo.toml @@ -13,6 +13,6 @@ members = [ wit-bindgen-rt = "0.27.0" wit-bindgen = "0.27.0" automod = "1.0.14" -wasm_common = { path = "../../../../../wasm_common" } +pulumi_wasm_common = { path = "../../../../../pulumi_wasm_common" } pulumi_wasm_rust = { path = "../../../../../pulumi_wasm_rust" } serde = "1.0.197" \ No newline at end of file diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/Cargo.toml b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/Cargo.toml index 8927194d..49a8e83b 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/Cargo.toml +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/Cargo.toml @@ -13,6 +13,6 @@ members = [ wit-bindgen-rt = "0.27.0" wit-bindgen = "0.27.0" automod = "1.0.14" -wasm_common = { path = "../../../../../wasm_common" } +pulumi_wasm_common = { path = "../../../../../pulumi_wasm_common" } pulumi_wasm_rust = { path = "../../../../../pulumi_wasm_rust" } serde = "1.0.197" \ No newline at end of file diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/lib/src/lib.rs b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/lib/src/lib.rs index 170ed876..7b66b25d 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/lib/src/lib.rs +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/lib/src/lib.rs @@ -8,7 +8,7 @@ mod bindings { // the name of the world in the `*.wit` input file world: "command-pulumi-client", with: { - "component:pulumi-wasm/output-interface@0.1.0": generate + "component:pulumi-wasm/output-interface@0.0.0": generate } }); } diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/lib/wit/deps/pulumi-wasm.wit b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/lib/wit/deps/pulumi-wasm.wit index e1580bf4..adeb3ea7 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/lib/wit/deps/pulumi-wasm.wit +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/lib/wit/deps/pulumi-wasm.wit @@ -1,4 +1,4 @@ -package component:pulumi-wasm@0.1.0; +package component:pulumi-wasm@0.0.0; interface output-interface { diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/lib/wit/world.wit b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/lib/wit/world.wit index 86c9402e..1e6b0dc2 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/lib/wit/world.wit +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/lib/wit/world.wit @@ -1,7 +1,7 @@ package pulumi:%command@0.9.2; world %command-pulumi { - import component:pulumi-wasm/register-interface@0.1.0; + import component:pulumi-wasm/register-interface@0.0.0; export %local-command; export %remote-command; export %remote-copy-file; @@ -15,7 +15,7 @@ world %command-pulumi-client { interface %local-command { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %archive-paths: borrow, @@ -53,7 +53,7 @@ interface %local-command { interface %remote-command { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %connection: borrow, @@ -83,7 +83,7 @@ interface %remote-command { interface %remote-copy-file { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %connection: borrow, diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/provider/Cargo.toml b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/provider/Cargo.toml index 151cb184..26f92a11 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/provider/Cargo.toml +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/provider/Cargo.toml @@ -10,7 +10,7 @@ crate-type = ["cdylib"] [dependencies] wit-bindgen-rt.workspace = true -wasm_common.workspace = true +pulumi_wasm_common.workspace = true [package.metadata.component] package = "pulumi:command" diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/provider/src/lib.rs b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/provider/src/lib.rs index 533f4dd7..3928335a 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/provider/src/lib.rs +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/provider/src/lib.rs @@ -10,7 +10,7 @@ struct Component {} impl local_command::Guest for Component { fn invoke(name: String, args: local_command::Args) -> local_command::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "command:local:Command".into(), name, @@ -67,7 +67,7 @@ impl local_command::Guest for Component { } impl remote_command::Guest for Component { fn invoke(name: String, args: remote_command::Args) -> remote_command::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "command:remote:Command".into(), name, @@ -111,7 +111,7 @@ impl remote_command::Guest for Component { } impl remote_copy_file::Guest for Component { fn invoke(name: String, args: remote_copy_file::Args) -> remote_copy_file::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "command:remote:CopyFile".into(), name, diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/provider/wit/deps/pulumi-wasm.wit b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/provider/wit/deps/pulumi-wasm.wit index e1580bf4..adeb3ea7 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/provider/wit/deps/pulumi-wasm.wit +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/provider/wit/deps/pulumi-wasm.wit @@ -1,4 +1,4 @@ -package component:pulumi-wasm@0.1.0; +package component:pulumi-wasm@0.0.0; interface output-interface { diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/provider/wit/world.wit b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/provider/wit/world.wit index 86c9402e..1e6b0dc2 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/provider/wit/world.wit +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/command/provider/wit/world.wit @@ -1,7 +1,7 @@ package pulumi:%command@0.9.2; world %command-pulumi { - import component:pulumi-wasm/register-interface@0.1.0; + import component:pulumi-wasm/register-interface@0.0.0; export %local-command; export %remote-command; export %remote-copy-file; @@ -15,7 +15,7 @@ world %command-pulumi-client { interface %local-command { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %archive-paths: borrow, @@ -53,7 +53,7 @@ interface %local-command { interface %remote-command { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %connection: borrow, @@ -83,7 +83,7 @@ interface %remote-command { interface %remote-copy-file { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %connection: borrow, diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/Cargo.toml b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/Cargo.toml index 8927194d..49a8e83b 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/Cargo.toml +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/Cargo.toml @@ -13,6 +13,6 @@ members = [ wit-bindgen-rt = "0.27.0" wit-bindgen = "0.27.0" automod = "1.0.14" -wasm_common = { path = "../../../../../wasm_common" } +pulumi_wasm_common = { path = "../../../../../pulumi_wasm_common" } pulumi_wasm_rust = { path = "../../../../../pulumi_wasm_rust" } serde = "1.0.197" \ No newline at end of file diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/lib/src/lib.rs b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/lib/src/lib.rs index ee26685e..a9a10736 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/lib/src/lib.rs +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/lib/src/lib.rs @@ -8,7 +8,7 @@ mod bindings { // the name of the world in the `*.wit` input file world: "docker-pulumi-client", with: { - "component:pulumi-wasm/output-interface@0.1.0": generate + "component:pulumi-wasm/output-interface@0.0.0": generate } }); } diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/lib/wit/deps/pulumi-wasm.wit b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/lib/wit/deps/pulumi-wasm.wit index e1580bf4..adeb3ea7 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/lib/wit/deps/pulumi-wasm.wit +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/lib/wit/deps/pulumi-wasm.wit @@ -1,4 +1,4 @@ -package component:pulumi-wasm@0.1.0; +package component:pulumi-wasm@0.0.0; interface output-interface { diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/lib/wit/world.wit b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/lib/wit/world.wit index c0645fdd..326098ce 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/lib/wit/world.wit +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/lib/wit/world.wit @@ -1,7 +1,7 @@ package pulumi:%docker@4.5.3; world %docker-pulumi { - import component:pulumi-wasm/register-interface@0.1.0; + import component:pulumi-wasm/register-interface@0.0.0; export %container; export %image; export %network; @@ -31,7 +31,7 @@ world %docker-pulumi-client { interface %container { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %attach: borrow, @@ -173,7 +173,7 @@ interface %container { interface %image { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %build: borrow, @@ -199,7 +199,7 @@ interface %image { interface %network { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %attachable: borrow, @@ -238,7 +238,7 @@ interface %network { interface %plugin { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %alias: borrow, @@ -271,7 +271,7 @@ interface %plugin { interface %registry-image { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %insecure-skip-verify: borrow, @@ -294,7 +294,7 @@ interface %registry-image { interface %remote-image { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %build: borrow, @@ -324,7 +324,7 @@ interface %remote-image { interface %secret { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %data: borrow, @@ -344,7 +344,7 @@ interface %secret { interface %service { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %auth: borrow, @@ -376,7 +376,7 @@ interface %service { interface %service-config { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %data: borrow, @@ -394,7 +394,7 @@ interface %service-config { interface %tag { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %source-image: borrow, @@ -413,7 +413,7 @@ interface %tag { interface %volume { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %driver: borrow, diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/provider/Cargo.toml b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/provider/Cargo.toml index 44984891..858c12f2 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/provider/Cargo.toml +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/provider/Cargo.toml @@ -10,7 +10,7 @@ crate-type = ["cdylib"] [dependencies] wit-bindgen-rt.workspace = true -wasm_common.workspace = true +pulumi_wasm_common.workspace = true [package.metadata.component] package = "pulumi:docker" diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/provider/src/lib.rs b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/provider/src/lib.rs index e0953730..90867a25 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/provider/src/lib.rs +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/provider/src/lib.rs @@ -18,7 +18,7 @@ struct Component {} impl container::Guest for Component { fn invoke(name: String, args: container::Args) -> container::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "docker:index/container:Container".into(), name, @@ -231,7 +231,7 @@ impl container::Guest for Component { } impl image::Guest for Component { fn invoke(name: String, args: image::Args) -> image::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "docker:index/image:Image".into(), name, @@ -269,7 +269,7 @@ impl image::Guest for Component { } impl network::Guest for Component { fn invoke(name: String, args: network::Args) -> network::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "docker:index/network:Network".into(), name, @@ -326,7 +326,7 @@ impl network::Guest for Component { } impl plugin::Guest for Component { fn invoke(name: String, args: plugin::Args) -> plugin::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "docker:index/plugin:Plugin".into(), name, @@ -374,7 +374,7 @@ impl plugin::Guest for Component { } impl registry_image::Guest for Component { fn invoke(name: String, args: registry_image::Args) -> registry_image::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "docker:index/registryImage:RegistryImage".into(), name, @@ -407,7 +407,7 @@ impl registry_image::Guest for Component { } impl remote_image::Guest for Component { fn invoke(name: String, args: remote_image::Args) -> remote_image::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "docker:index/remoteImage:RemoteImage".into(), name, @@ -451,7 +451,7 @@ impl remote_image::Guest for Component { } impl secret::Guest for Component { fn invoke(name: String, args: secret::Args) -> secret::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "docker:index/secret:Secret".into(), name, @@ -479,7 +479,7 @@ impl secret::Guest for Component { } impl service::Guest for Component { fn invoke(name: String, args: service::Args) -> service::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "docker:index/service:Service".into(), name, @@ -525,7 +525,7 @@ impl service::Guest for Component { } impl service_config::Guest for Component { fn invoke(name: String, args: service_config::Args) -> service_config::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "docker:index/serviceConfig:ServiceConfig".into(), name, @@ -550,7 +550,7 @@ impl service_config::Guest for Component { } impl tag::Guest for Component { fn invoke(name: String, args: tag::Args) -> tag::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "docker:index/tag:Tag".into(), name, @@ -577,7 +577,7 @@ impl tag::Guest for Component { } impl volume::Guest for Component { fn invoke(name: String, args: volume::Args) -> volume::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "docker:index/volume:Volume".into(), name, diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/provider/wit/deps/pulumi-wasm.wit b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/provider/wit/deps/pulumi-wasm.wit index e1580bf4..adeb3ea7 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/provider/wit/deps/pulumi-wasm.wit +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/provider/wit/deps/pulumi-wasm.wit @@ -1,4 +1,4 @@ -package component:pulumi-wasm@0.1.0; +package component:pulumi-wasm@0.0.0; interface output-interface { diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/provider/wit/world.wit b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/provider/wit/world.wit index c0645fdd..326098ce 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/provider/wit/world.wit +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/docker/provider/wit/world.wit @@ -1,7 +1,7 @@ package pulumi:%docker@4.5.3; world %docker-pulumi { - import component:pulumi-wasm/register-interface@0.1.0; + import component:pulumi-wasm/register-interface@0.0.0; export %container; export %image; export %network; @@ -31,7 +31,7 @@ world %docker-pulumi-client { interface %container { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %attach: borrow, @@ -173,7 +173,7 @@ interface %container { interface %image { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %build: borrow, @@ -199,7 +199,7 @@ interface %image { interface %network { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %attachable: borrow, @@ -238,7 +238,7 @@ interface %network { interface %plugin { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %alias: borrow, @@ -271,7 +271,7 @@ interface %plugin { interface %registry-image { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %insecure-skip-verify: borrow, @@ -294,7 +294,7 @@ interface %registry-image { interface %remote-image { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %build: borrow, @@ -324,7 +324,7 @@ interface %remote-image { interface %secret { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %data: borrow, @@ -344,7 +344,7 @@ interface %secret { interface %service { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %auth: borrow, @@ -376,7 +376,7 @@ interface %service { interface %service-config { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %data: borrow, @@ -394,7 +394,7 @@ interface %service-config { interface %tag { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %source-image: borrow, @@ -413,7 +413,7 @@ interface %tag { interface %volume { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %driver: borrow, diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/Cargo.toml b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/Cargo.toml index 8927194d..49a8e83b 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/Cargo.toml +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/Cargo.toml @@ -13,6 +13,6 @@ members = [ wit-bindgen-rt = "0.27.0" wit-bindgen = "0.27.0" automod = "1.0.14" -wasm_common = { path = "../../../../../wasm_common" } +pulumi_wasm_common = { path = "../../../../../pulumi_wasm_common" } pulumi_wasm_rust = { path = "../../../../../pulumi_wasm_rust" } serde = "1.0.197" \ No newline at end of file diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/lib/src/lib.rs b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/lib/src/lib.rs index 65cf0c71..e07c61bf 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/lib/src/lib.rs +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/lib/src/lib.rs @@ -8,7 +8,7 @@ mod bindings { // the name of the world in the `*.wit` input file world: "random-pulumi-client", with: { - "component:pulumi-wasm/output-interface@0.1.0": generate + "component:pulumi-wasm/output-interface@0.0.0": generate } }); } diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/lib/wit/deps/pulumi-wasm.wit b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/lib/wit/deps/pulumi-wasm.wit index e1580bf4..adeb3ea7 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/lib/wit/deps/pulumi-wasm.wit +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/lib/wit/deps/pulumi-wasm.wit @@ -1,4 +1,4 @@ -package component:pulumi-wasm@0.1.0; +package component:pulumi-wasm@0.0.0; interface output-interface { diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/lib/wit/world.wit b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/lib/wit/world.wit index d7652c77..10c4534b 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/lib/wit/world.wit +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/lib/wit/world.wit @@ -1,7 +1,7 @@ package pulumi:%random@4.15.0; world %random-pulumi { - import component:pulumi-wasm/register-interface@0.1.0; + import component:pulumi-wasm/register-interface@0.0.0; export %random-bytes; export %random-id; export %random-integer; @@ -25,7 +25,7 @@ world %random-pulumi-client { interface %random-bytes { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %keepers: borrow, @@ -45,7 +45,7 @@ interface %random-bytes { interface %random-id { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %byte-length: borrow, @@ -69,7 +69,7 @@ interface %random-id { interface %random-integer { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %keepers: borrow, @@ -92,7 +92,7 @@ interface %random-integer { interface %random-password { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %keepers: borrow, @@ -132,7 +132,7 @@ interface %random-password { interface %random-pet { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %keepers: borrow, @@ -154,7 +154,7 @@ interface %random-pet { interface %random-shuffle { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %inputs: borrow, @@ -177,7 +177,7 @@ interface %random-shuffle { interface %random-string { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %keepers: borrow, @@ -216,7 +216,7 @@ interface %random-string { interface %random-uuid { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %keepers: borrow, diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/provider/Cargo.toml b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/provider/Cargo.toml index 00a55918..8d8526e8 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/provider/Cargo.toml +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/provider/Cargo.toml @@ -10,7 +10,7 @@ crate-type = ["cdylib"] [dependencies] wit-bindgen-rt.workspace = true -wasm_common.workspace = true +pulumi_wasm_common.workspace = true [package.metadata.component] package = "pulumi:random" diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/provider/src/lib.rs b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/provider/src/lib.rs index c9c3164d..c0b90451 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/provider/src/lib.rs +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/provider/src/lib.rs @@ -15,7 +15,7 @@ struct Component {} impl random_bytes::Guest for Component { fn invoke(name: String, args: random_bytes::Args) -> random_bytes::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "random:index/randomBytes:RandomBytes".into(), name, @@ -44,7 +44,7 @@ impl random_bytes::Guest for Component { } impl random_id::Guest for Component { fn invoke(name: String, args: random_id::Args) -> random_id::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "random:index/randomId:RandomId".into(), name, @@ -80,7 +80,7 @@ impl random_id::Guest for Component { } impl random_integer::Guest for Component { fn invoke(name: String, args: random_integer::Args) -> random_integer::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "random:index/randomInteger:RandomInteger".into(), name, @@ -113,7 +113,7 @@ impl random_integer::Guest for Component { } impl random_password::Guest for Component { fn invoke(name: String, args: random_password::Args) -> random_password::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "random:index/randomPassword:RandomPassword".into(), name, @@ -172,7 +172,7 @@ impl random_password::Guest for Component { } impl random_pet::Guest for Component { fn invoke(name: String, args: random_pet::Args) -> random_pet::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "random:index/randomPet:RandomPet".into(), name, @@ -203,7 +203,7 @@ impl random_pet::Guest for Component { } impl random_shuffle::Guest for Component { fn invoke(name: String, args: random_shuffle::Args) -> random_shuffle::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "random:index/randomShuffle:RandomShuffle".into(), name, @@ -236,7 +236,7 @@ impl random_shuffle::Guest for Component { } impl random_string::Guest for Component { fn invoke(name: String, args: random_string::Args) -> random_string::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "random:index/randomString:RandomString".into(), name, @@ -293,7 +293,7 @@ impl random_string::Guest for Component { } impl random_uuid::Guest for Component { fn invoke(name: String, args: random_uuid::Args) -> random_uuid::Res { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); let request = RegisterResourceRequest { type_: "random:index/randomUuid:RandomUuid".into(), name, diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/provider/wit/deps/pulumi-wasm.wit b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/provider/wit/deps/pulumi-wasm.wit index e1580bf4..adeb3ea7 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/provider/wit/deps/pulumi-wasm.wit +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/provider/wit/deps/pulumi-wasm.wit @@ -1,4 +1,4 @@ -package component:pulumi-wasm@0.1.0; +package component:pulumi-wasm@0.0.0; interface output-interface { diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/provider/wit/world.wit b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/provider/wit/world.wit index d7652c77..10c4534b 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/provider/wit/world.wit +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_providers/random/provider/wit/world.wit @@ -1,7 +1,7 @@ package pulumi:%random@4.15.0; world %random-pulumi { - import component:pulumi-wasm/register-interface@0.1.0; + import component:pulumi-wasm/register-interface@0.0.0; export %random-bytes; export %random-id; export %random-integer; @@ -25,7 +25,7 @@ world %random-pulumi-client { interface %random-bytes { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %keepers: borrow, @@ -45,7 +45,7 @@ interface %random-bytes { interface %random-id { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %byte-length: borrow, @@ -69,7 +69,7 @@ interface %random-id { interface %random-integer { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %keepers: borrow, @@ -92,7 +92,7 @@ interface %random-integer { interface %random-password { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %keepers: borrow, @@ -132,7 +132,7 @@ interface %random-password { interface %random-pet { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %keepers: borrow, @@ -154,7 +154,7 @@ interface %random-pet { interface %random-shuffle { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %inputs: borrow, @@ -177,7 +177,7 @@ interface %random-shuffle { interface %random-string { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %keepers: borrow, @@ -216,7 +216,7 @@ interface %random-string { interface %random-uuid { - use component:pulumi-wasm/output-interface@0.1.0.{output}; + use component:pulumi-wasm/output-interface@0.0.0.{output}; record args { %keepers: borrow, diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_tests/cyclic-types/Cargo.toml b/pulumi_wasm_generator_lib/tests/output/pulumi_tests/cyclic-types/Cargo.toml index 8927194d..49a8e83b 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_tests/cyclic-types/Cargo.toml +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_tests/cyclic-types/Cargo.toml @@ -13,6 +13,6 @@ members = [ wit-bindgen-rt = "0.27.0" wit-bindgen = "0.27.0" automod = "1.0.14" -wasm_common = { path = "../../../../../wasm_common" } +pulumi_wasm_common = { path = "../../../../../pulumi_wasm_common" } pulumi_wasm_rust = { path = "../../../../../pulumi_wasm_rust" } serde = "1.0.197" \ No newline at end of file diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_tests/cyclic-types/lib/wit/deps/pulumi-wasm.wit b/pulumi_wasm_generator_lib/tests/output/pulumi_tests/cyclic-types/lib/wit/deps/pulumi-wasm.wit index e1580bf4..adeb3ea7 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_tests/cyclic-types/lib/wit/deps/pulumi-wasm.wit +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_tests/cyclic-types/lib/wit/deps/pulumi-wasm.wit @@ -1,4 +1,4 @@ -package component:pulumi-wasm@0.1.0; +package component:pulumi-wasm@0.0.0; interface output-interface { diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_tests/cyclic-types/lib/wit/world.wit b/pulumi_wasm_generator_lib/tests/output/pulumi_tests/cyclic-types/lib/wit/world.wit index bb02cbdd..e83cb8e5 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_tests/cyclic-types/lib/wit/world.wit +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_tests/cyclic-types/lib/wit/world.wit @@ -1,7 +1,7 @@ package pulumi:%example@0.0.1; world %example-pulumi { - import component:pulumi-wasm/register-interface@0.1.0; + import component:pulumi-wasm/register-interface@0.0.0; } world %example-pulumi-client { diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_tests/cyclic-types/provider/Cargo.toml b/pulumi_wasm_generator_lib/tests/output/pulumi_tests/cyclic-types/provider/Cargo.toml index d012f400..14c8d1f9 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_tests/cyclic-types/provider/Cargo.toml +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_tests/cyclic-types/provider/Cargo.toml @@ -10,7 +10,7 @@ crate-type = ["cdylib"] [dependencies] wit-bindgen-rt.workspace = true -wasm_common.workspace = true +pulumi_wasm_common.workspace = true [package.metadata.component] package = "pulumi:example" diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_tests/cyclic-types/provider/wit/deps/pulumi-wasm.wit b/pulumi_wasm_generator_lib/tests/output/pulumi_tests/cyclic-types/provider/wit/deps/pulumi-wasm.wit index e1580bf4..adeb3ea7 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_tests/cyclic-types/provider/wit/deps/pulumi-wasm.wit +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_tests/cyclic-types/provider/wit/deps/pulumi-wasm.wit @@ -1,4 +1,4 @@ -package component:pulumi-wasm@0.1.0; +package component:pulumi-wasm@0.0.0; interface output-interface { diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_tests/cyclic-types/provider/wit/world.wit b/pulumi_wasm_generator_lib/tests/output/pulumi_tests/cyclic-types/provider/wit/world.wit index bb02cbdd..e83cb8e5 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_tests/cyclic-types/provider/wit/world.wit +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_tests/cyclic-types/provider/wit/world.wit @@ -1,7 +1,7 @@ package pulumi:%example@0.0.1; world %example-pulumi { - import component:pulumi-wasm/register-interface@0.1.0; + import component:pulumi-wasm/register-interface@0.0.0; } world %example-pulumi-client { diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_tests/mini-awsnative/Cargo.toml b/pulumi_wasm_generator_lib/tests/output/pulumi_tests/mini-awsnative/Cargo.toml index 8927194d..49a8e83b 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_tests/mini-awsnative/Cargo.toml +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_tests/mini-awsnative/Cargo.toml @@ -13,6 +13,6 @@ members = [ wit-bindgen-rt = "0.27.0" wit-bindgen = "0.27.0" automod = "1.0.14" -wasm_common = { path = "../../../../../wasm_common" } +pulumi_wasm_common = { path = "../../../../../pulumi_wasm_common" } pulumi_wasm_rust = { path = "../../../../../pulumi_wasm_rust" } serde = "1.0.197" \ No newline at end of file diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_tests/mini-awsnative/lib/wit/deps/pulumi-wasm.wit b/pulumi_wasm_generator_lib/tests/output/pulumi_tests/mini-awsnative/lib/wit/deps/pulumi-wasm.wit index e1580bf4..adeb3ea7 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_tests/mini-awsnative/lib/wit/deps/pulumi-wasm.wit +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_tests/mini-awsnative/lib/wit/deps/pulumi-wasm.wit @@ -1,4 +1,4 @@ -package component:pulumi-wasm@0.1.0; +package component:pulumi-wasm@0.0.0; interface output-interface { diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_tests/mini-awsnative/lib/wit/world.wit b/pulumi_wasm_generator_lib/tests/output/pulumi_tests/mini-awsnative/lib/wit/world.wit index ba68ca75..013e750d 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_tests/mini-awsnative/lib/wit/world.wit +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_tests/mini-awsnative/lib/wit/world.wit @@ -1,7 +1,7 @@ package pulumi:%aws-native@0.0.1; world %aws-native-pulumi { - import component:pulumi-wasm/register-interface@0.1.0; + import component:pulumi-wasm/register-interface@0.0.0; } world %aws-native-pulumi-client { diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_tests/mini-awsnative/provider/Cargo.toml b/pulumi_wasm_generator_lib/tests/output/pulumi_tests/mini-awsnative/provider/Cargo.toml index 6014f2c1..6c651da6 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_tests/mini-awsnative/provider/Cargo.toml +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_tests/mini-awsnative/provider/Cargo.toml @@ -10,7 +10,7 @@ crate-type = ["cdylib"] [dependencies] wit-bindgen-rt.workspace = true -wasm_common.workspace = true +pulumi_wasm_common.workspace = true [package.metadata.component] package = "pulumi:aws-native" diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_tests/mini-awsnative/provider/wit/deps/pulumi-wasm.wit b/pulumi_wasm_generator_lib/tests/output/pulumi_tests/mini-awsnative/provider/wit/deps/pulumi-wasm.wit index e1580bf4..adeb3ea7 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_tests/mini-awsnative/provider/wit/deps/pulumi-wasm.wit +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_tests/mini-awsnative/provider/wit/deps/pulumi-wasm.wit @@ -1,4 +1,4 @@ -package component:pulumi-wasm@0.1.0; +package component:pulumi-wasm@0.0.0; interface output-interface { diff --git a/pulumi_wasm_generator_lib/tests/output/pulumi_tests/mini-awsnative/provider/wit/world.wit b/pulumi_wasm_generator_lib/tests/output/pulumi_tests/mini-awsnative/provider/wit/world.wit index ba68ca75..013e750d 100644 --- a/pulumi_wasm_generator_lib/tests/output/pulumi_tests/mini-awsnative/provider/wit/world.wit +++ b/pulumi_wasm_generator_lib/tests/output/pulumi_tests/mini-awsnative/provider/wit/world.wit @@ -1,7 +1,7 @@ package pulumi:%aws-native@0.0.1; world %aws-native-pulumi { - import component:pulumi-wasm/register-interface@0.1.0; + import component:pulumi-wasm/register-interface@0.0.0; } world %aws-native-pulumi-client { diff --git a/pulumi_wasm_proto/Cargo.toml b/pulumi_wasm_proto/Cargo.toml new file mode 100644 index 00000000..47a56783 --- /dev/null +++ b/pulumi_wasm_proto/Cargo.toml @@ -0,0 +1,20 @@ +[package] +name = "pulumi_wasm_proto" +version.workspace = true +edition.workspace = true + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[features] +connectivity = ["dep:tonic"] + +[dependencies] +prost.workspace = true +prost-types.workspace = true +tonic = { workspace = true, default-features = true, optional = true } + +[build-dependencies] +tonic-build.workspace = true + +[dev-dependencies] +mockall.workspace = true \ No newline at end of file diff --git a/pulumi_wasm_proto/build.rs b/pulumi_wasm_proto/build.rs new file mode 100644 index 00000000..adfd5248 --- /dev/null +++ b/pulumi_wasm_proto/build.rs @@ -0,0 +1,39 @@ +use std::env::var_os; +use std::fs; + +fn main() -> Result<(), Box> { + let model_location = format!("{}/mini", var_os("OUT_DIR").unwrap().to_str().unwrap()); + fs::create_dir_all(&model_location)?; + let full_location = format!("{}/full", var_os("OUT_DIR").unwrap().to_str().unwrap()); + fs::create_dir_all(&full_location)?; + + tonic_build::configure() + .build_transport(false) + .build_client(false) + .build_server(false) + .out_dir(model_location) + .compile( + &[ + "proto/pulumi/plugin.proto", + "proto/pulumi/engine.proto", + "proto/pulumi/resource.proto", + ], + &["proto"], + )?; + + tonic_build::configure() + .build_transport(true) + .build_client(true) + .build_server(true) + .out_dir(full_location) + .compile( + &[ + "proto/pulumi/plugin.proto", + "proto/pulumi/engine.proto", + "proto/pulumi/resource.proto", + ], + &["proto"], + )?; + + Ok(()) +} diff --git a/proto/google/protobuf/any.proto b/pulumi_wasm_proto/proto/google/protobuf/any.proto similarity index 100% rename from proto/google/protobuf/any.proto rename to pulumi_wasm_proto/proto/google/protobuf/any.proto diff --git a/proto/google/protobuf/api.proto b/pulumi_wasm_proto/proto/google/protobuf/api.proto similarity index 100% rename from proto/google/protobuf/api.proto rename to pulumi_wasm_proto/proto/google/protobuf/api.proto diff --git a/proto/google/protobuf/descriptor.proto b/pulumi_wasm_proto/proto/google/protobuf/descriptor.proto similarity index 100% rename from proto/google/protobuf/descriptor.proto rename to pulumi_wasm_proto/proto/google/protobuf/descriptor.proto diff --git a/proto/google/protobuf/duration.proto b/pulumi_wasm_proto/proto/google/protobuf/duration.proto similarity index 100% rename from proto/google/protobuf/duration.proto rename to pulumi_wasm_proto/proto/google/protobuf/duration.proto diff --git a/proto/google/protobuf/empty.proto b/pulumi_wasm_proto/proto/google/protobuf/empty.proto similarity index 100% rename from proto/google/protobuf/empty.proto rename to pulumi_wasm_proto/proto/google/protobuf/empty.proto diff --git a/proto/google/protobuf/field_mask.proto b/pulumi_wasm_proto/proto/google/protobuf/field_mask.proto similarity index 100% rename from proto/google/protobuf/field_mask.proto rename to pulumi_wasm_proto/proto/google/protobuf/field_mask.proto diff --git a/proto/google/protobuf/source_context.proto b/pulumi_wasm_proto/proto/google/protobuf/source_context.proto similarity index 100% rename from proto/google/protobuf/source_context.proto rename to pulumi_wasm_proto/proto/google/protobuf/source_context.proto diff --git a/proto/google/protobuf/struct.proto b/pulumi_wasm_proto/proto/google/protobuf/struct.proto similarity index 100% rename from proto/google/protobuf/struct.proto rename to pulumi_wasm_proto/proto/google/protobuf/struct.proto diff --git a/proto/google/protobuf/timestamp.proto b/pulumi_wasm_proto/proto/google/protobuf/timestamp.proto similarity index 100% rename from proto/google/protobuf/timestamp.proto rename to pulumi_wasm_proto/proto/google/protobuf/timestamp.proto diff --git a/proto/google/protobuf/type.proto b/pulumi_wasm_proto/proto/google/protobuf/type.proto similarity index 100% rename from proto/google/protobuf/type.proto rename to pulumi_wasm_proto/proto/google/protobuf/type.proto diff --git a/proto/google/protobuf/wrappers.proto b/pulumi_wasm_proto/proto/google/protobuf/wrappers.proto similarity index 100% rename from proto/google/protobuf/wrappers.proto rename to pulumi_wasm_proto/proto/google/protobuf/wrappers.proto diff --git a/proto/pulumi/alias.proto b/pulumi_wasm_proto/proto/pulumi/alias.proto similarity index 100% rename from proto/pulumi/alias.proto rename to pulumi_wasm_proto/proto/pulumi/alias.proto diff --git a/proto/pulumi/analyzer.proto b/pulumi_wasm_proto/proto/pulumi/analyzer.proto similarity index 100% rename from proto/pulumi/analyzer.proto rename to pulumi_wasm_proto/proto/pulumi/analyzer.proto diff --git a/proto/pulumi/codegen/hcl.proto b/pulumi_wasm_proto/proto/pulumi/codegen/hcl.proto similarity index 100% rename from proto/pulumi/codegen/hcl.proto rename to pulumi_wasm_proto/proto/pulumi/codegen/hcl.proto diff --git a/proto/pulumi/codegen/loader.proto b/pulumi_wasm_proto/proto/pulumi/codegen/loader.proto similarity index 100% rename from proto/pulumi/codegen/loader.proto rename to pulumi_wasm_proto/proto/pulumi/codegen/loader.proto diff --git a/proto/pulumi/codegen/mapper.proto b/pulumi_wasm_proto/proto/pulumi/codegen/mapper.proto similarity index 100% rename from proto/pulumi/codegen/mapper.proto rename to pulumi_wasm_proto/proto/pulumi/codegen/mapper.proto diff --git a/proto/pulumi/converter.proto b/pulumi_wasm_proto/proto/pulumi/converter.proto similarity index 100% rename from proto/pulumi/converter.proto rename to pulumi_wasm_proto/proto/pulumi/converter.proto diff --git a/proto/pulumi/engine.proto b/pulumi_wasm_proto/proto/pulumi/engine.proto similarity index 100% rename from proto/pulumi/engine.proto rename to pulumi_wasm_proto/proto/pulumi/engine.proto diff --git a/proto/pulumi/errors.proto b/pulumi_wasm_proto/proto/pulumi/errors.proto similarity index 100% rename from proto/pulumi/errors.proto rename to pulumi_wasm_proto/proto/pulumi/errors.proto diff --git a/proto/pulumi/language.proto b/pulumi_wasm_proto/proto/pulumi/language.proto similarity index 100% rename from proto/pulumi/language.proto rename to pulumi_wasm_proto/proto/pulumi/language.proto diff --git a/proto/pulumi/plugin.proto b/pulumi_wasm_proto/proto/pulumi/plugin.proto similarity index 100% rename from proto/pulumi/plugin.proto rename to pulumi_wasm_proto/proto/pulumi/plugin.proto diff --git a/proto/pulumi/provider.proto b/pulumi_wasm_proto/proto/pulumi/provider.proto similarity index 100% rename from proto/pulumi/provider.proto rename to pulumi_wasm_proto/proto/pulumi/provider.proto diff --git a/proto/pulumi/resource.proto b/pulumi_wasm_proto/proto/pulumi/resource.proto similarity index 100% rename from proto/pulumi/resource.proto rename to pulumi_wasm_proto/proto/pulumi/resource.proto diff --git a/proto/pulumi/source.proto b/pulumi_wasm_proto/proto/pulumi/source.proto similarity index 100% rename from proto/pulumi/source.proto rename to pulumi_wasm_proto/proto/pulumi/source.proto diff --git a/proto/pulumi/testing/language.proto b/pulumi_wasm_proto/proto/pulumi/testing/language.proto similarity index 100% rename from proto/pulumi/testing/language.proto rename to pulumi_wasm_proto/proto/pulumi/testing/language.proto diff --git a/pulumi_wasm_proto/src/lib.rs b/pulumi_wasm_proto/src/lib.rs new file mode 100644 index 00000000..9385ac6f --- /dev/null +++ b/pulumi_wasm_proto/src/lib.rs @@ -0,0 +1,9 @@ +#![allow(clippy::all)] +#![allow(clippy::pedantic)] +pub mod grpc { + #[cfg(not(feature = "connectivity"))] + include!(concat!(env!("OUT_DIR"), "/mini/pulumirpc.rs")); + + #[cfg(feature = "connectivity")] + include!(concat!(env!("OUT_DIR"), "/full/pulumirpc.rs")); +} diff --git a/pulumi_wasm_runner/Cargo.toml b/pulumi_wasm_runner/Cargo.toml index 311786b4..aa758ea3 100644 --- a/pulumi_wasm_runner/Cargo.toml +++ b/pulumi_wasm_runner/Cargo.toml @@ -24,6 +24,5 @@ tokio.workspace = true log4rs.workspace = true clap.workspace = true wac-graph.workspace = true - -[build-dependencies] -tonic-build.workspace = true +pulumi_wasm_proto = { workspace = true, features = ["connectivity"] } +pulumi_wasm_wit = { workspace = true, features = ["server"] } \ No newline at end of file diff --git a/pulumi_wasm_runner/build.rs b/pulumi_wasm_runner/build.rs deleted file mode 100644 index 126b54d2..00000000 --- a/pulumi_wasm_runner/build.rs +++ /dev/null @@ -1,15 +0,0 @@ -fn main() -> Result<(), Box> { - tonic_build::configure() - // .build_transport(false) - // .build_client(false) - // .build_server(false) - .compile( - &[ - "proto/pulumi/plugin.proto", - "proto/pulumi/engine.proto", - "proto/pulumi/resource.proto", - ], - &["proto"], - )?; - Ok(()) -} diff --git a/pulumi_wasm_runner/proto/google/protobuf/any.proto b/pulumi_wasm_runner/proto/google/protobuf/any.proto deleted file mode 100644 index c9be8541..00000000 --- a/pulumi_wasm_runner/proto/google/protobuf/any.proto +++ /dev/null @@ -1,155 +0,0 @@ -// Protocol Buffers - Google's data interchange format -// Copyright 2008 Google Inc. All rights reserved. -// https://developers.google.com/protocol-buffers/ -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -syntax = "proto3"; - -package google.protobuf; - -option csharp_namespace = "Google.Protobuf.WellKnownTypes"; -option go_package = "github.com/golang/protobuf/ptypes/any"; -option java_package = "com.google.protobuf"; -option java_outer_classname = "AnyProto"; -option java_multiple_files = true; -option objc_class_prefix = "GPB"; - -// `Any` contains an arbitrary serialized protocol buffer message along with a -// URL that describes the type of the serialized message. -// -// Protobuf library provides support to pack/unpack Any values in the form -// of utility functions or additional generated methods of the Any type. -// -// Example 1: Pack and unpack a message in C++. -// -// Foo foo = ...; -// Any any; -// any.PackFrom(foo); -// ... -// if (any.UnpackTo(&foo)) { -// ... -// } -// -// Example 2: Pack and unpack a message in Java. -// -// Foo foo = ...; -// Any any = Any.pack(foo); -// ... -// if (any.is(Foo.class)) { -// foo = any.unpack(Foo.class); -// } -// -// Example 3: Pack and unpack a message in Python. -// -// foo = Foo(...) -// any = Any() -// any.Pack(foo) -// ... -// if any.Is(Foo.DESCRIPTOR): -// any.Unpack(foo) -// ... -// -// Example 4: Pack and unpack a message in Go -// -// foo := &pb.Foo{...} -// any, err := ptypes.MarshalAny(foo) -// ... -// foo := &pb.Foo{} -// if err := ptypes.UnmarshalAny(any, foo); err != nil { -// ... -// } -// -// The pack methods provided by protobuf library will by default use -// 'type.googleapis.com/full.type.name' as the type URL and the unpack -// methods only use the fully qualified type name after the last '/' -// in the type URL, for example "foo.bar.com/x/y.z" will yield type -// name "y.z". -// -// -// JSON -// ==== -// The JSON representation of an `Any` value uses the regular -// representation of the deserialized, embedded message, with an -// additional field `@type` which contains the type URL. Example: -// -// package google.profile; -// message Person { -// string first_name = 1; -// string last_name = 2; -// } -// -// { -// "@type": "type.googleapis.com/google.profile.Person", -// "firstName": , -// "lastName": -// } -// -// If the embedded message type is well-known and has a custom JSON -// representation, that representation will be embedded adding a field -// `value` which holds the custom JSON in addition to the `@type` -// field. Example (for message [google.protobuf.Duration][]): -// -// { -// "@type": "type.googleapis.com/google.protobuf.Duration", -// "value": "1.212s" -// } -// -message Any { - // A URL/resource name that uniquely identifies the type of the serialized - // protocol buffer message. This string must contain at least - // one "/" character. The last segment of the URL's path must represent - // the fully qualified name of the type (as in - // `path/google.protobuf.Duration`). The name should be in a canonical form - // (e.g., leading "." is not accepted). - // - // In practice, teams usually precompile into the binary all types that they - // expect it to use in the context of Any. However, for URLs which use the - // scheme `http`, `https`, or no scheme, one can optionally set up a type - // server that maps type URLs to message definitions as follows: - // - // * If no scheme is provided, `https` is assumed. - // * An HTTP GET on the URL must yield a [google.protobuf.Type][] - // value in binary format, or produce an error. - // * Applications are allowed to cache lookup results based on the - // URL, or have them precompiled into a binary to avoid any - // lookup. Therefore, binary compatibility needs to be preserved - // on changes to types. (Use versioned type names to manage - // breaking changes.) - // - // Note: this functionality is not currently available in the official - // protobuf release, and it is not used for type URLs beginning with - // type.googleapis.com. - // - // Schemes other than `http`, `https` (or the empty scheme) might be - // used with implementation specific semantics. - // - string type_url = 1; - - // Must be a valid serialized protocol buffer of the above specified type. - bytes value = 2; -} diff --git a/pulumi_wasm_runner/proto/google/protobuf/api.proto b/pulumi_wasm_runner/proto/google/protobuf/api.proto deleted file mode 100644 index f37ee2fa..00000000 --- a/pulumi_wasm_runner/proto/google/protobuf/api.proto +++ /dev/null @@ -1,210 +0,0 @@ -// Protocol Buffers - Google's data interchange format -// Copyright 2008 Google Inc. All rights reserved. -// https://developers.google.com/protocol-buffers/ -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -syntax = "proto3"; - -package google.protobuf; - -import "google/protobuf/source_context.proto"; -import "google/protobuf/type.proto"; - -option csharp_namespace = "Google.Protobuf.WellKnownTypes"; -option java_package = "com.google.protobuf"; -option java_outer_classname = "ApiProto"; -option java_multiple_files = true; -option objc_class_prefix = "GPB"; -option go_package = "google.golang.org/genproto/protobuf/api;api"; - -// Api is a light-weight descriptor for an API Interface. -// -// Interfaces are also described as "protocol buffer services" in some contexts, -// such as by the "service" keyword in a .proto file, but they are different -// from API Services, which represent a concrete implementation of an interface -// as opposed to simply a description of methods and bindings. They are also -// sometimes simply referred to as "APIs" in other contexts, such as the name of -// this message itself. See https://cloud.google.com/apis/design/glossary for -// detailed terminology. -message Api { - - // The fully qualified name of this interface, including package name - // followed by the interface's simple name. - string name = 1; - - // The methods of this interface, in unspecified order. - repeated Method methods = 2; - - // Any metadata attached to the interface. - repeated Option options = 3; - - // A version string for this interface. If specified, must have the form - // `major-version.minor-version`, as in `1.10`. If the minor version is - // omitted, it defaults to zero. If the entire version field is empty, the - // major version is derived from the package name, as outlined below. If the - // field is not empty, the version in the package name will be verified to be - // consistent with what is provided here. - // - // The versioning schema uses [semantic - // versioning](http://semver.org) where the major version number - // indicates a breaking change and the minor version an additive, - // non-breaking change. Both version numbers are signals to users - // what to expect from different versions, and should be carefully - // chosen based on the product plan. - // - // The major version is also reflected in the package name of the - // interface, which must end in `v`, as in - // `google.feature.v1`. For major versions 0 and 1, the suffix can - // be omitted. Zero major versions must only be used for - // experimental, non-GA interfaces. - // - // - string version = 4; - - // Source context for the protocol buffer service represented by this - // message. - SourceContext source_context = 5; - - // Included interfaces. See [Mixin][]. - repeated Mixin mixins = 6; - - // The source syntax of the service. - Syntax syntax = 7; -} - -// Method represents a method of an API interface. -message Method { - - // The simple name of this method. - string name = 1; - - // A URL of the input message type. - string request_type_url = 2; - - // If true, the request is streamed. - bool request_streaming = 3; - - // The URL of the output message type. - string response_type_url = 4; - - // If true, the response is streamed. - bool response_streaming = 5; - - // Any metadata attached to the method. - repeated Option options = 6; - - // The source syntax of this method. - Syntax syntax = 7; -} - -// Declares an API Interface to be included in this interface. The including -// interface must redeclare all the methods from the included interface, but -// documentation and options are inherited as follows: -// -// - If after comment and whitespace stripping, the documentation -// string of the redeclared method is empty, it will be inherited -// from the original method. -// -// - Each annotation belonging to the service config (http, -// visibility) which is not set in the redeclared method will be -// inherited. -// -// - If an http annotation is inherited, the path pattern will be -// modified as follows. Any version prefix will be replaced by the -// version of the including interface plus the [root][] path if -// specified. -// -// Example of a simple mixin: -// -// package google.acl.v1; -// service AccessControl { -// // Get the underlying ACL object. -// rpc GetAcl(GetAclRequest) returns (Acl) { -// option (google.api.http).get = "/v1/{resource=**}:getAcl"; -// } -// } -// -// package google.storage.v2; -// service Storage { -// rpc GetAcl(GetAclRequest) returns (Acl); -// -// // Get a data record. -// rpc GetData(GetDataRequest) returns (Data) { -// option (google.api.http).get = "/v2/{resource=**}"; -// } -// } -// -// Example of a mixin configuration: -// -// apis: -// - name: google.storage.v2.Storage -// mixins: -// - name: google.acl.v1.AccessControl -// -// The mixin construct implies that all methods in `AccessControl` are -// also declared with same name and request/response types in -// `Storage`. A documentation generator or annotation processor will -// see the effective `Storage.GetAcl` method after inherting -// documentation and annotations as follows: -// -// service Storage { -// // Get the underlying ACL object. -// rpc GetAcl(GetAclRequest) returns (Acl) { -// option (google.api.http).get = "/v2/{resource=**}:getAcl"; -// } -// ... -// } -// -// Note how the version in the path pattern changed from `v1` to `v2`. -// -// If the `root` field in the mixin is specified, it should be a -// relative path under which inherited HTTP paths are placed. Example: -// -// apis: -// - name: google.storage.v2.Storage -// mixins: -// - name: google.acl.v1.AccessControl -// root: acls -// -// This implies the following inherited HTTP annotation: -// -// service Storage { -// // Get the underlying ACL object. -// rpc GetAcl(GetAclRequest) returns (Acl) { -// option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; -// } -// ... -// } -message Mixin { - // The fully qualified name of the interface which is included. - string name = 1; - - // If non-empty specifies a path under which inherited HTTP paths - // are rooted. - string root = 2; -} diff --git a/pulumi_wasm_runner/proto/google/protobuf/descriptor.proto b/pulumi_wasm_runner/proto/google/protobuf/descriptor.proto deleted file mode 100644 index a2102d7a..00000000 --- a/pulumi_wasm_runner/proto/google/protobuf/descriptor.proto +++ /dev/null @@ -1,885 +0,0 @@ -// Protocol Buffers - Google's data interchange format -// Copyright 2008 Google Inc. All rights reserved. -// https://developers.google.com/protocol-buffers/ -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// Author: kenton@google.com (Kenton Varda) -// Based on original Protocol Buffers design by -// Sanjay Ghemawat, Jeff Dean, and others. -// -// The messages in this file describe the definitions found in .proto files. -// A valid .proto file can be translated directly to a FileDescriptorProto -// without any other information (e.g. without reading its imports). - - -syntax = "proto2"; - -package google.protobuf; - -option go_package = "github.com/golang/protobuf/protoc-gen-go/descriptor;descriptor"; -option java_package = "com.google.protobuf"; -option java_outer_classname = "DescriptorProtos"; -option csharp_namespace = "Google.Protobuf.Reflection"; -option objc_class_prefix = "GPB"; -option cc_enable_arenas = true; - -// descriptor.proto must be optimized for speed because reflection-based -// algorithms don't work during bootstrapping. -option optimize_for = SPEED; - -// The protocol compiler can output a FileDescriptorSet containing the .proto -// files it parses. -message FileDescriptorSet { - repeated FileDescriptorProto file = 1; -} - -// Describes a complete .proto file. -message FileDescriptorProto { - optional string name = 1; // file name, relative to root of source tree - optional string package = 2; // e.g. "foo", "foo.bar", etc. - - // Names of files imported by this file. - repeated string dependency = 3; - // Indexes of the public imported files in the dependency list above. - repeated int32 public_dependency = 10; - // Indexes of the weak imported files in the dependency list. - // For Google-internal migration only. Do not use. - repeated int32 weak_dependency = 11; - - // All top-level definitions in this file. - repeated DescriptorProto message_type = 4; - repeated EnumDescriptorProto enum_type = 5; - repeated ServiceDescriptorProto service = 6; - repeated FieldDescriptorProto extension = 7; - - optional FileOptions options = 8; - - // This field contains optional information about the original source code. - // You may safely remove this entire field without harming runtime - // functionality of the descriptors -- the information is needed only by - // development tools. - optional SourceCodeInfo source_code_info = 9; - - // The syntax of the proto file. - // The supported values are "proto2" and "proto3". - optional string syntax = 12; -} - -// Describes a message type. -message DescriptorProto { - optional string name = 1; - - repeated FieldDescriptorProto field = 2; - repeated FieldDescriptorProto extension = 6; - - repeated DescriptorProto nested_type = 3; - repeated EnumDescriptorProto enum_type = 4; - - message ExtensionRange { - optional int32 start = 1; // Inclusive. - optional int32 end = 2; // Exclusive. - - optional ExtensionRangeOptions options = 3; - } - repeated ExtensionRange extension_range = 5; - - repeated OneofDescriptorProto oneof_decl = 8; - - optional MessageOptions options = 7; - - // Range of reserved tag numbers. Reserved tag numbers may not be used by - // fields or extension ranges in the same message. Reserved ranges may - // not overlap. - message ReservedRange { - optional int32 start = 1; // Inclusive. - optional int32 end = 2; // Exclusive. - } - repeated ReservedRange reserved_range = 9; - // Reserved field names, which may not be used by fields in the same message. - // A given name may only be reserved once. - repeated string reserved_name = 10; -} - -message ExtensionRangeOptions { - // The parser stores options it doesn't recognize here. See above. - repeated UninterpretedOption uninterpreted_option = 999; - - // Clients can define custom options in extensions of this message. See above. - extensions 1000 to max; -} - -// Describes a field within a message. -message FieldDescriptorProto { - enum Type { - // 0 is reserved for errors. - // Order is weird for historical reasons. - TYPE_DOUBLE = 1; - TYPE_FLOAT = 2; - // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if - // negative values are likely. - TYPE_INT64 = 3; - TYPE_UINT64 = 4; - // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if - // negative values are likely. - TYPE_INT32 = 5; - TYPE_FIXED64 = 6; - TYPE_FIXED32 = 7; - TYPE_BOOL = 8; - TYPE_STRING = 9; - // Tag-delimited aggregate. - // Group type is deprecated and not supported in proto3. However, Proto3 - // implementations should still be able to parse the group wire format and - // treat group fields as unknown fields. - TYPE_GROUP = 10; - TYPE_MESSAGE = 11; // Length-delimited aggregate. - - // New in version 2. - TYPE_BYTES = 12; - TYPE_UINT32 = 13; - TYPE_ENUM = 14; - TYPE_SFIXED32 = 15; - TYPE_SFIXED64 = 16; - TYPE_SINT32 = 17; // Uses ZigZag encoding. - TYPE_SINT64 = 18; // Uses ZigZag encoding. - } - - enum Label { - // 0 is reserved for errors - LABEL_OPTIONAL = 1; - LABEL_REQUIRED = 2; - LABEL_REPEATED = 3; - } - - optional string name = 1; - optional int32 number = 3; - optional Label label = 4; - - // If type_name is set, this need not be set. If both this and type_name - // are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. - optional Type type = 5; - - // For message and enum types, this is the name of the type. If the name - // starts with a '.', it is fully-qualified. Otherwise, C++-like scoping - // rules are used to find the type (i.e. first the nested types within this - // message are searched, then within the parent, on up to the root - // namespace). - optional string type_name = 6; - - // For extensions, this is the name of the type being extended. It is - // resolved in the same manner as type_name. - optional string extendee = 2; - - // For numeric types, contains the original text representation of the value. - // For booleans, "true" or "false". - // For strings, contains the default text contents (not escaped in any way). - // For bytes, contains the C escaped value. All bytes >= 128 are escaped. - // TODO(kenton): Base-64 encode? - optional string default_value = 7; - - // If set, gives the index of a oneof in the containing type's oneof_decl - // list. This field is a member of that oneof. - optional int32 oneof_index = 9; - - // JSON name of this field. The value is set by protocol compiler. If the - // user has set a "json_name" option on this field, that option's value - // will be used. Otherwise, it's deduced from the field's name by converting - // it to camelCase. - optional string json_name = 10; - - optional FieldOptions options = 8; -} - -// Describes a oneof. -message OneofDescriptorProto { - optional string name = 1; - optional OneofOptions options = 2; -} - -// Describes an enum type. -message EnumDescriptorProto { - optional string name = 1; - - repeated EnumValueDescriptorProto value = 2; - - optional EnumOptions options = 3; - - // Range of reserved numeric values. Reserved values may not be used by - // entries in the same enum. Reserved ranges may not overlap. - // - // Note that this is distinct from DescriptorProto.ReservedRange in that it - // is inclusive such that it can appropriately represent the entire int32 - // domain. - message EnumReservedRange { - optional int32 start = 1; // Inclusive. - optional int32 end = 2; // Inclusive. - } - - // Range of reserved numeric values. Reserved numeric values may not be used - // by enum values in the same enum declaration. Reserved ranges may not - // overlap. - repeated EnumReservedRange reserved_range = 4; - - // Reserved enum value names, which may not be reused. A given name may only - // be reserved once. - repeated string reserved_name = 5; -} - -// Describes a value within an enum. -message EnumValueDescriptorProto { - optional string name = 1; - optional int32 number = 2; - - optional EnumValueOptions options = 3; -} - -// Describes a service. -message ServiceDescriptorProto { - optional string name = 1; - repeated MethodDescriptorProto method = 2; - - optional ServiceOptions options = 3; -} - -// Describes a method of a service. -message MethodDescriptorProto { - optional string name = 1; - - // Input and output type names. These are resolved in the same way as - // FieldDescriptorProto.type_name, but must refer to a message type. - optional string input_type = 2; - optional string output_type = 3; - - optional MethodOptions options = 4; - - // Identifies if client streams multiple client messages - optional bool client_streaming = 5 [default = false]; - // Identifies if server streams multiple server messages - optional bool server_streaming = 6 [default = false]; -} - - -// =================================================================== -// Options - -// Each of the definitions above may have "options" attached. These are -// just annotations which may cause code to be generated slightly differently -// or may contain hints for code that manipulates protocol messages. -// -// Clients may define custom options as extensions of the *Options messages. -// These extensions may not yet be known at parsing time, so the parser cannot -// store the values in them. Instead it stores them in a field in the *Options -// message called uninterpreted_option. This field must have the same name -// across all *Options messages. We then use this field to populate the -// extensions when we build a descriptor, at which point all protos have been -// parsed and so all extensions are known. -// -// Extension numbers for custom options may be chosen as follows: -// * For options which will only be used within a single application or -// organization, or for experimental options, use field numbers 50000 -// through 99999. It is up to you to ensure that you do not use the -// same number for multiple options. -// * For options which will be published and used publicly by multiple -// independent entities, e-mail protobuf-global-extension-registry@google.com -// to reserve extension numbers. Simply provide your project name (e.g. -// Objective-C plugin) and your project website (if available) -- there's no -// need to explain how you intend to use them. Usually you only need one -// extension number. You can declare multiple options with only one extension -// number by putting them in a sub-message. See the Custom Options section of -// the docs for examples: -// https://developers.google.com/protocol-buffers/docs/proto#options -// If this turns out to be popular, a web service will be set up -// to automatically assign option numbers. - -message FileOptions { - - // Sets the Java package where classes generated from this .proto will be - // placed. By default, the proto package is used, but this is often - // inappropriate because proto packages do not normally start with backwards - // domain names. - optional string java_package = 1; - - - // If set, all the classes from the .proto file are wrapped in a single - // outer class with the given name. This applies to both Proto1 - // (equivalent to the old "--one_java_file" option) and Proto2 (where - // a .proto always translates to a single class, but you may want to - // explicitly choose the class name). - optional string java_outer_classname = 8; - - // If set true, then the Java code generator will generate a separate .java - // file for each top-level message, enum, and service defined in the .proto - // file. Thus, these types will *not* be nested inside the outer class - // named by java_outer_classname. However, the outer class will still be - // generated to contain the file's getDescriptor() method as well as any - // top-level extensions defined in the file. - optional bool java_multiple_files = 10 [default = false]; - - // This option does nothing. - optional bool java_generate_equals_and_hash = 20 [deprecated=true]; - - // If set true, then the Java2 code generator will generate code that - // throws an exception whenever an attempt is made to assign a non-UTF-8 - // byte sequence to a string field. - // Message reflection will do the same. - // However, an extension field still accepts non-UTF-8 byte sequences. - // This option has no effect on when used with the lite runtime. - optional bool java_string_check_utf8 = 27 [default = false]; - - - // Generated classes can be optimized for speed or code size. - enum OptimizeMode { - SPEED = 1; // Generate complete code for parsing, serialization, - // etc. - CODE_SIZE = 2; // Use ReflectionOps to implement these methods. - LITE_RUNTIME = 3; // Generate code using MessageLite and the lite runtime. - } - optional OptimizeMode optimize_for = 9 [default = SPEED]; - - // Sets the Go package where structs generated from this .proto will be - // placed. If omitted, the Go package will be derived from the following: - // - The basename of the package import path, if provided. - // - Otherwise, the package statement in the .proto file, if present. - // - Otherwise, the basename of the .proto file, without extension. - optional string go_package = 11; - - - - - // Should generic services be generated in each language? "Generic" services - // are not specific to any particular RPC system. They are generated by the - // main code generators in each language (without additional plugins). - // Generic services were the only kind of service generation supported by - // early versions of google.protobuf. - // - // Generic services are now considered deprecated in favor of using plugins - // that generate code specific to your particular RPC system. Therefore, - // these default to false. Old code which depends on generic services should - // explicitly set them to true. - optional bool cc_generic_services = 16 [default = false]; - optional bool java_generic_services = 17 [default = false]; - optional bool py_generic_services = 18 [default = false]; - optional bool php_generic_services = 42 [default = false]; - - // Is this file deprecated? - // Depending on the target platform, this can emit Deprecated annotations - // for everything in the file, or it will be completely ignored; in the very - // least, this is a formalization for deprecating files. - optional bool deprecated = 23 [default = false]; - - // Enables the use of arenas for the proto messages in this file. This applies - // only to generated classes for C++. - optional bool cc_enable_arenas = 31 [default = false]; - - - // Sets the objective c class prefix which is prepended to all objective c - // generated classes from this .proto. There is no default. - optional string objc_class_prefix = 36; - - // Namespace for generated classes; defaults to the package. - optional string csharp_namespace = 37; - - // By default Swift generators will take the proto package and CamelCase it - // replacing '.' with underscore and use that to prefix the types/symbols - // defined. When this options is provided, they will use this value instead - // to prefix the types/symbols defined. - optional string swift_prefix = 39; - - // Sets the php class prefix which is prepended to all php generated classes - // from this .proto. Default is empty. - optional string php_class_prefix = 40; - - // Use this option to change the namespace of php generated classes. Default - // is empty. When this option is empty, the package name will be used for - // determining the namespace. - optional string php_namespace = 41; - - // Use this option to change the namespace of php generated metadata classes. - // Default is empty. When this option is empty, the proto file name will be - // used for determining the namespace. - optional string php_metadata_namespace = 44; - - // Use this option to change the package of ruby generated classes. Default - // is empty. When this option is not set, the package name will be used for - // determining the ruby package. - optional string ruby_package = 45; - - - // The parser stores options it doesn't recognize here. - // See the documentation for the "Options" section above. - repeated UninterpretedOption uninterpreted_option = 999; - - // Clients can define custom options in extensions of this message. - // See the documentation for the "Options" section above. - extensions 1000 to max; - - reserved 38; -} - -message MessageOptions { - // Set true to use the old proto1 MessageSet wire format for extensions. - // This is provided for backwards-compatibility with the MessageSet wire - // format. You should not use this for any other reason: It's less - // efficient, has fewer features, and is more complicated. - // - // The message must be defined exactly as follows: - // message Foo { - // option message_set_wire_format = true; - // extensions 4 to max; - // } - // Note that the message cannot have any defined fields; MessageSets only - // have extensions. - // - // All extensions of your type must be singular messages; e.g. they cannot - // be int32s, enums, or repeated messages. - // - // Because this is an option, the above two restrictions are not enforced by - // the protocol compiler. - optional bool message_set_wire_format = 1 [default = false]; - - // Disables the generation of the standard "descriptor()" accessor, which can - // conflict with a field of the same name. This is meant to make migration - // from proto1 easier; new code should avoid fields named "descriptor". - optional bool no_standard_descriptor_accessor = 2 [default = false]; - - // Is this message deprecated? - // Depending on the target platform, this can emit Deprecated annotations - // for the message, or it will be completely ignored; in the very least, - // this is a formalization for deprecating messages. - optional bool deprecated = 3 [default = false]; - - // Whether the message is an automatically generated map entry type for the - // maps field. - // - // For maps fields: - // map map_field = 1; - // The parsed descriptor looks like: - // message MapFieldEntry { - // option map_entry = true; - // optional KeyType key = 1; - // optional ValueType value = 2; - // } - // repeated MapFieldEntry map_field = 1; - // - // Implementations may choose not to generate the map_entry=true message, but - // use a native map in the target language to hold the keys and values. - // The reflection APIs in such implementations still need to work as - // if the field is a repeated message field. - // - // NOTE: Do not set the option in .proto files. Always use the maps syntax - // instead. The option should only be implicitly set by the proto compiler - // parser. - optional bool map_entry = 7; - - reserved 8; // javalite_serializable - reserved 9; // javanano_as_lite - - - // The parser stores options it doesn't recognize here. See above. - repeated UninterpretedOption uninterpreted_option = 999; - - // Clients can define custom options in extensions of this message. See above. - extensions 1000 to max; -} - -message FieldOptions { - // The ctype option instructs the C++ code generator to use a different - // representation of the field than it normally would. See the specific - // options below. This option is not yet implemented in the open source - // release -- sorry, we'll try to include it in a future version! - optional CType ctype = 1 [default = STRING]; - enum CType { - // Default mode. - STRING = 0; - - CORD = 1; - - STRING_PIECE = 2; - } - // The packed option can be enabled for repeated primitive fields to enable - // a more efficient representation on the wire. Rather than repeatedly - // writing the tag and type for each element, the entire array is encoded as - // a single length-delimited blob. In proto3, only explicit setting it to - // false will avoid using packed encoding. - optional bool packed = 2; - - // The jstype option determines the JavaScript type used for values of the - // field. The option is permitted only for 64 bit integral and fixed types - // (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING - // is represented as JavaScript string, which avoids loss of precision that - // can happen when a large value is converted to a floating point JavaScript. - // Specifying JS_NUMBER for the jstype causes the generated JavaScript code to - // use the JavaScript "number" type. The behavior of the default option - // JS_NORMAL is implementation dependent. - // - // This option is an enum to permit additional types to be added, e.g. - // goog.math.Integer. - optional JSType jstype = 6 [default = JS_NORMAL]; - enum JSType { - // Use the default type. - JS_NORMAL = 0; - - // Use JavaScript strings. - JS_STRING = 1; - - // Use JavaScript numbers. - JS_NUMBER = 2; - } - - // Should this field be parsed lazily? Lazy applies only to message-type - // fields. It means that when the outer message is initially parsed, the - // inner message's contents will not be parsed but instead stored in encoded - // form. The inner message will actually be parsed when it is first accessed. - // - // This is only a hint. Implementations are free to choose whether to use - // eager or lazy parsing regardless of the value of this option. However, - // setting this option true suggests that the protocol author believes that - // using lazy parsing on this field is worth the additional bookkeeping - // overhead typically needed to implement it. - // - // This option does not affect the public interface of any generated code; - // all method signatures remain the same. Furthermore, thread-safety of the - // interface is not affected by this option; const methods remain safe to - // call from multiple threads concurrently, while non-const methods continue - // to require exclusive access. - // - // - // Note that implementations may choose not to check required fields within - // a lazy sub-message. That is, calling IsInitialized() on the outer message - // may return true even if the inner message has missing required fields. - // This is necessary because otherwise the inner message would have to be - // parsed in order to perform the check, defeating the purpose of lazy - // parsing. An implementation which chooses not to check required fields - // must be consistent about it. That is, for any particular sub-message, the - // implementation must either *always* check its required fields, or *never* - // check its required fields, regardless of whether or not the message has - // been parsed. - optional bool lazy = 5 [default = false]; - - // Is this field deprecated? - // Depending on the target platform, this can emit Deprecated annotations - // for accessors, or it will be completely ignored; in the very least, this - // is a formalization for deprecating fields. - optional bool deprecated = 3 [default = false]; - - // For Google-internal migration only. Do not use. - optional bool weak = 10 [default = false]; - - - // The parser stores options it doesn't recognize here. See above. - repeated UninterpretedOption uninterpreted_option = 999; - - // Clients can define custom options in extensions of this message. See above. - extensions 1000 to max; - - reserved 4; // removed jtype -} - -message OneofOptions { - // The parser stores options it doesn't recognize here. See above. - repeated UninterpretedOption uninterpreted_option = 999; - - // Clients can define custom options in extensions of this message. See above. - extensions 1000 to max; -} - -message EnumOptions { - - // Set this option to true to allow mapping different tag names to the same - // value. - optional bool allow_alias = 2; - - // Is this enum deprecated? - // Depending on the target platform, this can emit Deprecated annotations - // for the enum, or it will be completely ignored; in the very least, this - // is a formalization for deprecating enums. - optional bool deprecated = 3 [default = false]; - - reserved 5; // javanano_as_lite - - // The parser stores options it doesn't recognize here. See above. - repeated UninterpretedOption uninterpreted_option = 999; - - // Clients can define custom options in extensions of this message. See above. - extensions 1000 to max; -} - -message EnumValueOptions { - // Is this enum value deprecated? - // Depending on the target platform, this can emit Deprecated annotations - // for the enum value, or it will be completely ignored; in the very least, - // this is a formalization for deprecating enum values. - optional bool deprecated = 1 [default = false]; - - // The parser stores options it doesn't recognize here. See above. - repeated UninterpretedOption uninterpreted_option = 999; - - // Clients can define custom options in extensions of this message. See above. - extensions 1000 to max; -} - -message ServiceOptions { - - // Note: Field numbers 1 through 32 are reserved for Google's internal RPC - // framework. We apologize for hoarding these numbers to ourselves, but - // we were already using them long before we decided to release Protocol - // Buffers. - - // Is this service deprecated? - // Depending on the target platform, this can emit Deprecated annotations - // for the service, or it will be completely ignored; in the very least, - // this is a formalization for deprecating services. - optional bool deprecated = 33 [default = false]; - - // The parser stores options it doesn't recognize here. See above. - repeated UninterpretedOption uninterpreted_option = 999; - - // Clients can define custom options in extensions of this message. See above. - extensions 1000 to max; -} - -message MethodOptions { - - // Note: Field numbers 1 through 32 are reserved for Google's internal RPC - // framework. We apologize for hoarding these numbers to ourselves, but - // we were already using them long before we decided to release Protocol - // Buffers. - - // Is this method deprecated? - // Depending on the target platform, this can emit Deprecated annotations - // for the method, or it will be completely ignored; in the very least, - // this is a formalization for deprecating methods. - optional bool deprecated = 33 [default = false]; - - // Is this method side-effect-free (or safe in HTTP parlance), or idempotent, - // or neither? HTTP based RPC implementation may choose GET verb for safe - // methods, and PUT verb for idempotent methods instead of the default POST. - enum IdempotencyLevel { - IDEMPOTENCY_UNKNOWN = 0; - NO_SIDE_EFFECTS = 1; // implies idempotent - IDEMPOTENT = 2; // idempotent, but may have side effects - } - optional IdempotencyLevel idempotency_level = 34 - [default = IDEMPOTENCY_UNKNOWN]; - - // The parser stores options it doesn't recognize here. See above. - repeated UninterpretedOption uninterpreted_option = 999; - - // Clients can define custom options in extensions of this message. See above. - extensions 1000 to max; -} - - -// A message representing a option the parser does not recognize. This only -// appears in options protos created by the compiler::Parser class. -// DescriptorPool resolves these when building Descriptor objects. Therefore, -// options protos in descriptor objects (e.g. returned by Descriptor::options(), -// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions -// in them. -message UninterpretedOption { - // The name of the uninterpreted option. Each string represents a segment in - // a dot-separated name. is_extension is true iff a segment represents an - // extension (denoted with parentheses in options specs in .proto files). - // E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents - // "foo.(bar.baz).qux". - message NamePart { - required string name_part = 1; - required bool is_extension = 2; - } - repeated NamePart name = 2; - - // The value of the uninterpreted option, in whatever type the tokenizer - // identified it as during parsing. Exactly one of these should be set. - optional string identifier_value = 3; - optional uint64 positive_int_value = 4; - optional int64 negative_int_value = 5; - optional double double_value = 6; - optional bytes string_value = 7; - optional string aggregate_value = 8; -} - -// =================================================================== -// Optional source code info - -// Encapsulates information about the original source file from which a -// FileDescriptorProto was generated. -message SourceCodeInfo { - // A Location identifies a piece of source code in a .proto file which - // corresponds to a particular definition. This information is intended - // to be useful to IDEs, code indexers, documentation generators, and similar - // tools. - // - // For example, say we have a file like: - // message Foo { - // optional string foo = 1; - // } - // Let's look at just the field definition: - // optional string foo = 1; - // ^ ^^ ^^ ^ ^^^ - // a bc de f ghi - // We have the following locations: - // span path represents - // [a,i) [ 4, 0, 2, 0 ] The whole field definition. - // [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). - // [c,d) [ 4, 0, 2, 0, 5 ] The type (string). - // [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). - // [g,h) [ 4, 0, 2, 0, 3 ] The number (1). - // - // Notes: - // - A location may refer to a repeated field itself (i.e. not to any - // particular index within it). This is used whenever a set of elements are - // logically enclosed in a single code segment. For example, an entire - // extend block (possibly containing multiple extension definitions) will - // have an outer location whose path refers to the "extensions" repeated - // field without an index. - // - Multiple locations may have the same path. This happens when a single - // logical declaration is spread out across multiple places. The most - // obvious example is the "extend" block again -- there may be multiple - // extend blocks in the same scope, each of which will have the same path. - // - A location's span is not always a subset of its parent's span. For - // example, the "extendee" of an extension declaration appears at the - // beginning of the "extend" block and is shared by all extensions within - // the block. - // - Just because a location's span is a subset of some other location's span - // does not mean that it is a descendant. For example, a "group" defines - // both a type and a field in a single declaration. Thus, the locations - // corresponding to the type and field and their components will overlap. - // - Code which tries to interpret locations should probably be designed to - // ignore those that it doesn't understand, as more types of locations could - // be recorded in the future. - repeated Location location = 1; - message Location { - // Identifies which part of the FileDescriptorProto was defined at this - // location. - // - // Each element is a field number or an index. They form a path from - // the root FileDescriptorProto to the place where the definition. For - // example, this path: - // [ 4, 3, 2, 7, 1 ] - // refers to: - // file.message_type(3) // 4, 3 - // .field(7) // 2, 7 - // .name() // 1 - // This is because FileDescriptorProto.message_type has field number 4: - // repeated DescriptorProto message_type = 4; - // and DescriptorProto.field has field number 2: - // repeated FieldDescriptorProto field = 2; - // and FieldDescriptorProto.name has field number 1: - // optional string name = 1; - // - // Thus, the above path gives the location of a field name. If we removed - // the last element: - // [ 4, 3, 2, 7 ] - // this path refers to the whole field declaration (from the beginning - // of the label to the terminating semicolon). - repeated int32 path = 1 [packed = true]; - - // Always has exactly three or four elements: start line, start column, - // end line (optional, otherwise assumed same as start line), end column. - // These are packed into a single field for efficiency. Note that line - // and column numbers are zero-based -- typically you will want to add - // 1 to each before displaying to a user. - repeated int32 span = 2 [packed = true]; - - // If this SourceCodeInfo represents a complete declaration, these are any - // comments appearing before and after the declaration which appear to be - // attached to the declaration. - // - // A series of line comments appearing on consecutive lines, with no other - // tokens appearing on those lines, will be treated as a single comment. - // - // leading_detached_comments will keep paragraphs of comments that appear - // before (but not connected to) the current element. Each paragraph, - // separated by empty lines, will be one comment element in the repeated - // field. - // - // Only the comment content is provided; comment markers (e.g. //) are - // stripped out. For block comments, leading whitespace and an asterisk - // will be stripped from the beginning of each line other than the first. - // Newlines are included in the output. - // - // Examples: - // - // optional int32 foo = 1; // Comment attached to foo. - // // Comment attached to bar. - // optional int32 bar = 2; - // - // optional string baz = 3; - // // Comment attached to baz. - // // Another line attached to baz. - // - // // Comment attached to qux. - // // - // // Another line attached to qux. - // optional double qux = 4; - // - // // Detached comment for corge. This is not leading or trailing comments - // // to qux or corge because there are blank lines separating it from - // // both. - // - // // Detached comment for corge paragraph 2. - // - // optional string corge = 5; - // /* Block comment attached - // * to corge. Leading asterisks - // * will be removed. */ - // /* Block comment attached to - // * grault. */ - // optional int32 grault = 6; - // - // // ignored detached comments. - optional string leading_comments = 3; - optional string trailing_comments = 4; - repeated string leading_detached_comments = 6; - } -} - -// Describes the relationship between generated code and its original source -// file. A GeneratedCodeInfo message is associated with only one generated -// source file, but may contain references to different source .proto files. -message GeneratedCodeInfo { - // An Annotation connects some span of text in generated code to an element - // of its generating .proto file. - repeated Annotation annotation = 1; - message Annotation { - // Identifies the element in the original source .proto file. This field - // is formatted the same as SourceCodeInfo.Location.path. - repeated int32 path = 1 [packed = true]; - - // Identifies the filesystem path to the original source .proto. - optional string source_file = 2; - - // Identifies the starting offset in bytes in the generated code - // that relates to the identified object. - optional int32 begin = 3; - - // Identifies the ending offset in bytes in the generated code that - // relates to the identified offset. The end offset should be one past - // the last relevant byte (so the length of the text = end - begin). - optional int32 end = 4; - } -} diff --git a/pulumi_wasm_runner/proto/google/protobuf/duration.proto b/pulumi_wasm_runner/proto/google/protobuf/duration.proto deleted file mode 100644 index 99cb102c..00000000 --- a/pulumi_wasm_runner/proto/google/protobuf/duration.proto +++ /dev/null @@ -1,116 +0,0 @@ -// Protocol Buffers - Google's data interchange format -// Copyright 2008 Google Inc. All rights reserved. -// https://developers.google.com/protocol-buffers/ -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -syntax = "proto3"; - -package google.protobuf; - -option csharp_namespace = "Google.Protobuf.WellKnownTypes"; -option cc_enable_arenas = true; -option go_package = "github.com/golang/protobuf/ptypes/duration"; -option java_package = "com.google.protobuf"; -option java_outer_classname = "DurationProto"; -option java_multiple_files = true; -option objc_class_prefix = "GPB"; - -// A Duration represents a signed, fixed-length span of time represented -// as a count of seconds and fractions of seconds at nanosecond -// resolution. It is independent of any calendar and concepts like "day" -// or "month". It is related to Timestamp in that the difference between -// two Timestamp values is a Duration and it can be added or subtracted -// from a Timestamp. Range is approximately +-10,000 years. -// -// # Examples -// -// Example 1: Compute Duration from two Timestamps in pseudo code. -// -// Timestamp start = ...; -// Timestamp end = ...; -// Duration duration = ...; -// -// duration.seconds = end.seconds - start.seconds; -// duration.nanos = end.nanos - start.nanos; -// -// if (duration.seconds < 0 && duration.nanos > 0) { -// duration.seconds += 1; -// duration.nanos -= 1000000000; -// } else if (duration.seconds > 0 && duration.nanos < 0) { -// duration.seconds -= 1; -// duration.nanos += 1000000000; -// } -// -// Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. -// -// Timestamp start = ...; -// Duration duration = ...; -// Timestamp end = ...; -// -// end.seconds = start.seconds + duration.seconds; -// end.nanos = start.nanos + duration.nanos; -// -// if (end.nanos < 0) { -// end.seconds -= 1; -// end.nanos += 1000000000; -// } else if (end.nanos >= 1000000000) { -// end.seconds += 1; -// end.nanos -= 1000000000; -// } -// -// Example 3: Compute Duration from datetime.timedelta in Python. -// -// td = datetime.timedelta(days=3, minutes=10) -// duration = Duration() -// duration.FromTimedelta(td) -// -// # JSON Mapping -// -// In JSON format, the Duration type is encoded as a string rather than an -// object, where the string ends in the suffix "s" (indicating seconds) and -// is preceded by the number of seconds, with nanoseconds expressed as -// fractional seconds. For example, 3 seconds with 0 nanoseconds should be -// encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should -// be expressed in JSON format as "3.000000001s", and 3 seconds and 1 -// microsecond should be expressed in JSON format as "3.000001s". -// -// -message Duration { - // Signed seconds of the span of time. Must be from -315,576,000,000 - // to +315,576,000,000 inclusive. Note: these bounds are computed from: - // 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years - int64 seconds = 1; - - // Signed fractions of a second at nanosecond resolution of the span - // of time. Durations less than one second are represented with a 0 - // `seconds` field and a positive or negative `nanos` field. For durations - // of one second or more, a non-zero value for the `nanos` field must be - // of the same sign as the `seconds` field. Must be from -999,999,999 - // to +999,999,999 inclusive. - int32 nanos = 2; -} diff --git a/pulumi_wasm_runner/proto/google/protobuf/empty.proto b/pulumi_wasm_runner/proto/google/protobuf/empty.proto deleted file mode 100644 index 03cacd23..00000000 --- a/pulumi_wasm_runner/proto/google/protobuf/empty.proto +++ /dev/null @@ -1,52 +0,0 @@ -// Protocol Buffers - Google's data interchange format -// Copyright 2008 Google Inc. All rights reserved. -// https://developers.google.com/protocol-buffers/ -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -syntax = "proto3"; - -package google.protobuf; - -option csharp_namespace = "Google.Protobuf.WellKnownTypes"; -option go_package = "github.com/golang/protobuf/ptypes/empty"; -option java_package = "com.google.protobuf"; -option java_outer_classname = "EmptyProto"; -option java_multiple_files = true; -option objc_class_prefix = "GPB"; -option cc_enable_arenas = true; - -// A generic empty message that you can re-use to avoid defining duplicated -// empty messages in your APIs. A typical example is to use it as the request -// or the response type of an API method. For instance: -// -// service Foo { -// rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); -// } -// -// The JSON representation for `Empty` is empty JSON object `{}`. -message Empty {} diff --git a/pulumi_wasm_runner/proto/google/protobuf/field_mask.proto b/pulumi_wasm_runner/proto/google/protobuf/field_mask.proto deleted file mode 100644 index baac8744..00000000 --- a/pulumi_wasm_runner/proto/google/protobuf/field_mask.proto +++ /dev/null @@ -1,245 +0,0 @@ -// Protocol Buffers - Google's data interchange format -// Copyright 2008 Google Inc. All rights reserved. -// https://developers.google.com/protocol-buffers/ -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -syntax = "proto3"; - -package google.protobuf; - -option csharp_namespace = "Google.Protobuf.WellKnownTypes"; -option java_package = "com.google.protobuf"; -option java_outer_classname = "FieldMaskProto"; -option java_multiple_files = true; -option objc_class_prefix = "GPB"; -option go_package = "google.golang.org/genproto/protobuf/field_mask;field_mask"; -option cc_enable_arenas = true; - -// `FieldMask` represents a set of symbolic field paths, for example: -// -// paths: "f.a" -// paths: "f.b.d" -// -// Here `f` represents a field in some root message, `a` and `b` -// fields in the message found in `f`, and `d` a field found in the -// message in `f.b`. -// -// Field masks are used to specify a subset of fields that should be -// returned by a get operation or modified by an update operation. -// Field masks also have a custom JSON encoding (see below). -// -// # Field Masks in Projections -// -// When used in the context of a projection, a response message or -// sub-message is filtered by the API to only contain those fields as -// specified in the mask. For example, if the mask in the previous -// example is applied to a response message as follows: -// -// f { -// a : 22 -// b { -// d : 1 -// x : 2 -// } -// y : 13 -// } -// z: 8 -// -// The result will not contain specific values for fields x,y and z -// (their value will be set to the default, and omitted in proto text -// output): -// -// -// f { -// a : 22 -// b { -// d : 1 -// } -// } -// -// A repeated field is not allowed except at the last position of a -// paths string. -// -// If a FieldMask object is not present in a get operation, the -// operation applies to all fields (as if a FieldMask of all fields -// had been specified). -// -// Note that a field mask does not necessarily apply to the -// top-level response message. In case of a REST get operation, the -// field mask applies directly to the response, but in case of a REST -// list operation, the mask instead applies to each individual message -// in the returned resource list. In case of a REST custom method, -// other definitions may be used. Where the mask applies will be -// clearly documented together with its declaration in the API. In -// any case, the effect on the returned resource/resources is required -// behavior for APIs. -// -// # Field Masks in Update Operations -// -// A field mask in update operations specifies which fields of the -// targeted resource are going to be updated. The API is required -// to only change the values of the fields as specified in the mask -// and leave the others untouched. If a resource is passed in to -// describe the updated values, the API ignores the values of all -// fields not covered by the mask. -// -// If a repeated field is specified for an update operation, new values will -// be appended to the existing repeated field in the target resource. Note that -// a repeated field is only allowed in the last position of a `paths` string. -// -// If a sub-message is specified in the last position of the field mask for an -// update operation, then new value will be merged into the existing sub-message -// in the target resource. -// -// For example, given the target message: -// -// f { -// b { -// d: 1 -// x: 2 -// } -// c: [1] -// } -// -// And an update message: -// -// f { -// b { -// d: 10 -// } -// c: [2] -// } -// -// then if the field mask is: -// -// paths: ["f.b", "f.c"] -// -// then the result will be: -// -// f { -// b { -// d: 10 -// x: 2 -// } -// c: [1, 2] -// } -// -// An implementation may provide options to override this default behavior for -// repeated and message fields. -// -// In order to reset a field's value to the default, the field must -// be in the mask and set to the default value in the provided resource. -// Hence, in order to reset all fields of a resource, provide a default -// instance of the resource and set all fields in the mask, or do -// not provide a mask as described below. -// -// If a field mask is not present on update, the operation applies to -// all fields (as if a field mask of all fields has been specified). -// Note that in the presence of schema evolution, this may mean that -// fields the client does not know and has therefore not filled into -// the request will be reset to their default. If this is unwanted -// behavior, a specific service may require a client to always specify -// a field mask, producing an error if not. -// -// As with get operations, the location of the resource which -// describes the updated values in the request message depends on the -// operation kind. In any case, the effect of the field mask is -// required to be honored by the API. -// -// ## Considerations for HTTP REST -// -// The HTTP kind of an update operation which uses a field mask must -// be set to PATCH instead of PUT in order to satisfy HTTP semantics -// (PUT must only be used for full updates). -// -// # JSON Encoding of Field Masks -// -// In JSON, a field mask is encoded as a single string where paths are -// separated by a comma. Fields name in each path are converted -// to/from lower-camel naming conventions. -// -// As an example, consider the following message declarations: -// -// message Profile { -// User user = 1; -// Photo photo = 2; -// } -// message User { -// string display_name = 1; -// string address = 2; -// } -// -// In proto a field mask for `Profile` may look as such: -// -// mask { -// paths: "user.display_name" -// paths: "photo" -// } -// -// In JSON, the same mask is represented as below: -// -// { -// mask: "user.displayName,photo" -// } -// -// # Field Masks and Oneof Fields -// -// Field masks treat fields in oneofs just as regular fields. Consider the -// following message: -// -// message SampleMessage { -// oneof test_oneof { -// string name = 4; -// SubMessage sub_message = 9; -// } -// } -// -// The field mask can be: -// -// mask { -// paths: "name" -// } -// -// Or: -// -// mask { -// paths: "sub_message" -// } -// -// Note that oneof type names ("test_oneof" in this case) cannot be used in -// paths. -// -// ## Field Mask Verification -// -// The implementation of any API method which has a FieldMask type field in the -// request should verify the included field paths, and return an -// `INVALID_ARGUMENT` error if any path is unmappable. -message FieldMask { - // The set of field mask paths. - repeated string paths = 1; -} diff --git a/pulumi_wasm_runner/proto/google/protobuf/source_context.proto b/pulumi_wasm_runner/proto/google/protobuf/source_context.proto deleted file mode 100644 index f3b2c966..00000000 --- a/pulumi_wasm_runner/proto/google/protobuf/source_context.proto +++ /dev/null @@ -1,48 +0,0 @@ -// Protocol Buffers - Google's data interchange format -// Copyright 2008 Google Inc. All rights reserved. -// https://developers.google.com/protocol-buffers/ -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -syntax = "proto3"; - -package google.protobuf; - -option csharp_namespace = "Google.Protobuf.WellKnownTypes"; -option java_package = "com.google.protobuf"; -option java_outer_classname = "SourceContextProto"; -option java_multiple_files = true; -option objc_class_prefix = "GPB"; -option go_package = "google.golang.org/genproto/protobuf/source_context;source_context"; - -// `SourceContext` represents information about the source of a -// protobuf element, like the file in which it is defined. -message SourceContext { - // The path-qualified name of the .proto file that contained the associated - // protobuf element. For example: `"google/protobuf/source_context.proto"`. - string file_name = 1; -} diff --git a/pulumi_wasm_runner/proto/google/protobuf/struct.proto b/pulumi_wasm_runner/proto/google/protobuf/struct.proto deleted file mode 100644 index ed990e31..00000000 --- a/pulumi_wasm_runner/proto/google/protobuf/struct.proto +++ /dev/null @@ -1,95 +0,0 @@ -// Protocol Buffers - Google's data interchange format -// Copyright 2008 Google Inc. All rights reserved. -// https://developers.google.com/protocol-buffers/ -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -syntax = "proto3"; - -package google.protobuf; - -option csharp_namespace = "Google.Protobuf.WellKnownTypes"; -option cc_enable_arenas = true; -option go_package = "github.com/golang/protobuf/ptypes/struct;structpb"; -option java_package = "com.google.protobuf"; -option java_outer_classname = "StructProto"; -option java_multiple_files = true; -option objc_class_prefix = "GPB"; - -// `Struct` represents a structured data value, consisting of fields -// which map to dynamically typed values. In some languages, `Struct` -// might be supported by a native representation. For example, in -// scripting languages like JS a struct is represented as an -// object. The details of that representation are described together -// with the proto support for the language. -// -// The JSON representation for `Struct` is JSON object. -message Struct { - // Unordered map of dynamically typed values. - map fields = 1; -} - -// `Value` represents a dynamically typed value which can be either -// null, a number, a string, a boolean, a recursive struct value, or a -// list of values. A producer of value is expected to set one of that -// variants, absence of any variant indicates an error. -// -// The JSON representation for `Value` is JSON value. -message Value { - // The kind of value. - oneof kind { - // Represents a null value. - NullValue null_value = 1; - // Represents a double value. - double number_value = 2; - // Represents a string value. - string string_value = 3; - // Represents a boolean value. - bool bool_value = 4; - // Represents a structured value. - Struct struct_value = 5; - // Represents a repeated `Value`. - ListValue list_value = 6; - } -} - -// `NullValue` is a singleton enumeration to represent the null value for the -// `Value` type union. -// -// The JSON representation for `NullValue` is JSON `null`. -enum NullValue { - // Null value. - NULL_VALUE = 0; -} - -// `ListValue` is a wrapper around a repeated field of values. -// -// The JSON representation for `ListValue` is JSON array. -message ListValue { - // Repeated field of dynamically typed values. - repeated Value values = 1; -} diff --git a/pulumi_wasm_runner/proto/google/protobuf/timestamp.proto b/pulumi_wasm_runner/proto/google/protobuf/timestamp.proto deleted file mode 100644 index cd357864..00000000 --- a/pulumi_wasm_runner/proto/google/protobuf/timestamp.proto +++ /dev/null @@ -1,138 +0,0 @@ -// Protocol Buffers - Google's data interchange format -// Copyright 2008 Google Inc. All rights reserved. -// https://developers.google.com/protocol-buffers/ -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -syntax = "proto3"; - -package google.protobuf; - -option csharp_namespace = "Google.Protobuf.WellKnownTypes"; -option cc_enable_arenas = true; -option go_package = "github.com/golang/protobuf/ptypes/timestamp"; -option java_package = "com.google.protobuf"; -option java_outer_classname = "TimestampProto"; -option java_multiple_files = true; -option objc_class_prefix = "GPB"; - -// A Timestamp represents a point in time independent of any time zone or local -// calendar, encoded as a count of seconds and fractions of seconds at -// nanosecond resolution. The count is relative to an epoch at UTC midnight on -// January 1, 1970, in the proleptic Gregorian calendar which extends the -// Gregorian calendar backwards to year one. -// -// All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap -// second table is needed for interpretation, using a [24-hour linear -// smear](https://developers.google.com/time/smear). -// -// The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By -// restricting to that range, we ensure that we can convert to and from [RFC -// 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. -// -// # Examples -// -// Example 1: Compute Timestamp from POSIX `time()`. -// -// Timestamp timestamp; -// timestamp.set_seconds(time(NULL)); -// timestamp.set_nanos(0); -// -// Example 2: Compute Timestamp from POSIX `gettimeofday()`. -// -// struct timeval tv; -// gettimeofday(&tv, NULL); -// -// Timestamp timestamp; -// timestamp.set_seconds(tv.tv_sec); -// timestamp.set_nanos(tv.tv_usec * 1000); -// -// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. -// -// FILETIME ft; -// GetSystemTimeAsFileTime(&ft); -// UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; -// -// // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z -// // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. -// Timestamp timestamp; -// timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); -// timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); -// -// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. -// -// long millis = System.currentTimeMillis(); -// -// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) -// .setNanos((int) ((millis % 1000) * 1000000)).build(); -// -// -// Example 5: Compute Timestamp from current time in Python. -// -// timestamp = Timestamp() -// timestamp.GetCurrentTime() -// -// # JSON Mapping -// -// In JSON format, the Timestamp type is encoded as a string in the -// [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the -// format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" -// where {year} is always expressed using four digits while {month}, {day}, -// {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional -// seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), -// are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone -// is required. A proto3 JSON serializer should always use UTC (as indicated by -// "Z") when printing the Timestamp type and a proto3 JSON parser should be -// able to accept both UTC and other timezones (as indicated by an offset). -// -// For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past -// 01:30 UTC on January 15, 2017. -// -// In JavaScript, one can convert a Date object to this format using the -// standard -// [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) -// method. In Python, a standard `datetime.datetime` object can be converted -// to this format using -// [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with -// the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use -// the Joda Time's [`ISODateTimeFormat.dateTime()`]( -// http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D -// ) to obtain a formatter capable of generating timestamps in this format. -// -// -message Timestamp { - // Represents seconds of UTC time since Unix epoch - // 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to - // 9999-12-31T23:59:59Z inclusive. - int64 seconds = 1; - - // Non-negative fractions of a second at nanosecond resolution. Negative - // second values with fractions must still have non-negative nanos values - // that count forward in time. Must be from 0 to 999,999,999 - // inclusive. - int32 nanos = 2; -} diff --git a/pulumi_wasm_runner/proto/google/protobuf/type.proto b/pulumi_wasm_runner/proto/google/protobuf/type.proto deleted file mode 100644 index e4b1d3a4..00000000 --- a/pulumi_wasm_runner/proto/google/protobuf/type.proto +++ /dev/null @@ -1,187 +0,0 @@ -// Protocol Buffers - Google's data interchange format -// Copyright 2008 Google Inc. All rights reserved. -// https://developers.google.com/protocol-buffers/ -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -syntax = "proto3"; - -package google.protobuf; - -import "google/protobuf/any.proto"; -import "google/protobuf/source_context.proto"; - -option csharp_namespace = "Google.Protobuf.WellKnownTypes"; -option cc_enable_arenas = true; -option java_package = "com.google.protobuf"; -option java_outer_classname = "TypeProto"; -option java_multiple_files = true; -option objc_class_prefix = "GPB"; -option go_package = "google.golang.org/genproto/protobuf/ptype;ptype"; - -// A protocol buffer message type. -message Type { - // The fully qualified message name. - string name = 1; - // The list of fields. - repeated Field fields = 2; - // The list of types appearing in `oneof` definitions in this type. - repeated string oneofs = 3; - // The protocol buffer options. - repeated Option options = 4; - // The source context. - SourceContext source_context = 5; - // The source syntax. - Syntax syntax = 6; -} - -// A single field of a message type. -message Field { - // Basic field types. - enum Kind { - // Field type unknown. - TYPE_UNKNOWN = 0; - // Field type double. - TYPE_DOUBLE = 1; - // Field type float. - TYPE_FLOAT = 2; - // Field type int64. - TYPE_INT64 = 3; - // Field type uint64. - TYPE_UINT64 = 4; - // Field type int32. - TYPE_INT32 = 5; - // Field type fixed64. - TYPE_FIXED64 = 6; - // Field type fixed32. - TYPE_FIXED32 = 7; - // Field type bool. - TYPE_BOOL = 8; - // Field type string. - TYPE_STRING = 9; - // Field type group. Proto2 syntax only, and deprecated. - TYPE_GROUP = 10; - // Field type message. - TYPE_MESSAGE = 11; - // Field type bytes. - TYPE_BYTES = 12; - // Field type uint32. - TYPE_UINT32 = 13; - // Field type enum. - TYPE_ENUM = 14; - // Field type sfixed32. - TYPE_SFIXED32 = 15; - // Field type sfixed64. - TYPE_SFIXED64 = 16; - // Field type sint32. - TYPE_SINT32 = 17; - // Field type sint64. - TYPE_SINT64 = 18; - } - - // Whether a field is optional, required, or repeated. - enum Cardinality { - // For fields with unknown cardinality. - CARDINALITY_UNKNOWN = 0; - // For optional fields. - CARDINALITY_OPTIONAL = 1; - // For required fields. Proto2 syntax only. - CARDINALITY_REQUIRED = 2; - // For repeated fields. - CARDINALITY_REPEATED = 3; - }; - - // The field type. - Kind kind = 1; - // The field cardinality. - Cardinality cardinality = 2; - // The field number. - int32 number = 3; - // The field name. - string name = 4; - // The field type URL, without the scheme, for message or enumeration - // types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`. - string type_url = 6; - // The index of the field type in `Type.oneofs`, for message or enumeration - // types. The first type has index 1; zero means the type is not in the list. - int32 oneof_index = 7; - // Whether to use alternative packed wire representation. - bool packed = 8; - // The protocol buffer options. - repeated Option options = 9; - // The field JSON name. - string json_name = 10; - // The string value of the default value of this field. Proto2 syntax only. - string default_value = 11; -} - -// Enum type definition. -message Enum { - // Enum type name. - string name = 1; - // Enum value definitions. - repeated EnumValue enumvalue = 2; - // Protocol buffer options. - repeated Option options = 3; - // The source context. - SourceContext source_context = 4; - // The source syntax. - Syntax syntax = 5; -} - -// Enum value definition. -message EnumValue { - // Enum value name. - string name = 1; - // Enum value number. - int32 number = 2; - // Protocol buffer options. - repeated Option options = 3; -} - -// A protocol buffer option, which can be attached to a message, field, -// enumeration, etc. -message Option { - // The option's name. For protobuf built-in options (options defined in - // descriptor.proto), this is the short name. For example, `"map_entry"`. - // For custom options, it should be the fully-qualified name. For example, - // `"google.api.http"`. - string name = 1; - // The option's value packed in an Any message. If the value is a primitive, - // the corresponding wrapper type defined in google/protobuf/wrappers.proto - // should be used. If the value is an enum, it should be stored as an int32 - // value using the google.protobuf.Int32Value type. - Any value = 2; -} - -// The syntax in which a protocol buffer element is defined. -enum Syntax { - // Syntax `proto2`. - SYNTAX_PROTO2 = 0; - // Syntax `proto3`. - SYNTAX_PROTO3 = 1; -} diff --git a/pulumi_wasm_runner/proto/google/protobuf/wrappers.proto b/pulumi_wasm_runner/proto/google/protobuf/wrappers.proto deleted file mode 100644 index 9ee41e38..00000000 --- a/pulumi_wasm_runner/proto/google/protobuf/wrappers.proto +++ /dev/null @@ -1,123 +0,0 @@ -// Protocol Buffers - Google's data interchange format -// Copyright 2008 Google Inc. All rights reserved. -// https://developers.google.com/protocol-buffers/ -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// Wrappers for primitive (non-message) types. These types are useful -// for embedding primitives in the `google.protobuf.Any` type and for places -// where we need to distinguish between the absence of a primitive -// typed field and its default value. -// -// These wrappers have no meaningful use within repeated fields as they lack -// the ability to detect presence on individual elements. -// These wrappers have no meaningful use within a map or a oneof since -// individual entries of a map or fields of a oneof can already detect presence. - -syntax = "proto3"; - -package google.protobuf; - -option csharp_namespace = "Google.Protobuf.WellKnownTypes"; -option cc_enable_arenas = true; -option go_package = "github.com/golang/protobuf/ptypes/wrappers"; -option java_package = "com.google.protobuf"; -option java_outer_classname = "WrappersProto"; -option java_multiple_files = true; -option objc_class_prefix = "GPB"; - -// Wrapper message for `double`. -// -// The JSON representation for `DoubleValue` is JSON number. -message DoubleValue { - // The double value. - double value = 1; -} - -// Wrapper message for `float`. -// -// The JSON representation for `FloatValue` is JSON number. -message FloatValue { - // The float value. - float value = 1; -} - -// Wrapper message for `int64`. -// -// The JSON representation for `Int64Value` is JSON string. -message Int64Value { - // The int64 value. - int64 value = 1; -} - -// Wrapper message for `uint64`. -// -// The JSON representation for `UInt64Value` is JSON string. -message UInt64Value { - // The uint64 value. - uint64 value = 1; -} - -// Wrapper message for `int32`. -// -// The JSON representation for `Int32Value` is JSON number. -message Int32Value { - // The int32 value. - int32 value = 1; -} - -// Wrapper message for `uint32`. -// -// The JSON representation for `UInt32Value` is JSON number. -message UInt32Value { - // The uint32 value. - uint32 value = 1; -} - -// Wrapper message for `bool`. -// -// The JSON representation for `BoolValue` is JSON `true` and `false`. -message BoolValue { - // The bool value. - bool value = 1; -} - -// Wrapper message for `string`. -// -// The JSON representation for `StringValue` is JSON string. -message StringValue { - // The string value. - string value = 1; -} - -// Wrapper message for `bytes`. -// -// The JSON representation for `BytesValue` is JSON string. -message BytesValue { - // The bytes value. - bytes value = 1; -} diff --git a/pulumi_wasm_runner/proto/pulumi/alias.proto b/pulumi_wasm_runner/proto/pulumi/alias.proto deleted file mode 100644 index a9b5a6f1..00000000 --- a/pulumi_wasm_runner/proto/pulumi/alias.proto +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright 2016-2018, Pulumi Corporation. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package pulumirpc; - -option go_package = "github.com/pulumi/pulumi/sdk/v3/proto/go;pulumirpc"; - -message Alias { - message Spec { - string name = 1; // The previous name of the resource. If none is provided, we will use the current name. - string type = 2; // The previous type of the resource. If none is provided, we will use the current resoource type. - string stack = 3; // The previous stack of the resource. If not set, the current stack of the resource is used. - string project = 4; // The previous project of the resource. If not set, the current project of the resource is used. - - // The previous parent of the resource. If not set, the current parent of the resource is used. - oneof parent { - string parentUrn = 5; // The urn of the previous parent. - bool noParent = 6; // Used to indicate the resource previously had no parent. If false this property is ignored. - } - } - oneof alias { - string urn = 1; // The previous urn to alias to. - Spec spec = 2; // An alias specification. - } -} diff --git a/pulumi_wasm_runner/proto/pulumi/analyzer.proto b/pulumi_wasm_runner/proto/pulumi/analyzer.proto deleted file mode 100644 index 4e56a1ce..00000000 --- a/pulumi_wasm_runner/proto/pulumi/analyzer.proto +++ /dev/null @@ -1,180 +0,0 @@ -// Copyright 2016-2018, Pulumi Corporation. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -import "pulumi/plugin.proto"; -import "google/protobuf/empty.proto"; -import "google/protobuf/struct.proto"; - -package pulumirpc; - -option go_package = "github.com/pulumi/pulumi/sdk/v3/proto/go;pulumirpc"; - -// Analyzer provides a pluggable interface for checking resource definitions against some number of -// resource policies. It is intentionally open-ended, allowing for implementations that check -// everything from raw resource definitions to entire projects/stacks/snapshots for arbitrary -// issues -- style, policy, correctness, security, and so on. -service Analyzer { - // Analyze analyzes a single resource object, and returns any errors that it finds. - // Called with the "inputs" to the resource, before it is updated. - rpc Analyze(AnalyzeRequest) returns (AnalyzeResponse) {} - // AnalyzeStack analyzes all resources within a stack, at the end of a successful - // preview or update. The provided resources are the "outputs", after any mutations - // have taken place. - rpc AnalyzeStack(AnalyzeStackRequest) returns (AnalyzeResponse) {} - // Remediate optionally transforms a single resource object. This effectively rewrites - // a single resource object's properties instead of using what was generated by the program. - rpc Remediate(AnalyzeRequest) returns (RemediateResponse) {} - // GetAnalyzerInfo returns metadata about the analyzer (e.g., list of policies contained). - rpc GetAnalyzerInfo(google.protobuf.Empty) returns (AnalyzerInfo) {} - // GetPluginInfo returns generic information about this plugin, like its version. - rpc GetPluginInfo(google.protobuf.Empty) returns (PluginInfo) {} - // Configure configures the analyzer, passing configuration properties for each policy. - rpc Configure(ConfigureAnalyzerRequest) returns (google.protobuf.Empty) {} -} - -message AnalyzeRequest { - string type = 1; // the type token of the resource. - google.protobuf.Struct properties = 2; // the full properties to use for validation. - string urn = 3; // the URN of the resource. - string name = 4; // the name for the resource's URN. - AnalyzerResourceOptions options = 5; // the resource options. - AnalyzerProviderResource provider = 6; // the resource's provider. -} - -// AnalyzerResource defines the view of a Pulumi-managed resource as sent to Analyzers. The properties -// of the resource are specific to the type of analysis being performed. See the Analyzer -// service definition for more information. -message AnalyzerResource { - string type = 1; // the type token of the resource. - google.protobuf.Struct properties = 2; // the full properties to use for validation. - string urn = 3; // the URN of the resource. - string name = 4; // the name for the resource's URN. - AnalyzerResourceOptions options = 5; // the resource options. - AnalyzerProviderResource provider = 6; // the resource's provider. - string parent = 7; // an optional parent URN that this child resource belongs to. - repeated string dependencies = 8; // a list of URNs that this resource depends on. - map propertyDependencies = 9; // a map from property keys to the dependencies of the property. -} - -// AnalyzerResourceOptions defines the options associated with a resource. -message AnalyzerResourceOptions { - // CustomTimeouts allows a user to be able to create a set of custom timeout parameters. - message CustomTimeouts { - double create = 1; // The create resource timeout in seconds. - double update = 2; // The update resource timeout in seconds. - double delete = 3; // The delete resource timeout in seconds. - } - - bool protect = 1; // true if the resource should be marked protected. - repeated string ignoreChanges = 2; // a list of property names to ignore during changes. - bool deleteBeforeReplace = 3; // true if this resource should be deleted before replacement. - bool deleteBeforeReplaceDefined = 4; // true if the deleteBeforeReplace property should be treated as defined even if it is false. - repeated string additionalSecretOutputs = 5; // a list of output properties that should also be treated as secret, in addition to ones we detect. - repeated string aliases = 6; // a list of additional URNs that shoud be considered the same. - CustomTimeouts customTimeouts = 7; // a config block that will be used to configure timeouts for CRUD operations. -} - -// AnalyzerProviderResource provides information about a resource's provider. -message AnalyzerProviderResource { - string type = 1; // the type token of the resource. - google.protobuf.Struct properties = 2; // the full properties to use for validation. - string urn = 3; // the URN of the resource. - string name = 4; // the name for the resource's URN. -} - -// AnalyzerPropertyDependencies describes the resources that a particular property depends on. -message AnalyzerPropertyDependencies { - repeated string urns = 1; // A list of URNs this property depends on. -} - -message AnalyzeStackRequest { - repeated AnalyzerResource resources = 1; -} - -message AnalyzeResponse { - repeated AnalyzeDiagnostic diagnostics = 2; // information about policy violations. -} - -// EnforcementLevel indicates the severity of a policy violation. -enum EnforcementLevel { - ADVISORY = 0; // Displayed to users, but does not block deployment. - MANDATORY = 1; // Stops deployment, cannot be overridden. - DISABLED = 2; // Disabled policies do not run during a deployment. - REMEDIATE = 3; // Remediated policies actually fixes problems instead of issuing diagnostics. -} - -message AnalyzeDiagnostic { - string policyName = 1; // Name of the violated policy. - string policyPackName = 2; // Name of the policy pack the policy is in. - string policyPackVersion = 3; // Version of the policy pack. - string description = 4; // Description of policy rule. e.g., "encryption enabled." - string message = 5; // Message to display on policy violation, e.g., remediation steps. - repeated string tags = 6; // Keywords/terms to associate with a policy, e.g., "cost". - EnforcementLevel enforcementLevel = 7; // Severity of the policy violation. - string urn = 8; // URN of the resource that violates the policy. -} - -// Remediation is a single resource remediation result. -message Remediation { - string policyName = 1; // Name of the policy that performed the remediation. - string policyPackName = 2; // Name of the policy pack the transform is in. - string policyPackVersion = 3; // Version of the policy pack. - string description = 4; // Description of transform rule. e.g., "auto-tag resources." - google.protobuf.Struct properties = 5; // the transformed properties to use. - string diagnostic = 6; // an optional warning diagnostic to emit, if a transform failed. -} - -// RemediateResponse contains a sequence of remediations applied, in order. -message RemediateResponse { - repeated Remediation remediations = 1; // the list of remediations that were applied. -} - -// AnalyzerInfo provides metadata about a PolicyPack inside an analyzer. -message AnalyzerInfo { - string name = 1; // Name of the PolicyPack. - string displayName = 2; // Pretty name for the PolicyPack. - repeated PolicyInfo policies = 3; // Metadata about policies contained in PolicyPack. - string version = 4; // Version of the Policy Pack. - bool supportsConfig = 5; // Whether the Policy Pack supports config. - map initialConfig = 6; // Map of policy name to config. -} - -// PolicyInfo provides metadata about a policy within a Policy Pack. -message PolicyInfo { - string name = 1; // Name of the policy. - string displayName = 2; // Pretty name for the policy. - string description = 3; // Description of policy rule. e.g., "encryption enabled." - string message = 4; // Message to display on policy violation, e.g., remediation steps. - EnforcementLevel enforcementLevel = 5; // Severity of the policy violation. - PolicyConfigSchema configSchema = 6; // Config schema for the policy. -} - -// PolicyConfigSchema provides the schema for a policy's configuration. -message PolicyConfigSchema { - google.protobuf.Struct properties = 1; // JSON schema for each property. - repeated string required = 2; // Required properties. -} - -// PolicyConfig provides configuration for a policy. -message PolicyConfig { - EnforcementLevel enforcementLevel = 1; // Enforcement level of the policy. - google.protobuf.Struct properties = 2; // Configuration properties of the policy. -} - -// ConfigureAnalyzerRequest provides configuration information to the analyzer. -message ConfigureAnalyzerRequest { - map policyConfig = 1; // Map of policy name to config. -} diff --git a/pulumi_wasm_runner/proto/pulumi/codegen/hcl.proto b/pulumi_wasm_runner/proto/pulumi/codegen/hcl.proto deleted file mode 100644 index fdeafc4d..00000000 --- a/pulumi_wasm_runner/proto/pulumi/codegen/hcl.proto +++ /dev/null @@ -1,89 +0,0 @@ -// Copyright 2016-2023, Pulumi Corporation. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package pulumirpc.codegen; - -option go_package = "github.com/pulumi/pulumi/sdk/v3/proto/go/codegen"; - -// Pos represents a single position in a source file, by addressing the start byte of a unicode character -// encoded in UTF-8. -message Pos { - // Line is the source code line where this position points. Lines are counted starting at 1 and - // incremented for each newline character encountered. - int64 line = 1; - - // Column is the source code column where this position points, in unicode characters, with counting - // starting at 1. - // - // Column counts characters as they appear visually, so for example a latin letter with a combining - // diacritic mark counts as one character. This is intended for rendering visual markers against source - // code in contexts where these diacritics would be rendered in a single character cell. Technically - // speaking, Column is counting grapheme clusters as used in unicode normalization. - int64 column = 2; - - // Byte is the byte offset into the file where the indicated character begins. This is a zero-based offset - // to the first byte of the first UTF-8 codepoint sequence in the character, and thus gives a position - // that can be resolved _without_ awareness of Unicode characters. - int64 byte = 3; -} - -// Range represents a span of characters between two positions in a source file. -message Range { - // Filename is the name of the file into which this range's positions point. - string filename = 1; - - // Start and End represent the bounds of this range. Start is inclusive and End is exclusive. - Pos start = 2; - Pos end = 3; -} - -// DiagnosticSeverity is the severity level of a diagnostic message. -enum DiagnosticSeverity { - // DIAG_INVALID is the invalid zero value of DiagnosticSeverity - DIAG_INVALID = 0; - // DIAG_ERROR indicates that the problem reported by a diagnostic prevents - // further progress in parsing and/or evaluating the subject. - DIAG_ERROR = 1; - // DIAG_WARNING indicates that the problem reported by a diagnostic warrants - // user attention but does not prevent further progress. It is most - // commonly used for showing deprecation notices. - DIAG_WARNING = 2; -} - -// Diagnostic represents information to be presented to a user about an error or anomaly in parsing or evaluating configuration. -message Diagnostic { - DiagnosticSeverity severity = 1; - - // Summary and Detail contain the English-language description of the - // problem. Summary is a terse description of the general problem and - // detail is a more elaborate, often-multi-sentence description of - // the problem and what might be done to solve it. - string summary = 2; - string detail = 3; - - // Subject and Context are both source ranges relating to the diagnostic. - // - // Subject is a tight range referring to exactly the construct that - // is problematic, while Context is an optional broader range (which should - // fully contain Subject) that ought to be shown around Subject when - // generating isolated source-code snippets in diagnostic messages. - // If Context is nil, the Subject is also the Context. - // - // Some diagnostics have no source ranges at all. If Context is set then - // Subject should always also be set. - Range subject = 4; - Range context = 5; -} \ No newline at end of file diff --git a/pulumi_wasm_runner/proto/pulumi/codegen/loader.proto b/pulumi_wasm_runner/proto/pulumi/codegen/loader.proto deleted file mode 100644 index 873c2e43..00000000 --- a/pulumi_wasm_runner/proto/pulumi/codegen/loader.proto +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright 2016-2023, Pulumi Corporation. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -import "google/protobuf/empty.proto"; -import "google/protobuf/struct.proto"; - -package codegen; - -option go_package = "github.com/pulumi/pulumi/sdk/v3/proto/go/codegen"; - -// Loader is a service for getting schemas from the Pulumi engine for use in code generators and other tools. -// This is currently unstable and experimental. -service Loader { - // GetSchema tries to find a schema for the given package and version. - rpc GetSchema(GetSchemaRequest) returns (GetSchemaResponse) {} -} - -// GetSchemaRequest allows the engine to return a schema for a given package and version. -message GetSchemaRequest { - // the package name for the schema being requested. - string package = 1; - // the version for the schema being requested, must be a valid semver or empty. - string version = 2; -} - -// GetSchemaResponse returns the schema data for the requested package. -message GetSchemaResponse { - // the JSON encoded schema. - bytes schema = 1; -} \ No newline at end of file diff --git a/pulumi_wasm_runner/proto/pulumi/codegen/mapper.proto b/pulumi_wasm_runner/proto/pulumi/codegen/mapper.proto deleted file mode 100644 index c350f731..00000000 --- a/pulumi_wasm_runner/proto/pulumi/codegen/mapper.proto +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2016-2023, Pulumi Corporation. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -import "google/protobuf/empty.proto"; -import "google/protobuf/struct.proto"; - -package codegen; - -option go_package = "github.com/pulumi/pulumi/sdk/v3/proto/go/codegen"; - -// Mapper is a service for getting mappings from other ecosystems to Pulumi. -// This is currently unstable and experimental. -service Mapper { - // GetMapping tries to find a mapping for the given provider. - rpc GetMapping(GetMappingRequest) returns (GetMappingResponse) {} -} - -// GetMappingRequest allows the engine to return ecosystem specific information to allow the converter to be -// convert provider types from a source markup to Pulumi. -message GetMappingRequest { - // the provider name for the mapping being requested. - string provider = 1; - // the expected name of the pulumi provider that maps to the requested provider. Defaults to the same as 'provider'. - string pulumi_provider = 2; -} - -// GetMappingResponse returns converter plugin specific data for the requested provider. This will normally be human -// readable JSON, but the engine doesn't mandate any form. -message GetMappingResponse { - // the conversion plugin specific data (if any) - bytes data = 1; -} \ No newline at end of file diff --git a/pulumi_wasm_runner/proto/pulumi/converter.proto b/pulumi_wasm_runner/proto/pulumi/converter.proto deleted file mode 100644 index 0fee8bc4..00000000 --- a/pulumi_wasm_runner/proto/pulumi/converter.proto +++ /dev/null @@ -1,84 +0,0 @@ -// Copyright 2016-2023, Pulumi Corporation. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -import "pulumi/codegen/hcl.proto"; -import "pulumi/plugin.proto"; -import "google/protobuf/empty.proto"; -import "google/protobuf/struct.proto"; - -package pulumirpc; - -option go_package = "github.com/pulumi/pulumi/sdk/v3/proto/go;pulumirpc"; - -// Converter is a service for converting between other ecosystems and Pulumi. -// This is currently unstable and experimental. -service Converter { - // ConvertState converts state from the target ecosystem into a form that can be imported into Pulumi. - rpc ConvertState(ConvertStateRequest) returns (ConvertStateResponse) {} - - // ConvertProgram converts a program from the target ecosystem into a form that can be used with Pulumi. - rpc ConvertProgram(ConvertProgramRequest) returns (ConvertProgramResponse) {} -} - -message ConvertStateRequest { - // the gRPC target of the mapper service. - string mapper_target = 1; - // the args passed to `pulumi import` for this conversion. Normally used to specifiy a state file to - // import from. - repeated string args = 2; -} - -// A ResourceImport specifies a resource to import. -message ResourceImport { - // the type token for the resource. - string type = 1; - // the name of the resource. - string name = 2; - // the ID of the resource. - string id = 3; - - // the provider version to use for the resource, if any. - string version = 4; - // the provider PluginDownloadURL to use for the resource, if any. - string pluginDownloadURL = 5; -} - -message ConvertStateResponse { - - // a list of resources to import. - repeated ResourceImport resources = 1; - - // any diagnostics from state conversion. - repeated pulumirpc.codegen.Diagnostic diagnostics = 2; -} - -message ConvertProgramRequest { - // the source directory containing the program to convert from. - string source_directory = 1; - // a target directory to write the resulting PCL code and project file to. - string target_directory = 2; - // the gRPC target of the mapper service. - string mapper_target = 3; - // The target of a codegen.LoaderServer to use for loading schemas. - string loader_target = 4; - // the args passed to `pulumi convert` for this conversion. Normally used to specifiy a root file, or conversion options. - repeated string args = 5; -} - -message ConvertProgramResponse { - // any diagnostics from code generation. - repeated pulumirpc.codegen.Diagnostic diagnostics = 1; -} \ No newline at end of file diff --git a/pulumi_wasm_runner/proto/pulumi/engine.proto b/pulumi_wasm_runner/proto/pulumi/engine.proto deleted file mode 100644 index ffc5fbea..00000000 --- a/pulumi_wasm_runner/proto/pulumi/engine.proto +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright 2016-2018, Pulumi Corporation. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -import "google/protobuf/empty.proto"; - -package pulumirpc; - -option go_package = "github.com/pulumi/pulumi/sdk/v3/proto/go;pulumirpc"; - -// Engine is an auxiliary service offered to language and resource provider plugins. Its main purpose today is -// to serve as a common logging endpoint, but it also serves as a state storage mechanism for language hosts -// that can't store their own global state. -service Engine { - // Log logs a global message in the engine, including errors and warnings. - rpc Log(LogRequest) returns (google.protobuf.Empty) {} - - // GetRootResource gets the URN of the root resource, the resource that should be the root of all - // otherwise-unparented resources. - rpc GetRootResource(GetRootResourceRequest) returns (GetRootResourceResponse) {} - - // SetRootResource sets the URN of the root resource. - rpc SetRootResource(SetRootResourceRequest) returns (SetRootResourceResponse) {} -} - -// LogSeverity is the severity level of a log message. Errors are fatal; all others are informational. -enum LogSeverity { - DEBUG = 0; // a debug-level message not displayed to end-users (the default). - INFO = 1; // an informational message printed to output during resource operations. - WARNING = 2; // a warning to indicate that something went wrong. - ERROR = 3; // a fatal error indicating that the tool should stop processing subsequent resource operations. -} - -message LogRequest { - // the logging level of this message. - LogSeverity severity = 1; - - // the contents of the logged message. - string message = 2; - - // the (optional) resource urn this log is associated with. - optional string urn = 3; - - // the (optional) stream id that a stream of log messages can be associated with. This allows - // clients to not have to buffer a large set of log messages that they all want to be - // conceptually connected. Instead the messages can be sent as chunks (with the same stream id) - // and the end display can show the messages as they arrive, while still stitching them together - // into one total log message. - // - // 0/not-given means: do not associate with any stream. - optional int32 streamId = 4; - - // Optional value indicating whether this is a status message. - optional bool ephemeral = 5; -} - -message GetRootResourceRequest { - // empty. -} - -message GetRootResourceResponse { - // the URN of the root resource, or the empty string if one was not set. - string urn = 1; -} - -message SetRootResourceRequest { - // the URN of the root resource, or the empty string. - string urn = 1; -} - -message SetRootResourceResponse { - // empty. -} diff --git a/pulumi_wasm_runner/proto/pulumi/errors.proto b/pulumi_wasm_runner/proto/pulumi/errors.proto deleted file mode 100644 index 077c4739..00000000 --- a/pulumi_wasm_runner/proto/pulumi/errors.proto +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright 2016-2018, Pulumi Corporation. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package pulumirpc; - -option go_package = "github.com/pulumi/pulumi/sdk/v3/proto/go;pulumirpc"; - -message ErrorCause { - string message = 1; - string stackTrace = 2; -} - diff --git a/pulumi_wasm_runner/proto/pulumi/language.proto b/pulumi_wasm_runner/proto/pulumi/language.proto deleted file mode 100644 index d380fbc7..00000000 --- a/pulumi_wasm_runner/proto/pulumi/language.proto +++ /dev/null @@ -1,232 +0,0 @@ -// Copyright 2016-2023, Pulumi Corporation. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -import "pulumi/codegen/hcl.proto"; -import "pulumi/plugin.proto"; -import "google/protobuf/empty.proto"; -import "google/protobuf/struct.proto"; - -package pulumirpc; - -option go_package = "github.com/pulumi/pulumi/sdk/v3/proto/go;pulumirpc"; - -// LanguageRuntime is the interface that the planning monitor uses to drive execution of an interpreter responsible -// for confguring and creating resource objects. -service LanguageRuntime { - // GetRequiredPlugins computes the complete set of anticipated plugins required by a program. - rpc GetRequiredPlugins(GetRequiredPluginsRequest) returns (GetRequiredPluginsResponse) {} - // Run executes a program and returns its result. - rpc Run(RunRequest) returns (RunResponse) {} - // GetPluginInfo returns generic information about this plugin, like its version. - rpc GetPluginInfo(google.protobuf.Empty) returns (PluginInfo) {} - - // InstallDependencies will install dependencies for the project, e.g. by running `npm install` for nodejs projects. - rpc InstallDependencies(InstallDependenciesRequest) returns (stream InstallDependenciesResponse) {} - - // About returns information about the runtime for this language. - rpc About(google.protobuf.Empty) returns (AboutResponse) {} - - // GetProgramDependencies returns the set of dependencies required by the program. - rpc GetProgramDependencies(GetProgramDependenciesRequest) returns (GetProgramDependenciesResponse) {} - - // RunPlugin executes a plugin program and returns its result asynchronously. - rpc RunPlugin(RunPluginRequest) returns (stream RunPluginResponse) {} - - // GenerateProgram generates a given PCL program into a program for this language. - rpc GenerateProgram(GenerateProgramRequest) returns (GenerateProgramResponse) {} - - // GenerateProject generates a given PCL program into a project for this language. - rpc GenerateProject(GenerateProjectRequest) returns (GenerateProjectResponse) {} - - // GeneratePackage generates a given pulumi package into a package for this language. - rpc GeneratePackage(GeneratePackageRequest) returns (GeneratePackageResponse) {} - - // Pack packs a package into a language specific artifact. - rpc Pack(PackRequest) returns (PackResponse) {} -} - -// ProgramInfo are the common set of options that a language runtime needs to execute or query a program. This -// is filled in by the engine based on where the `Pulumi.yaml` file was, the `runtime.options` property, and -// the `main` property. -message ProgramInfo { - // the root of the project, where the `Pulumi.yaml` file is located. - string root_directory = 1; - // the absolute path to the directory of the program to execute. Generally, but not required to be, - // underneath the root directory. - string program_directory = 2; - // the entry point of the program, normally '.' meaning to just use the program directory, but can also be - // a filename inside the program directory. How that filename is interpreted, if at all, is language - // specific. - string entry_point = 3; - // JSON style options from the `Pulumi.yaml` runtime options section. - google.protobuf.Struct options = 4; -} - -// AboutResponse returns runtime information about the language. -message AboutResponse { - string executable = 1; // the primary executable for the runtime of this language. - string version = 2; // the version of the runtime for this language. - map metadata = 3; // other information about this language. -} - -message GetProgramDependenciesRequest { - string project = 1 [deprecated = true]; // the project name, the engine always sets this to "deprecated" now. - string pwd = 2 [deprecated = true]; // the program's working directory. - string program = 3 [deprecated = true]; // the path to the program. - bool transitiveDependencies = 4; // if transitive dependencies should be included in the result. - ProgramInfo info = 5; // the program info to use to calculate dependencies. -} - -message DependencyInfo { - string name = 1; // The name of the dependency. - string version = 2; // The version of the dependency. -} - -message GetProgramDependenciesResponse { - repeated DependencyInfo dependencies = 1; // the dependencies of this program -} - -message GetRequiredPluginsRequest { - string project = 1 [deprecated = true]; // the project name, the engine always sets this to "deprecated" now. - string pwd = 2 [deprecated = true]; // the program's working directory. - string program = 3 [deprecated = true]; // the path to the program. - ProgramInfo info = 4; // the program info to use to calculate plugins. -} - -message GetRequiredPluginsResponse { - repeated PluginDependency plugins = 1; // a list of plugins required by this program. -} - -// RunRequest asks the interpreter to execute a program. -message RunRequest { - string project = 1; // the project name. - string stack = 2; // the name of the stack being deployed into. - string pwd = 3; // the program's working directory. - string program = 4 [deprecated = true]; // the path to the program to execute. - repeated string args = 5; // any arguments to pass to the program. - map config = 6; // the configuration variables to apply before running. - bool dryRun = 7; // true if we're only doing a dryrun (preview). - int32 parallel = 8; // the degree of parallelism for resource operations (<=1 for serial). - string monitor_address = 9; // the address for communicating back to the resource monitor. - bool queryMode = 10; // true if we're only doing a query. - repeated string configSecretKeys = 11; // the configuration keys that have secret values. - string organization = 12; // the organization of the stack being deployed into. - google.protobuf.Struct configPropertyMap = 13; // the configuration variables to apply before running. - ProgramInfo info = 14; // the program info to use to execute the program. -} - -// RunResponse is the response back from the interpreter/source back to the monitor. -message RunResponse { - // An unhandled error if any occurred. - string error = 1; - - // An error happened. And it was reported to the user. Work should stop immediately - // with nothing further to print to the user. This corresponds to a "result.Bail()" - // value in the 'go' layer. - bool bail = 2; -} - -message InstallDependenciesRequest { - string directory = 1 [deprecated = true]; // the program's working directory. - bool is_terminal = 2; // if we are running in a terminal and should use ANSI codes - ProgramInfo info = 3; // the program info to use to execute the plugin. -} - -message InstallDependenciesResponse { - bytes stdout = 1; // a line of stdout text. - bytes stderr = 2; // a line of stderr text. -} - -message RunPluginRequest{ - string pwd = 1; // the program's working directory. - string program = 2 [deprecated = true]; // the path to the program to execute. - repeated string args = 3; // any arguments to pass to the program. - repeated string env = 4; // any environment variables to set as part of the program. - ProgramInfo info = 5; // the program info to use to execute the plugin. -} - -message RunPluginResponse { - oneof output { - bytes stdout = 1; // a line of stdout text. - bytes stderr = 2; // a line of stderr text. - int32 exitcode = 3; // the exit code of the provider. - } -} - -message GenerateProgramRequest { - // the PCL source of the project. - map source = 1; - // The target of a codegen.LoaderServer to use for loading schemas. - string loader_target = 2; -} - -message GenerateProgramResponse { - // any diagnostics from code generation. - repeated pulumirpc.codegen.Diagnostic diagnostics = 1; - // the generated program source code. - map source = 2; -} - -message GenerateProjectRequest { - // the directory to generate the project from. - string source_directory = 1; - // the directory to generate the project in. - string target_directory = 2; - // the JSON-encoded pulumi project file. - string project = 3; - // if PCL binding should be strict or not. - bool strict = 4; - // The target of a codegen.LoaderServer to use for loading schemas. - string loader_target = 5; - // local dependencies to use instead of using the package system. This is a map of package name to a local - // path of a language specific artifact to use for the SDK for that package. - map local_dependencies = 6; -} - -message GenerateProjectResponse { - // any diagnostics from code generation. - repeated pulumirpc.codegen.Diagnostic diagnostics = 1; -} - -message GeneratePackageRequest { - // the directory to generate the package in. - string directory = 1; - // the JSON-encoded schema. - string schema = 2; - // extra files to copy to the package output. - map extra_files = 3; - // The target of a codegen.LoaderServer to use for loading schemas. - string loader_target = 4; -} - -message GeneratePackageResponse { - // any diagnostics from code generation. - repeated pulumirpc.codegen.Diagnostic diagnostics = 1; -} - -message PackRequest { - // the directory of a package to pack. - string package_directory = 1; - // the version to tag the artifact with. - string version = 2; - // the directory to write the packed artifact to. - string destination_directory = 3; -} - -message PackResponse { - // the full path of the packed artifact. - string artifact_path = 1; -} diff --git a/pulumi_wasm_runner/proto/pulumi/plugin.proto b/pulumi_wasm_runner/proto/pulumi/plugin.proto deleted file mode 100644 index 43007b76..00000000 --- a/pulumi_wasm_runner/proto/pulumi/plugin.proto +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2016-2018, Pulumi Corporation. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package pulumirpc; - -option go_package = "github.com/pulumi/pulumi/sdk/v3/proto/go;pulumirpc"; - -// PluginInfo is meta-information about a plugin that is used by the system. -message PluginInfo { - string version = 1; // the semver for this plugin. -} - -// PluginDependency is information about a plugin that a program may depend upon. -message PluginDependency { - string name = 1; // the name of the plugin. - string kind = 2; // the kind of plugin (e.g., language, etc). - string version = 3; // the semver for this plugin. - string server = 4; // the URL of a server that can be used to download this plugin, if needed. - - // a map of the checksums for the plugin, will be empty from old language runtimes. The keys should match - // the os and architecture names used in pulumi releases, e.g. "darwin-amd64", "windows-arm64". - map checksums = 5; -} - -// PluginAttach is used to attach an already running plugin to the engine. -// -// Normally the engine starts the plugin process itself and passes the engine address as the first argumnent. -// But when debugging it can be useful to have an already running provider that the engine instead attaches -// to, this message is used so the provider can still be passed the engine address to communicate with. -message PluginAttach { - string address = 1; // the grpc address for the engine -} \ No newline at end of file diff --git a/pulumi_wasm_runner/proto/pulumi/provider.proto b/pulumi_wasm_runner/proto/pulumi/provider.proto deleted file mode 100644 index a989e5c7..00000000 --- a/pulumi_wasm_runner/proto/pulumi/provider.proto +++ /dev/null @@ -1,440 +0,0 @@ -// Copyright 2016-2018, Pulumi Corporation. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -import "pulumi/plugin.proto"; -import "google/protobuf/empty.proto"; -import "google/protobuf/struct.proto"; -import "pulumi/source.proto"; - -package pulumirpc; - -option go_package = "github.com/pulumi/pulumi/sdk/v3/proto/go;pulumirpc"; - -// ResourceProvider is a service that understands how to create, read, update, or delete resources for types defined -// within a single package. It is driven by the overall planning engine in response to resource diffs. -service ResourceProvider { - // GetSchema fetches the schema for this resource provider. - rpc GetSchema(GetSchemaRequest) returns (GetSchemaResponse) {} - - // CheckConfig validates the configuration for this resource provider. - rpc CheckConfig(CheckRequest) returns (CheckResponse) {} - // DiffConfig checks the impact a hypothetical change to this provider's configuration will have on the provider. - rpc DiffConfig(DiffRequest) returns (DiffResponse) {} - // Configure configures the resource provider with "globals" that control its behavior. - rpc Configure(ConfigureRequest) returns (ConfigureResponse) {} - - // Invoke dynamically executes a built-in function in the provider. - rpc Invoke(InvokeRequest) returns (InvokeResponse) {} - - // StreamInvoke dynamically executes a built-in function in the provider, which returns a stream - // of responses. - rpc StreamInvoke(InvokeRequest) returns (stream InvokeResponse) {} - - // Call dynamically executes a method in the provider associated with a component resource. - rpc Call(CallRequest) returns (CallResponse) {} - - // Check validates that the given property bag is valid for a resource of the given type and returns the inputs - // that should be passed to successive calls to Diff, Create, or Update for this resource. As a rule, the provider - // inputs returned by a call to Check should preserve the original representation of the properties as present in - // the program inputs. Though this rule is not required for correctness, violations thereof can negatively impact - // the end-user experience, as the provider inputs are using for detecting and rendering diffs. - rpc Check(CheckRequest) returns (CheckResponse) {} - // Diff checks what impacts a hypothetical update will have on the resource's properties. - rpc Diff(DiffRequest) returns (DiffResponse) {} - // Create allocates a new instance of the provided resource and returns its unique ID afterwards. (The input ID - // must be blank.) If this call fails, the resource must not have been created (i.e., it is "transactional"). - rpc Create(CreateRequest) returns (CreateResponse) {} - // Read the current live state associated with a resource. Enough state must be include in the inputs to uniquely - // identify the resource; this is typically just the resource ID, but may also include some properties. - rpc Read(ReadRequest) returns (ReadResponse) {} - // Update updates an existing resource with new values. - rpc Update(UpdateRequest) returns (UpdateResponse) {} - // Delete tears down an existing resource with the given ID. If it fails, the resource is assumed to still exist. - rpc Delete(DeleteRequest) returns (google.protobuf.Empty) {} - - // Construct creates a new instance of the provided component resource and returns its state. - rpc Construct(ConstructRequest) returns (ConstructResponse) {} - - // Cancel signals the provider to gracefully shut down and abort any ongoing resource operations. - // Operations aborted in this way will return an error (e.g., `Update` and `Create` will either return a - // creation error or an initialization error). Since Cancel is advisory and non-blocking, it is up - // to the host to decide how long to wait after Cancel is called before (e.g.) - // hard-closing any gRPC connection. - rpc Cancel(google.protobuf.Empty) returns (google.protobuf.Empty) {} - // GetPluginInfo returns generic information about this plugin, like its version. - rpc GetPluginInfo(google.protobuf.Empty) returns (PluginInfo) {} - - // Attach sends the engine address to an already running plugin. - rpc Attach(PluginAttach) returns (google.protobuf.Empty) {} - - // GetMapping fetches the mapping for this resource provider, if any. A provider should return an empty - // response (not an error) if it doesn't have a mapping for the given key. - rpc GetMapping(GetMappingRequest) returns (GetMappingResponse) {} - - // GetMappings is an optional method that returns what mappings (if any) a provider supports. If a provider does not - // implement this method the engine falls back to the old behaviour of just calling GetMapping without a name. - // If this method is implemented than the engine will then call GetMapping only with the names returned from this method. - rpc GetMappings(GetMappingsRequest) returns (GetMappingsResponse) {} -} - -message GetSchemaRequest { - int32 version = 1; // the schema version. -} - -message GetSchemaResponse { - string schema = 1; // the JSON-encoded schema. -} - -message ConfigureRequest { - map variables = 1; // a map of configuration keys to values. - google.protobuf.Struct args = 2; // the input properties for the provider. Only filled in for newer providers. - bool acceptSecrets = 3; // when true, operations should return secrets as strongly typed. - bool acceptResources = 4; // when true, operations should return resources as strongly typed values to the provider. - bool sends_old_inputs = 5; // when true, diff and update will be called with the old outputs and the old inputs. - bool sends_old_inputs_to_delete = 6; // when true, delete will be called with the old outputs and the old inputs. -} - -message ConfigureResponse { - bool acceptSecrets = 1; // when true, the engine should pass secrets as strongly typed values to the provider. - bool supportsPreview = 2; // when true, the engine should invoke create and update with preview=true during previews. - bool acceptResources = 3; // when true, the engine should pass resources as strongly typed values to the provider. - bool acceptOutputs = 4; // when true, the engine should pass output values to the provider. -} - -// ConfigureErrorMissingKeys is sent as a Detail on an error returned from `ResourceProvider.Configure`. -message ConfigureErrorMissingKeys { - message MissingKey { - string name = 1; // the Pulumi name (not the provider name!) of the missing config key. - string description = 2; // a description of the missing config key, as reported by the provider. - } - - repeated MissingKey missingKeys = 1; // a list of required configuration keys that were not supplied. -} - -message InvokeRequest { - string tok = 1; // the function token to invoke. - google.protobuf.Struct args = 2; // the arguments for the function invocation. - - // We used to send ResourceInvokeRequest for both provider invokes and monitor invokes, despite them being - // different. We've now split them but need to make sure we don't confuse any old plugins/monitors making - // sure those fields don't get reused. - reserved 3 to 6; - reserved "provider", "version", "acceptResources", "pluginDownloadURL"; -} - -message InvokeResponse { - google.protobuf.Struct return = 1; // the returned values, if invoke was successful. - repeated CheckFailure failures = 2; // the failures if any arguments didn't pass verification. -} - -message CallRequest { - // ArgumentDependencies describes the resources that a particular argument depends on. - message ArgumentDependencies { - repeated string urns = 1; // A list of URNs this argument depends on. - } - - string tok = 1; // the function token to invoke. - google.protobuf.Struct args = 2; // the arguments for the function invocation. - map argDependencies = 3; // a map from argument keys to the dependencies of the argument. - string provider = 4; // an optional reference to the provider to use for this invoke. - string version = 5; // the version of the provider to use when servicing this request. - string pluginDownloadURL = 13; // the pluginDownloadURL of the provider to use when servicing this request. - map pluginChecksums = 16; // a map of checksums of the provider to use when servicing this request. - - string project = 6; // the project name. - string stack = 7; // the name of the stack being deployed into. - map config = 8; // the configuration variables to apply before running. - repeated string configSecretKeys = 9; // the configuration keys that have secret values. - bool dryRun = 10; // true if we're only doing a dryrun (preview). - int32 parallel = 11; // the degree of parallelism for resource operations (<=1 for serial). - string monitorEndpoint = 12; // the address for communicating back to the resource monitor. - string organization = 14; // the organization of the stack being deployed into. - - SourcePosition sourcePosition = 15; // the optional source position of the user code that initiated the call. -} - -message CallResponse { - // ReturnDependencies describes the resources that a particular return value depends on. - message ReturnDependencies { - repeated string urns = 1; // A list of URNs this return value depends on. - } - - google.protobuf.Struct return = 1; // the returned values, if call was successful. - map returnDependencies = 2; // a map from return value keys to the dependencies of the return value. - repeated CheckFailure failures = 3; // the failures if any arguments didn't pass verification. -} - -message CheckRequest { - string urn = 1; // the Pulumi URN for this resource. - google.protobuf.Struct olds = 2; // the old Pulumi inputs for this resource, if any. - google.protobuf.Struct news = 3; // the new Pulumi inputs for this resource. - - // We used to send sequenceNumber but that has been replaced by randomSeed. - reserved 4; - reserved "sequenceNumber"; - - bytes randomSeed = 5; // a deterministically random hash, primarily intended for global unique naming. -} - -message CheckResponse { - google.protobuf.Struct inputs = 1; // the provider inputs for this resource. - repeated CheckFailure failures = 2; // any validation failures that occurred. -} - -message CheckFailure { - string property = 1; // the property that failed validation. - string reason = 2; // the reason that the property failed validation. -} - -message DiffRequest { - string id = 1; // the ID of the resource to diff. - string urn = 2; // the Pulumi URN for this resource. - google.protobuf.Struct olds = 3; // the old output values of resource to diff. - google.protobuf.Struct news = 4; // the new input values of resource to diff. - repeated string ignoreChanges = 5; // a set of property paths that should be treated as unchanged. - google.protobuf.Struct old_inputs = 6; // the old input values of the resource to diff. -} - -message PropertyDiff { - Kind kind = 1; // The kind of diff asdsociated with this property. - bool inputDiff = 2; // The difference is between old and new inputs, not old and new state. - - enum Kind { - ADD = 0; // this property was added - ADD_REPLACE = 1; // this property was added, and this change requires a replace - DELETE = 2; // this property was removed - DELETE_REPLACE = 3; // this property was removed, and this change requires a replace - UPDATE = 4; // this property's value was changed - UPDATE_REPLACE = 5; // this property's value was changed, and this change requires a replace - } -} - -message DiffResponse { - repeated string replaces = 1; // if this update requires a replacement, the set of properties triggering it. - repeated string stables = 2; // an optional list of properties that will not ever change. - bool deleteBeforeReplace = 3; // if true, this resource must be deleted before replacing it. - DiffChanges changes = 4; // if true, this diff represents an actual difference and thus requires an update. - repeated string diffs = 5; // a list of the properties that changed. - - // detailedDiff is an optional field that contains map from each changed property to the type of the change. - // - // The keys of this map are property paths. These paths are essentially Javascript property access expressions - // in which all elements are literals, and obey the following EBNF-ish grammar: - // - // propertyName := [a-zA-Z_$] { [a-zA-Z0-9_$] } - // quotedPropertyName := '"' ( '\' '"' | [^"] ) { ( '\' '"' | [^"] ) } '"' - // arrayIndex := { [0-9] } - // - // propertyIndex := '[' ( quotedPropertyName | arrayIndex ) ']' - // rootProperty := ( propertyName | propertyIndex ) - // propertyAccessor := ( ( '.' propertyName ) | propertyIndex ) - // path := rootProperty { propertyAccessor } - // - // Examples of valid keys: - // - root - // - root.nested - // - root["nested"] - // - root.double.nest - // - root["double"].nest - // - root["double"]["nest"] - // - root.array[0] - // - root.array[100] - // - root.array[0].nested - // - root.array[0][1].nested - // - root.nested.array[0].double[1] - // - root["key with \"escaped\" quotes"] - // - root["key with a ."] - // - ["root key with \"escaped\" quotes"].nested - // - ["root key with a ."][100] - map detailedDiff = 6; // a detailed diff appropriate for display. - bool hasDetailedDiff = 7; // true if this response contains a detailed diff. - - enum DiffChanges { - DIFF_UNKNOWN = 0; // unknown whether there are changes or not (legacy behavior). - DIFF_NONE = 1; // the diff was performed, and no changes were detected that require an update. - DIFF_SOME = 2; // the diff was performed, and changes were detected that require an update or replacement. - } -} - -message CreateRequest { - string urn = 1; // the Pulumi URN for this resource. - google.protobuf.Struct properties = 2; // the provider inputs to set during creation. - double timeout = 3; // the create request timeout represented in seconds. - bool preview = 4; // true if this is a preview and the provider should not actually create the resource. -} - -message CreateResponse { - // NOTE: The partial-update-error equivalent of this message is `ErrorResourceInitFailed`. - - string id = 1; // the ID of the created resource. - google.protobuf.Struct properties = 2; // any properties that were computed during creation. -} - -message ReadRequest { - string id = 1; // the ID of the resource to read. - string urn = 2; // the Pulumi URN for this resource. - google.protobuf.Struct properties = 3; // the current state (sufficiently complete to identify the resource). - google.protobuf.Struct inputs = 4; // the current inputs, if any (only populated during refresh). -} - -message ReadResponse { - string id = 1; // the ID of the resource read back (or empty if missing). - google.protobuf.Struct properties = 2; // the state of the resource read from the live environment. - google.protobuf.Struct inputs = 3; // the inputs for this resource that would be returned from Check. -} - -message UpdateRequest { - // NOTE: The partial-update-error equivalent of this message is `ErrorResourceInitFailed`. - - string id = 1; // the ID of the resource to update. - string urn = 2; // the Pulumi URN for this resource. - google.protobuf.Struct olds = 3; // the old values of provider inputs for the resource to update. - google.protobuf.Struct news = 4; // the new values of provider inputs for the resource to update. - double timeout = 5; // the update request timeout represented in seconds. - repeated string ignoreChanges = 6; // a set of property paths that should be treated as unchanged. - bool preview = 7; // true if this is a preview and the provider should not actually create the resource. - google.protobuf.Struct old_inputs = 8; // the old input values of the resource to diff. -} - -message UpdateResponse { - google.protobuf.Struct properties = 1; // any properties that were computed during updating. -} - -message DeleteRequest { - string id = 1; // the ID of the resource to delete. - string urn = 2; // the Pulumi URN for this resource. - google.protobuf.Struct properties = 3; // the current properties on the resource. - double timeout = 4; // the delete request timeout represented in seconds. - google.protobuf.Struct old_inputs = 5; // the old input values of the resource to delete. -} - -message ConstructRequest { - // PropertyDependencies describes the resources that a particular property depends on. - message PropertyDependencies { - repeated string urns = 1; // A list of URNs this property depends on. - } - - // CustomTimeouts specifies timeouts for resource provisioning operations. - // Use it with the [Timeouts] option when creating new resources - // to override default timeouts. - // - // Each timeout is specified as a duration string such as, - // "5ms" (5 milliseconds), "40s" (40 seconds), - // and "1m30s" (1 minute, 30 seconds). - // - // The following units are accepted. - // - // - ns: nanoseconds - // - us: microseconds - // - µs: microseconds - // - ms: milliseconds - // - s: seconds - // - m: minutes - // - h: hours - message CustomTimeouts { - string create = 1; - string update = 2; - string delete = 3; - } - - string project = 1; // the project name. - string stack = 2; // the name of the stack being deployed into. - map config = 3; // the configuration variables to apply before running. - bool dryRun = 4; // true if we're only doing a dryrun (preview). - int32 parallel = 5; // the degree of parallelism for resource operations (<=1 for serial). - string monitorEndpoint = 6; // the address for communicating back to the resource monitor. - - string type = 7; // the type of the object allocated. - string name = 8; // the name, for URN purposes, of the object. - string parent = 9; // an optional parent URN that this child resource belongs to. - google.protobuf.Struct inputs = 10; // the inputs to the resource constructor. - map inputDependencies = 11; // a map from property keys to the dependencies of the property. - map providers = 13; // the map of providers to use for this resource's children. - repeated string dependencies = 15; // a list of URNs that this resource depends on, as observed by the language host. - repeated string configSecretKeys = 16; // the configuration keys that have secret values. - string organization = 17; // the organization of the stack being deployed into. - - // Resource options: - // Do not change field IDs. Add new fields at the end. - bool protect = 12; // true if the resource should be marked protected. - repeated string aliases = 14; // a list of additional URNs that shoud be considered the same. - repeated string additionalSecretOutputs = 18; // additional output properties that should be treated as secrets. - CustomTimeouts customTimeouts = 19; // default timeouts for CRUD operations on this resource. - string deletedWith = 20; // URN of a resource that, if deleted, also deletes this resource. - bool deleteBeforeReplace = 21; // whether to delete the resource before replacing it. - repeated string ignoreChanges = 22; // properties that should be ignored during a diff - repeated string replaceOnChanges = 23; // properties that, when changed, trigger a replacement - bool retainOnDelete = 24; // whether to retain the resource in the cloud provider when it is deleted -} - -message ConstructResponse { - // PropertyDependencies describes the resources that a particular property depends on. - message PropertyDependencies { - repeated string urns = 1; // A list of URNs this property depends on. - } - - string urn = 1; // the URN of the component resource. - google.protobuf.Struct state = 2; // any properties that were computed during construction. - map stateDependencies = 3; // a map from property keys to the dependencies of the property. -} - -// ErrorResourceInitFailed is sent as a Detail `ResourceProvider.{Create, Update}` fail because a -// resource was created successfully, but failed to initialize. -message ErrorResourceInitFailed { - string id = 1; // the ID of the created resource. - google.protobuf.Struct properties = 2; // any properties that were computed during updating. - repeated string reasons = 3; // error messages associated with initialization failure. - google.protobuf.Struct inputs = 4; // the current inputs to this resource (only applicable for Read) -} - - - -// GetMappingRequest allows providers to return ecosystem specific information to allow the provider to be -// converted from a source markup to Pulumi. It's expected that provider bridges that target a given ecosystem -// (e.g. Terraform, Kubernetes) would also publish a conversion plugin to convert markup from that ecosystem -// to Pulumi, using the bridged providers. -message GetMappingRequest { - // the conversion key for the mapping being requested. - string key = 1; - // the optional provider key for the mapping being requested, if this is empty the provider should assume this - // request is from an old engine from before GetMappings and should return it's "primary" mapping. If this is set - // then the `provider` field in GetMappingResponse should be the same. - string provider = 2; -} - -// GetMappingResponse returns convert plugin specific data for this provider. This will normally be human -// readable JSON, but the engine doesn't mandate any form. -message GetMappingResponse { - // the provider key this is mapping for. For example the Pulumi provider "terraform-template" would return "template" for this. - string provider = 1; - - // the conversion plugin specific data. - bytes data = 2; -} - -// GetMappingsRequest allows providers to return ecosystem specific information without having to send back large data -// blobs for provider mappings that the engine doesn't then need. -message GetMappingsRequest { - // the conversion key for the mapping being requested. - string key = 1; -} - -// GetMappingsRequest returns a list of providers that this provider can provide mapping information for. -message GetMappingsResponse { - // the provider keys this provider can supply mappings for. For example the Pulumi provider "terraform-template" - // would return ["template"] for this. - repeated string providers = 1; -} \ No newline at end of file diff --git a/pulumi_wasm_runner/proto/pulumi/resource.proto b/pulumi_wasm_runner/proto/pulumi/resource.proto deleted file mode 100644 index a9b0d75e..00000000 --- a/pulumi_wasm_runner/proto/pulumi/resource.proto +++ /dev/null @@ -1,171 +0,0 @@ -// Copyright 2016-2022, Pulumi Corporation. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -import "google/protobuf/empty.proto"; -import "google/protobuf/struct.proto"; -import "pulumi/provider.proto"; -import "pulumi/alias.proto"; -import "pulumi/source.proto"; - -package pulumirpc; - -option go_package = "github.com/pulumi/pulumi/sdk/v3/proto/go;pulumirpc"; - -// ResourceMonitor is the interface a source uses to talk back to the planning monitor orchestrating the execution. -service ResourceMonitor { - rpc SupportsFeature(SupportsFeatureRequest) returns (SupportsFeatureResponse) {} - rpc Invoke(ResourceInvokeRequest) returns (InvokeResponse) {} - rpc StreamInvoke(ResourceInvokeRequest) returns (stream InvokeResponse) {} - rpc Call(CallRequest) returns (CallResponse) {} - rpc ReadResource(ReadResourceRequest) returns (ReadResourceResponse) {} - rpc RegisterResource(RegisterResourceRequest) returns (RegisterResourceResponse) {} - rpc RegisterResourceOutputs(RegisterResourceOutputsRequest) returns (google.protobuf.Empty) {} -} - -// SupportsFeatureRequest allows a client to test if the resource monitor supports a certain feature, which it may use -// to control the format or types of messages it sends. -message SupportsFeatureRequest { - string id = 1; // the ID of the feature to test support for. -} - -message SupportsFeatureResponse { - bool hasSupport = 1; // true when the resource monitor supports this feature. -} - -// There is a clear distinction here between the "properties" bag sent across the wire as part of these RPCs and -// properties that exist on Pulumi resources as projected into the target language. It is important to call out that the -// properties here are in the format that a provider will expect. This is to say that they are usually in camel case. -// If a language wants to project properties in a format *other* than camel-case, it is the job of the language to -// ensure that the properties are translated into camel case before invoking an RPC. - -// ReadResourceRequest contains enough information to uniquely qualify and read a resource's state. -message ReadResourceRequest { - string id = 1; // the ID of the resource to read. - string type = 2; // the type of the resource object. - string name = 3; // the name, for URN purposes, of the object. - string parent = 4; // an optional parent URN that this child resource belongs to. - google.protobuf.Struct properties = 5; // optional state sufficient to uniquely identify the resource. - repeated string dependencies = 6; // a list of URNs that this read depends on, as observed by the language host. - string provider = 7; // an optional reference to the provider to use for this read. - string version = 8; // the version of the provider to use when servicing this request. - bool acceptSecrets = 9; // when true operations should return secrets as strongly typed. - repeated string additionalSecretOutputs = 10; // a list of output properties that should also be treated as secret, in addition to ones we detect. - - // We used to declare an alias field here, but nothing ever used it. But to ensure we don't confuse any - // old plugins/monitors making sure that field doesn't get reused. - reserved "aliases"; - reserved 11; - - bool acceptResources = 12; // when true operations should return resource references as strongly typed. - string pluginDownloadURL = 13; // the server url of the provider to use when servicing this request. - map pluginChecksums = 15; // a map of checksums of the provider to use when servicing this request. - - SourcePosition sourcePosition = 14; // the optional source position of the user code that initiated the read. -} - -// ReadResourceResponse contains the result of reading a resource's state. -message ReadResourceResponse { - string urn = 1; // the URN for this resource. - google.protobuf.Struct properties = 2; // the state of the resource read from the live environment. -} - -// RegisterResourceRequest contains information about a resource object that was newly allocated. -message RegisterResourceRequest { - // PropertyDependencies describes the resources that a particular property depends on. - message PropertyDependencies { - repeated string urns = 1; // A list of URNs this property depends on. - } - // CustomTimeouts allows a user to be able to create a set of custom timeout parameters. - message CustomTimeouts { - string create = 1; // The create resource timeout represented as a string e.g. 5m. - string update = 2; // The update resource timeout represented as a string e.g. 5m. - string delete = 3; // The delete resource timeout represented as a string e.g. 5m. - } - - string type = 1; // the type of the object allocated. - string name = 2; // the name, for URN purposes, of the object. - string parent = 3; // an optional parent URN that this child resource belongs to. - bool custom = 4; // true if the resource is a custom, managed by a plugin's CRUD operations. - google.protobuf.Struct object = 5; // an object produced by the interpreter/source. - bool protect = 6; // true if the resource should be marked protected. - repeated string dependencies = 7; // a list of URNs that this resource depends on, as observed by the language host. - string provider = 8; // an optional reference to the provider to manage this resource's CRUD operations. - map propertyDependencies = 9; // a map from property keys to the dependencies of the property. - bool deleteBeforeReplace = 10; // true if this resource should be deleted before replacement. - string version = 11; // the version of the provider to use when servicing this request. - repeated string ignoreChanges = 12; // a list of property selectors to ignore during updates. - bool acceptSecrets = 13; // when true operations should return secrets as strongly typed. - repeated string additionalSecretOutputs = 14; // a list of output properties that should also be treated as secret, in addition to ones we detect. - repeated string aliasURNs = 15; // a list of additional URNs that should be considered the same. - string importId = 16; // if set, this resource's state should be imported from the given ID. - CustomTimeouts customTimeouts = 17; // ability to pass a custom Timeout block. - bool deleteBeforeReplaceDefined = 18; // true if the deleteBeforeReplace property should be treated as defined even if it is false. - bool supportsPartialValues = 19; // true if the request is from an SDK that supports partially-known properties during preview. - bool remote = 20; // true if the resource is a plugin-managed component resource. - bool acceptResources = 21; // when true operations should return resource references as strongly typed. - map providers = 22; // an optional reference to the provider map to manage this resource's CRUD operations. - repeated string replaceOnChanges = 23; // a list of properties that if changed should force a replacement. - string pluginDownloadURL = 24; // the server URL of the provider to use when servicing this request. - map pluginChecksums = 30; // a map of checksums expected for the provider plugin. - bool retainOnDelete = 25; // if true the engine will not call the resource providers delete method for this resource. - repeated Alias aliases = 26; // a list of additional aliases that should be considered the same. - string deletedWith = 27; // if set the engine will not call the resource providers delete method for this resource when specified resource is deleted. - - // Indicates that alias specs are specified correctly according to the spec. - // Older versions of the Node.js SDK did not send alias specs correctly. - // If this is not set to true and the engine detects the request is from the - // Node.js runtime, the engine will transform incorrect alias specs into - // correct ones. - // Other SDKs that are correctly specifying alias specs could set this to - // true, but it's not necessary. - bool aliasSpecs = 28; - - optional SourcePosition sourcePosition = 29; // the optional source position of the user code that initiated the register. -} - -// RegisterResourceResponse is returned by the engine after a resource has finished being initialized. It includes the -// auto-assigned URN, the provider-assigned ID, and any other properties initialized by the engine. -message RegisterResourceResponse { - // PropertyDependencies describes the resources that a particular property depends on. - message PropertyDependencies { - repeated string urns = 1; // A list of URNs this property depends on. - } - - string urn = 1; // the URN assigned by the engine. - string id = 2; // the unique ID assigned by the provider. - google.protobuf.Struct object = 3; // the resulting object properties, including provider defaults. - bool stable = 4; // if true, the object's state is stable and may be trusted not to change. - repeated string stables = 5; // an optional list of guaranteed-stable properties. - map propertyDependencies = 6; // a map from property keys to the dependencies of the property. -} - -// RegisterResourceOutputsRequest adds extra resource outputs created by the program after registration has occurred. -message RegisterResourceOutputsRequest { - string urn = 1; // the URN for the resource to attach output properties to. - google.protobuf.Struct outputs = 2; // additional output properties to add to the existing resource. -} - -message ResourceInvokeRequest { - string tok = 1; // the function token to invoke. - google.protobuf.Struct args = 2; // the arguments for the function invocation. - string provider = 3; // an optional reference to the provider version to use for this invoke. - string version = 4; // the version of the provider to use when servicing this request. - bool acceptResources = 5; // when true operations should return resource references as strongly typed. - string pluginDownloadURL = 6; // an optional reference to the provider url to use for this invoke. - map pluginChecksums = 8; // a map of checksums expected for the provider plugin. - - SourcePosition sourcePosition = 7; // the optional source position of the user code that initiated the invoke. -} diff --git a/pulumi_wasm_runner/proto/pulumi/source.proto b/pulumi_wasm_runner/proto/pulumi/source.proto deleted file mode 100644 index 365051d9..00000000 --- a/pulumi_wasm_runner/proto/pulumi/source.proto +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright 2016-2022, Pulumi Corporation. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package pulumirpc; - -option go_package = "github.com/pulumi/pulumi/sdk/v3/proto/go;pulumirpc"; - -// A SourcePosition represents a position in a source file. -message SourcePosition { - string uri = 1; // The URI of the file. Currently only the file scheme with an absolute path is supported. - int32 line = 2; // The line in the file - int32 column = 3; // The column in the line -} diff --git a/pulumi_wasm_runner/proto/pulumi/testing/language.proto b/pulumi_wasm_runner/proto/pulumi/testing/language.proto deleted file mode 100644 index 75b671aa..00000000 --- a/pulumi_wasm_runner/proto/pulumi/testing/language.proto +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2016-2023, Pulumi Corporation. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -import "google/protobuf/empty.proto"; - -package pulumirpc.testing; - -option go_package = "github.com/pulumi/pulumi/sdk/v3/proto/go/testing"; - -// LanguageTest is the interface to the pulumi language test framework. This is _highly_ experimental and -// currently subject to breaking changes without warning. -service LanguageTest { - // GetLanguageTests returns a list of all the language tests. - rpc GetLanguageTests(GetLanguageTestsRequest) returns (GetLanguageTestsResponse) {} - - // PrepareLanguageTests prepares the engine to run language tests. It sets up a stable artifacts folder - // (which should be .gitignore'd) and fills it with the core SDK artifact. - rpc PrepareLanguageTests(PrepareLanguageTestsRequest) returns (PrepareLanguageTestsResponse) {} - - // RunLanguageTest runs a single test of the language plugin. - rpc RunLanguageTest(RunLanguageTestRequest) returns (RunLanguageTestResponse) {} -} - -message GetLanguageTestsRequest { - -} - -message GetLanguageTestsResponse { - repeated string tests = 1; -} - -message PrepareLanguageTestsRequest { - string language_plugin_name = 1; - string language_plugin_target = 2; - string snapshot_directory = 3; - string temporary_directory = 4; - string core_sdk_directory = 5; -} - -message PrepareLanguageTestsResponse { - string token = 1; -} - -message RunLanguageTestRequest { - string token = 1; - string test = 2; -} - -message RunLanguageTestResponse { - bool success = 1; - repeated string messages = 2; - string stdout = 3; - string stderr = 4; -} \ No newline at end of file diff --git a/pulumi_wasm_runner/src/create_final_component.rs b/pulumi_wasm_runner/src/create_final_component.rs index d5c3598a..cb6a67ef 100644 --- a/pulumi_wasm_runner/src/create_final_component.rs +++ b/pulumi_wasm_runner/src/create_final_component.rs @@ -55,10 +55,10 @@ pub(crate) fn create(providers: &[PathBuf], pulumi_wasm: &PathBuf, program: &Pat .unwrap(); let greet_export = graph - .alias_instance_export(main_instance, "component:pulumi-wasm/pulumi-main@0.1.0") + .alias_instance_export(main_instance, "component:pulumi-wasm/pulumi-main@0.0.0") .unwrap(); graph - .export(greet_export, "component:pulumi-wasm/pulumi-main@0.1.0") + .export(greet_export, "component:pulumi-wasm/pulumi-main@0.0.0") .unwrap(); graph.encode(EncodeOptions::default()).unwrap() diff --git a/pulumi_wasm_runner/src/main.rs b/pulumi_wasm_runner/src/main.rs index 7b85bd44..418a7ff2 100644 --- a/pulumi_wasm_runner/src/main.rs +++ b/pulumi_wasm_runner/src/main.rs @@ -6,6 +6,7 @@ use log4rs::append::file::FileAppender; use log4rs::config::{Appender, Root}; use log4rs::encode::json::JsonEncoder; use log4rs::Config; +use pulumi_wasm_proto::grpc; use std::path::PathBuf; mod create_final_component; @@ -13,14 +14,6 @@ mod model; mod pulumi; mod pulumi_state; -mod grpc { - #![allow(clippy::all)] - #![allow(clippy::pedantic)] - // https://github.com/hyperium/tonic/issues/1783 - include!(concat!(env!("OUT_DIR"), concat!("/", "pulumirpc", ".rs"))); - // tonic::include_proto!("pulumirpc"); -} - #[derive(Parser, Debug)] #[command(version, about, long_about = None)] struct App { diff --git a/pulumi_wasm_runner/src/pulumi.rs b/pulumi_wasm_runner/src/pulumi.rs index b2b915a5..bc5dbc9e 100644 --- a/pulumi_wasm_runner/src/pulumi.rs +++ b/pulumi_wasm_runner/src/pulumi.rs @@ -17,6 +17,7 @@ use crate::pulumi::server::component::pulumi_wasm::external_world::Host; use crate::pulumi::server::component::pulumi_wasm::external_world::RegisteredResource; use crate::pulumi::server::Main; use crate::pulumi_state::PulumiState; +use pulumi_wasm_wit::bindings_server as server; pub struct Pulumi { plugin: Main, @@ -24,15 +25,6 @@ pub struct Pulumi { store: Store, } -pub(crate) mod server { - wasmtime::component::bindgen!({ - path: "../wits/world.wit", - world: "main", - async: true, - trappable_imports: true, - }); -} - struct SimplePluginCtx { table: ResourceTable, context: WasiCtx, diff --git a/pulumi_wasm_rust/Cargo.toml b/pulumi_wasm_rust/Cargo.toml index 722c3f0d..b3fe451a 100644 --- a/pulumi_wasm_rust/Cargo.toml +++ b/pulumi_wasm_rust/Cargo.toml @@ -22,6 +22,6 @@ serde_json.workspace = true futures.workspace = true lazy_static.workspace = true log.workspace = true -wit-bindgen.workspace = true pulumi_wasm_rust_macro.workspace = true -wasm_common.workspace = true +pulumi_wasm_common.workspace = true +pulumi_wasm_wit = { workspace = true, features = ["pulumi-wasm-rust"] } \ No newline at end of file diff --git a/pulumi_wasm_rust/src/lib.rs b/pulumi_wasm_rust/src/lib.rs index de6cc8a3..acf43685 100644 --- a/pulumi_wasm_rust/src/lib.rs +++ b/pulumi_wasm_rust/src/lib.rs @@ -1,18 +1,7 @@ pub use pulumi_wasm_rust_macro::pulumi_main; mod output; pub use output::Output; - -#[allow(clippy::all)] -#[allow(dead_code)] -#[allow(unused_variables)] -#[allow(unused_unsafe)] -mod bindings { - wit_bindgen::generate!({ - // the name of the world in the `*.wit` input file - world: "pulumi-wasm-rust", - path: "../wits/world.wit" - }); -} +use pulumi_wasm_wit::bindings; pub mod runner; diff --git a/pulumi_wasm_rust/src/runner.rs b/pulumi_wasm_rust/src/runner.rs index aaa7930d..da565978 100644 --- a/pulumi_wasm_rust/src/runner.rs +++ b/pulumi_wasm_rust/src/runner.rs @@ -10,7 +10,7 @@ where F: Fn() -> Result<(), Error>, { let outer = || { - wasm_common::setup_logger(); + pulumi_wasm_common::setup_logger(); f()?; run_loop()?; Ok(()) diff --git a/pulumi_wasm_rust_macro/src/lib.rs b/pulumi_wasm_rust_macro/src/lib.rs index 0177542f..a7e2f68d 100644 --- a/pulumi_wasm_rust_macro/src/lib.rs +++ b/pulumi_wasm_rust_macro/src/lib.rs @@ -17,7 +17,7 @@ pub fn pulumi_main(_attr: TokenStream, item: TokenStream) -> TokenStream { fn #fn_name() #fn_output #fn_block - #[export_name = "component:pulumi-wasm/pulumi-main@0.1.0#main"] + #[export_name = "component:pulumi-wasm/pulumi-main@0.0.0#main"] unsafe extern "C" fn __exported() { pulumi_wasm_rust::runner::run(|| { #fn_name() diff --git a/pulumi_wasm_wit/Cargo.toml b/pulumi_wasm_wit/Cargo.toml new file mode 100644 index 00000000..f16902e8 --- /dev/null +++ b/pulumi_wasm_wit/Cargo.toml @@ -0,0 +1,15 @@ +[package] +name = "pulumi_wasm_wit" +version.workspace = true +edition.workspace = true + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[features] +pulumi-wasm-rust = [] +logger = [] +server = ["dep:wasmtime"] + +[dependencies] +wit-bindgen.workspace = true +wasmtime = { workspace = true, optional = true } \ No newline at end of file diff --git a/pulumi_wasm_wit/src/lib.rs b/pulumi_wasm_wit/src/lib.rs new file mode 100644 index 00000000..9291c787 --- /dev/null +++ b/pulumi_wasm_wit/src/lib.rs @@ -0,0 +1,36 @@ +#[allow(clippy::all)] +#[allow(dead_code)] +#[allow(unused_variables)] +#[allow(unused_unsafe)] +#[cfg(feature = "pulumi-wasm-rust")] +pub mod bindings { + wit_bindgen::generate!({ + // the name of the world in the `*.wit` input file + world: "pulumi-wasm-rust", + }); +} + +#[allow(clippy::all)] +#[allow(dead_code)] +#[allow(unused_variables)] +#[allow(unused_unsafe)] +#[cfg(feature = "logger")] +pub mod bindings_logger { + wit_bindgen::generate!({ + // the name of the world in the `*.wit` input file + world: "logger", + }); +} + +#[allow(clippy::all)] +#[allow(dead_code)] +#[allow(unused_variables)] +#[allow(unused_unsafe)] +#[cfg(feature = "server")] +pub mod bindings_server { + wasmtime::component::bindgen!({ + world: "main", + async: true, + trappable_imports: true, + }); +} diff --git a/pulumi_wasm_wit/wit/world.wit b/pulumi_wasm_wit/wit/world.wit new file mode 100644 index 00000000..5aea904f --- /dev/null +++ b/pulumi_wasm_wit/wit/world.wit @@ -0,0 +1,181 @@ +package component:pulumi-wasm@0.0.0; + +world import-all { + import output-interface; + import stack-interface; +} + +world pulumi-wasm { + export output-interface; + export register-interface; + export stack-interface; + + import log; + import external-world; +} + +world pulumi-rust { + export register-interface; + import output-interface; +} + +world main { + export pulumi-main; + import external-world; + import log; +} + +world pulumi-wasm-rust { + import output-interface; + import stack-interface; + export pulumi-main; // Used by macro +} + +world new-main { + export pulumi-main; +} + +world pulumi-main-world { + export pulumi-main; +} + +world pulumi-provider-random { + import output-interface; + import register-interface; + + export pulumi-provider-random-interface; +} + +world pulumi-provider-random-client { + import pulumi-provider-random-interface; +} + +world logger { + import log; +} + +world pulumi-rust-macro { + import external-world; +} + +interface log { + + enum level { + TRACE, + DEBUG, + INFO, + WARN, + ERROR + } + + record content { + level: level, + target: string, + args: string, + module-path: option, + file: option, + line: option, + key-values: list> + } + + log: func(content: content); +} + +interface output-interface { + + resource output { + constructor(value: string); + map: func(function-name: string) -> output; + duplicate: func() -> output; + } + combine: func(outputs: list) -> output; +} + +interface stack-interface { + use output-interface.{output}; + + record function-invocation-request { + id: output, + function-id: string, + value: string, + } + record function-invocation-result { + id: borrow, + value: string, + } + add-export: func(name: string, value: borrow); + finish: func(functions: list) -> list; +} + + +interface register-interface { + use output-interface.{output}; + + record object-field { + name: string, + value: borrow + } + + record result-field { + name: string + } + + record register-resource-result-field { + name: string, + output: output + } + + record register-resource-request { + %type: string, + name: string, + object: list, + results: list + } + + record register-resource-result { + fields: list + } + + register: func(request: register-resource-request) -> register-resource-result; +} + +interface external-world { + is-in-preview: func() -> bool; + get-root-resource: func() -> string; + register-resource-outputs: func(request: list) -> list; + + record register-resource-request { + output-id: string, + body: list + } + + record registered-resource { + output-id: string, + body: list + } + + register-resource: func(request: register-resource-request); + wait-for-registered-resources: func() -> list; +} + +interface pulumi-provider-random-interface { + + use output-interface.{output}; + + record random-string-args { + name: string, + length: borrow, + } + + record random-string-result { + %result: output + } + + create-random-string: func(args: random-string-args) -> random-string-result; + + handle-functions: func(); +} + +interface pulumi-main { + main: func(); +} diff --git a/regenerate_providers/src/main.rs b/regenerate_providers/src/main.rs index 6c2f91ac..84d7b047 100644 --- a/regenerate_providers/src/main.rs +++ b/regenerate_providers/src/main.rs @@ -53,8 +53,8 @@ fn update_cargo_toml(providers: &[Provider]) { provider.name )); } - let start_marker = "# DO NOT EDIT - START"; - let end_marker = "# DO NOT EDIT - END"; + let start_marker = " # DO NOT EDIT - START"; + let end_marker = " # DO NOT EDIT - END"; let new_content = replace_between_markers(&content, start_marker, end_marker, &replacement); fs::write("Cargo.toml", new_content).expect("Failed to write to Cargo.toml"); diff --git a/wits/world.wit b/wits/world.wit index 93aaa79f..0e4bee39 100644 --- a/wits/world.wit +++ b/wits/world.wit @@ -1,4 +1,4 @@ -package component:pulumi-wasm@0.1.0; +package component:pulumi-wasm@0.0.0; world pulumi-wasm { export output-interface;