pulumi-language-ruby 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE.txt +21 -0
- data/README.md +39 -0
- data/Rakefile +8 -0
- data/exe/pulumi-language-ruby +39 -0
- data/lib/ruby_pulumi/generated/pulumi/alias_pb.rb +16 -0
- data/lib/ruby_pulumi/generated/pulumi/analyzer_pb.rb +43 -0
- data/lib/ruby_pulumi/generated/pulumi/analyzer_services_pb.rb +69 -0
- data/lib/ruby_pulumi/generated/pulumi/callback_pb.rb +17 -0
- data/lib/ruby_pulumi/generated/pulumi/callback_services_pb.rb +39 -0
- data/lib/ruby_pulumi/generated/pulumi/codegen/hcl_pb.rb +20 -0
- data/lib/ruby_pulumi/generated/pulumi/codegen/loader_pb.rb +17 -0
- data/lib/ruby_pulumi/generated/pulumi/codegen/loader_services_pb.rb +40 -0
- data/lib/ruby_pulumi/generated/pulumi/codegen/mapper_pb.rb +17 -0
- data/lib/ruby_pulumi/generated/pulumi/codegen/mapper_services_pb.rb +50 -0
- data/lib/ruby_pulumi/generated/pulumi/converter_pb.rb +21 -0
- data/lib/ruby_pulumi/generated/pulumi/converter_services_pb.rb +42 -0
- data/lib/ruby_pulumi/generated/pulumi/engine_pb.rb +26 -0
- data/lib/ruby_pulumi/generated/pulumi/engine_services_pb.rb +51 -0
- data/lib/ruby_pulumi/generated/pulumi/errors_pb.rb +17 -0
- data/lib/ruby_pulumi/generated/pulumi/events_pb.rb +17 -0
- data/lib/ruby_pulumi/generated/pulumi/events_services_pb.rb +45 -0
- data/lib/ruby_pulumi/generated/pulumi/language_pb.rb +55 -0
- data/lib/ruby_pulumi/generated/pulumi/language_services_pb.rb +121 -0
- data/lib/ruby_pulumi/generated/pulumi/plugin_pb.rb +19 -0
- data/lib/ruby_pulumi/generated/pulumi/provider_pb.rb +66 -0
- data/lib/ruby_pulumi/generated/pulumi/provider_services_pb.rb +232 -0
- data/lib/ruby_pulumi/generated/pulumi/resource_pb.rb +51 -0
- data/lib/ruby_pulumi/generated/pulumi/resource_services_pb.rb +64 -0
- data/lib/ruby_pulumi/generated/pulumi/resource_status_pb.rb +23 -0
- data/lib/ruby_pulumi/generated/pulumi/resource_status_services_pb.rb +44 -0
- data/lib/ruby_pulumi/generated/pulumi/source_pb.rb +17 -0
- data/lib/ruby_pulumi/generated/pulumi/testing/language_pb.rb +24 -0
- data/lib/ruby_pulumi/generated/pulumi/testing/language_services_pb.rb +47 -0
- data/lib/ruby_pulumi/language_host.rb +46 -0
- data/lib/ruby_pulumi/pulumi.rb +2 -0
- data/lib/ruby_pulumi/resource.rb +24 -0
- data/lib/ruby_pulumi/runtime.rb +7 -0
- data/pulumi/alias.proto +38 -0
- data/pulumi/analyzer.proto +293 -0
- data/pulumi/callback.proto +44 -0
- data/pulumi/codegen/hcl.proto +89 -0
- data/pulumi/codegen/loader.proto +51 -0
- data/pulumi/codegen/mapper.proto +74 -0
- data/pulumi/converter.proto +94 -0
- data/pulumi/engine.proto +113 -0
- data/pulumi/errors.proto +38 -0
- data/pulumi/events.proto +39 -0
- data/pulumi/language.proto +653 -0
- data/pulumi/plugin.proto +66 -0
- data/pulumi/provider.proto +1227 -0
- data/pulumi/resource.proto +394 -0
- data/pulumi/resource_status.proto +172 -0
- data/pulumi/source.proto +36 -0
- data/pulumi/testing/language.proto +106 -0
- data/sig/pulumi/language/ruby.rbs +8 -0
- metadata +125 -0
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
2
|
+
# Source: pulumi/provider.proto for package 'pulumirpc'
|
|
3
|
+
# Original file comments:
|
|
4
|
+
# Copyright 2016-2026, Pulumi Corporation.
|
|
5
|
+
#
|
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
# you may not use this file except in compliance with the License.
|
|
8
|
+
# You may obtain a copy of the License at
|
|
9
|
+
#
|
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
#
|
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
# See the License for the specific language governing permissions and
|
|
16
|
+
# limitations under the License.
|
|
17
|
+
#
|
|
18
|
+
|
|
19
|
+
require 'grpc'
|
|
20
|
+
require 'pulumi/provider_pb'
|
|
21
|
+
|
|
22
|
+
module Pulumirpc
|
|
23
|
+
module ResourceProvider
|
|
24
|
+
# The ResourceProvider service defines a standard interface for [resource providers](providers). A resource provider
|
|
25
|
+
# manages a set of configuration, resources, functions and so on in a single package, and offers methods such as CRUD
|
|
26
|
+
# operations on resources and invocations of functions. Resource providers are primarily managed by the Pulumi engine
|
|
27
|
+
# as part of a deployment in order to interact with the cloud providers underpinning a Pulumi application.
|
|
28
|
+
class Service
|
|
29
|
+
|
|
30
|
+
include ::GRPC::GenericService
|
|
31
|
+
|
|
32
|
+
self.marshal_class_method = :encode
|
|
33
|
+
self.unmarshal_class_method = :decode
|
|
34
|
+
self.service_name = 'pulumirpc.ResourceProvider'
|
|
35
|
+
|
|
36
|
+
# `Handshake` is the first call made by the engine to a provider. It is used to pass the engine's address to the
|
|
37
|
+
# provider so that it may establish its own connections back, and to establish protocol configuration that will be
|
|
38
|
+
# used to communicate between the two parties. Providers that support `Handshake` should return responses
|
|
39
|
+
# consistent with those returned in response to [](pulumirpc.ResourceProvider.Configure) calls where there is
|
|
40
|
+
# overlap due to the use of `Configure` prior to `Handshake`'s introduction.
|
|
41
|
+
rpc :Handshake, ::Pulumirpc::ProviderHandshakeRequest, ::Pulumirpc::ProviderHandshakeResponse
|
|
42
|
+
# `Parameterize` is the primary means of supporting [parameterized providers](parameterized-providers), which allow
|
|
43
|
+
# a caller to change a provider's behavior ahead of its [configuration](pulumirpc.ResourceProvider.Configure) and
|
|
44
|
+
# subsequent use. Where a [](pulumirpc.ResourceProvider.Configure) call allows a caller to influence provider
|
|
45
|
+
# behaviour at a high level (e.g. by specifying the region in which an AWS provider should operate), a
|
|
46
|
+
# `Parameterize` call may change the set of resources and functions that a provider offers (that is, its schema).
|
|
47
|
+
# This is useful in any case where some "set" of providers can be captured by a single implementation that may
|
|
48
|
+
# power fundamentally different schemata -- dynamically bridging Terraform providers, or managing Kubernetes
|
|
49
|
+
# clusters with custom resource definitions, for instance, are good examples. The parameterized package that
|
|
50
|
+
# `Parameterize` yields is known as a *sub-package* of the original (unparameterized) package.
|
|
51
|
+
#
|
|
52
|
+
# `Parameterize` supports two types of parameterization:
|
|
53
|
+
#
|
|
54
|
+
# * *Replacement parameterization*, whereby a `Parameterize` call results in a schema that completely replaces the
|
|
55
|
+
# original provider schema. Bridging a Terraform provider dynamically might be an example of this -- following
|
|
56
|
+
# the call to `Parameterize`, the provider's schema will become that of the Terraform provider that was bridged.
|
|
57
|
+
# Providers that implement replacement parameterization expect a *single* call to `Parameterize`.
|
|
58
|
+
#
|
|
59
|
+
# * *Extension parameterization*, in which a `Parameterize` call results in a schema that is a superset of the
|
|
60
|
+
# original. This is useful in cases where a provider can be extended with additional resources or functions, such
|
|
61
|
+
# as a Kubernetes provider that can be extended with resources representing custom resource definitions.
|
|
62
|
+
# Providers that implement extension parameterization should accept multiple calls to `Parameterize`. Extension
|
|
63
|
+
# packages may even be called multiple times with the same package name, but with different versions. The CRUD
|
|
64
|
+
# operations of extension resources must include the version of which sub-package they correspond to.
|
|
65
|
+
#
|
|
66
|
+
# `Parameterize` should work the same whether it is provided with `ParametersArgs` or `ParametersValue` input. In
|
|
67
|
+
# each case it should return the sub-package name and version (which when a `ParametersValue` is supplied should
|
|
68
|
+
# match the given input).
|
|
69
|
+
rpc :Parameterize, ::Pulumirpc::ParameterizeRequest, ::Pulumirpc::ParameterizeResponse
|
|
70
|
+
# GetSchema fetches the schema for this resource provider.
|
|
71
|
+
rpc :GetSchema, ::Pulumirpc::GetSchemaRequest, ::Pulumirpc::GetSchemaResponse
|
|
72
|
+
# `CheckConfig` validates a set of configuration inputs that will be passed to this provider instance.
|
|
73
|
+
# `CheckConfig` is to provider resources what [](pulumirpc.ResourceProvider.Check) is to individual resources, and
|
|
74
|
+
# is the first stage in configuring (that is, eventually executing a [](pulumirpc.ResourceProvider.Configure) call)
|
|
75
|
+
# a provider using user-supplied values. In the case that provider inputs are coming from some source that has been
|
|
76
|
+
# checked previously (e.g. a Pulumi state), it is not necessary to call `CheckConfig`.
|
|
77
|
+
#
|
|
78
|
+
# A `CheckConfig` call returns either a set of checked, known-valid inputs that may subsequently be passed to
|
|
79
|
+
# [](pulumirpc.ResourceProvider.DiffConfig) and/or [](pulumirpc.ResourceProvider.Configure), or a set of errors
|
|
80
|
+
# explaining why the inputs are invalid. In the case that a set of inputs are successfully validated and returned,
|
|
81
|
+
# `CheckConfig` *may also populate default values* for provider configuration, returning them so that they may be
|
|
82
|
+
# passed to a subsequent [](pulumirpc.ResourceProvider.Configure) call and persisted in the Pulumi state. In the
|
|
83
|
+
# case that `CheckConfig` fails and returns a set of errors, it is expected that the caller (typically the Pulumi
|
|
84
|
+
# engine) will fail provider registration.
|
|
85
|
+
#
|
|
86
|
+
# As a rule, the provider inputs returned by a call to `CheckConfig` should preserve the original representation of
|
|
87
|
+
# the properties as present in the program inputs. Though this rule is not required for correctness, violations
|
|
88
|
+
# thereof can negatively impact the end-user experience, as the provider inputs are used for detecting and
|
|
89
|
+
# rendering diffs.
|
|
90
|
+
rpc :CheckConfig, ::Pulumirpc::CheckRequest, ::Pulumirpc::CheckResponse
|
|
91
|
+
# `DiffConfig` compares an existing ("old") provider configuration with a new configuration and computes the
|
|
92
|
+
# difference (if any) between them. `DiffConfig` is to provider resources what [](pulumirpc.ResourceProvider.Diff)
|
|
93
|
+
# is to individual resources. `DiffConfig` should only be called with values that have at some point been validated
|
|
94
|
+
# by a [](pulumirpc.ResourceProvider.CheckConfig) call. The [](pulumirpc.DiffResponse) returned by a `DiffConfig`
|
|
95
|
+
# call is used primarily to determine whether or not the newly configured provider is capable of managing resources
|
|
96
|
+
# owned by the old provider. If `DiffConfig` indicates that the provider resource needs to be replaced, for
|
|
97
|
+
# instance, then all resources owned by that provider will *also* need to be replaced. Replacement semantics should
|
|
98
|
+
# thus be reserved for changes to configuration properties that are guaranteed to make old resources unmanageable.
|
|
99
|
+
# Changes to an AWS region, for example, will almost certainly require a provider replacement, but changes to an
|
|
100
|
+
# AWS access key, should almost certainly not.
|
|
101
|
+
#
|
|
102
|
+
# Implementations must satisfy the invariants documented on `DiffResponse`.
|
|
103
|
+
rpc :DiffConfig, ::Pulumirpc::DiffRequest, ::Pulumirpc::DiffResponse
|
|
104
|
+
# `Configure` is the final stage in configuring a provider instance. Callers may supply two sets of data:
|
|
105
|
+
#
|
|
106
|
+
# * Provider-specific configuration, which is the set of inputs that have been validated by a previous
|
|
107
|
+
# [](pulumirpc.ResourceProvider.CheckConfig) call.
|
|
108
|
+
# * Provider-agnostic ("protocol") configuration, such as whether or not the caller supports secrets.
|
|
109
|
+
#
|
|
110
|
+
# The provider is expected to return its own set of protocol configuration, indicating which features it supports
|
|
111
|
+
# in turn so that the caller and the provider can interact appropriately.
|
|
112
|
+
#
|
|
113
|
+
# Providers may expect a *single* call to `Configure`. If a call to `Configure` is missing required configuration,
|
|
114
|
+
# the provider may return a set of error details containing [](pulumirpc.ConfigureErrorMissingKeys) values to
|
|
115
|
+
# indicate which keys are missing.
|
|
116
|
+
#
|
|
117
|
+
# :::{important}
|
|
118
|
+
# The use of `Configure` to configure protocol features is deprecated in favour of the
|
|
119
|
+
# [](pulumirpc.ResourceProvider.Handshake) method, which should be implemented by newer providers. To enable
|
|
120
|
+
# compatibility between older engines and providers:
|
|
121
|
+
#
|
|
122
|
+
# * Callers which call `Handshake` *must* call `Configure` with flags such as `acceptSecrets` and `acceptResources`
|
|
123
|
+
# set to `true`, since these features predate the introduction of `Handshake` and thus `Handshake`-aware callers
|
|
124
|
+
# must support them. See [](pulumirpc.ConfigureRequest) for more information.
|
|
125
|
+
# * Providers which implement `Handshake` *must* support flags such as `acceptSecrets` and `acceptResources`, and
|
|
126
|
+
# indicate as such by always returning `true` for these fields in [](pulumirpc.ConfigureResponse). See
|
|
127
|
+
# [](pulumirpc.ConfigureResponse) for more information.
|
|
128
|
+
# :::
|
|
129
|
+
rpc :Configure, ::Pulumirpc::ConfigureRequest, ::Pulumirpc::ConfigureResponse
|
|
130
|
+
# Invoke dynamically executes a built-in function in the provider.
|
|
131
|
+
rpc :Invoke, ::Pulumirpc::InvokeRequest, ::Pulumirpc::InvokeResponse
|
|
132
|
+
# Call dynamically executes a method in the provider associated with a component resource.
|
|
133
|
+
rpc :Call, ::Pulumirpc::CallRequest, ::Pulumirpc::CallResponse
|
|
134
|
+
# `Check` validates a set of input properties against a given resource type. A `Check` call returns either a set of
|
|
135
|
+
# checked, known-valid inputs that may subsequently be passed to [](pulumirpc.ResourceProvider.Diff),
|
|
136
|
+
# [](pulumirpc.ResourceProvider.Create), or [](pulumirpc.ResourceProvider.Update); or a set of errors explaining
|
|
137
|
+
# why the inputs are invalid. In the case that a set of inputs are successfully validated and returned, `Check`
|
|
138
|
+
# *may also populate default values* for resource inputs, returning them so that they may be passed to a subsequent
|
|
139
|
+
# call and persisted in the Pulumi state. In the case that `Check` fails and returns a set of errors, it is
|
|
140
|
+
# expected that the caller (typically the Pulumi engine) will fail resource registration.
|
|
141
|
+
#
|
|
142
|
+
# As a rule, the provider inputs returned by a call to `Check` should preserve the original representation of the
|
|
143
|
+
# properties as present in the program inputs. Though this rule is not required for correctness, violations thereof
|
|
144
|
+
# can negatively impact the end-user experience, as the provider inputs are used for detecting and rendering
|
|
145
|
+
# diffs.
|
|
146
|
+
rpc :Check, ::Pulumirpc::CheckRequest, ::Pulumirpc::CheckResponse
|
|
147
|
+
# `Diff` compares an existing ("old") set of resource properties with a new set of properties and computes the
|
|
148
|
+
# difference (if any) between them. `Diff` should only be called with values that have at some point been validated
|
|
149
|
+
# by a [](pulumirpc.ResourceProvider.Check) call.
|
|
150
|
+
#
|
|
151
|
+
# Implementations must satisfy the invariants documented on `DiffResponse`.
|
|
152
|
+
rpc :Diff, ::Pulumirpc::DiffRequest, ::Pulumirpc::DiffResponse
|
|
153
|
+
# `Create` provisions a new instance of the specified [(custom) resource](custom-resources). It returns a
|
|
154
|
+
# provider-assigned ID for the resource as well as the output properties that arose from the creation properties.
|
|
155
|
+
# Output properties are typically the union of the resource's input properties and any additional values that were
|
|
156
|
+
# computed or made available during creation.
|
|
157
|
+
#
|
|
158
|
+
# If creation fails, `Create` may return an [](pulumirpc.ErrorResourceInitFailed) error detail explaining why.
|
|
159
|
+
# Moreover, if `Create` does return an error, it must be the case that the resource was *not* created (that is,
|
|
160
|
+
# `Create` can be thought of as transactional or atomic).
|
|
161
|
+
rpc :Create, ::Pulumirpc::CreateRequest, ::Pulumirpc::CreateResponse
|
|
162
|
+
# `Read` reads the current live state associated with a resource identified by the supplied state. The given state
|
|
163
|
+
# must be sufficient to uniquely identify the resource. This is typically just the resource ID, but may also
|
|
164
|
+
# include other properties.
|
|
165
|
+
rpc :Read, ::Pulumirpc::ReadRequest, ::Pulumirpc::ReadResponse
|
|
166
|
+
# `Update` updates an existing resource according to a new set of inputs, returning a new set of output properties.
|
|
167
|
+
rpc :Update, ::Pulumirpc::UpdateRequest, ::Pulumirpc::UpdateResponse
|
|
168
|
+
# `Delete` deprovisions an existing resource as specified by its ID. `Delete` should be transactional/atomic -- if
|
|
169
|
+
# a call to `Delete` fails, it must be the case that the resource was *not* deleted and can be assumed to still
|
|
170
|
+
# exist.
|
|
171
|
+
rpc :Delete, ::Pulumirpc::DeleteRequest, ::Google::Protobuf::Empty
|
|
172
|
+
# `Construct` provisions a new [component resource](component-resources). Providers that implement `Construct` are
|
|
173
|
+
# referred to as [component providers](component-providers). `Construct` is to component resources what
|
|
174
|
+
# [](pulumirpc.ResourceProvider.Create) is to [custom resources](custom-resources). Components do not have any
|
|
175
|
+
# lifecycle of their own, and instead embody the lifecycles of the resources that they are composed of. As such,
|
|
176
|
+
# `Construct` is effectively a subprogram whose resources will be persisted in the caller's state. It is
|
|
177
|
+
# consequently passed enough information to manage fully these resources. At a high level, this comprises:
|
|
178
|
+
#
|
|
179
|
+
# * A [](pulumirpc.ResourceMonitor) endpoint which the provider can use to [register](resource-registration) nested
|
|
180
|
+
# custom or component resources that belong to the component.
|
|
181
|
+
#
|
|
182
|
+
# * A set of input properties.
|
|
183
|
+
#
|
|
184
|
+
# * A full set of [resource options](https://www.pulumi.com/docs/iac/concepts/options/) that the component should
|
|
185
|
+
# propagate to resources it registers against the supplied resource monitor.
|
|
186
|
+
rpc :Construct, ::Pulumirpc::ConstructRequest, ::Pulumirpc::ConstructResponse
|
|
187
|
+
# Cancel signals the provider to gracefully shut down and abort any ongoing resource operations.
|
|
188
|
+
# Operations aborted in this way will return an error (e.g., `Update` and `Create` will either return a
|
|
189
|
+
# creation error or an initialization error). Since Cancel is advisory and non-blocking, it is up
|
|
190
|
+
# to the host to decide how long to wait after Cancel is called before (e.g.)
|
|
191
|
+
# hard-closing any gRPC connection.
|
|
192
|
+
rpc :Cancel, ::Google::Protobuf::Empty, ::Google::Protobuf::Empty
|
|
193
|
+
# GetPluginInfo returns generic information about this plugin, like its version.
|
|
194
|
+
rpc :GetPluginInfo, ::Google::Protobuf::Empty, ::Pulumirpc::PluginInfo
|
|
195
|
+
# Attach sends the engine address to an already running plugin.
|
|
196
|
+
rpc :Attach, ::Pulumirpc::PluginAttach, ::Google::Protobuf::Empty
|
|
197
|
+
# GetMapping fetches the mapping for this resource provider, if any. A provider should return an empty
|
|
198
|
+
# response (not an error) if it doesn't have a mapping for the given key.
|
|
199
|
+
#
|
|
200
|
+
# `GetMapping` returns mappings designed to aid in [converting programs and state from other
|
|
201
|
+
# ecosystems](converters). It accepts a "conversion key", which effectively corresponds to a source language, such
|
|
202
|
+
# as `terraform`, and a *source provider name*, which is the name of the provider *in the source language*. Given
|
|
203
|
+
# these, it returns source-specific mapping data for the provider requested. As an example, the Pulumi AWS
|
|
204
|
+
# provider, which is bridged from the Terraform AWS provider and thus capable of mapping names between the two,
|
|
205
|
+
# might respond to a call with key `terraform` and source provider name `aws` with mapping data for transforming
|
|
206
|
+
# (among other things) Terraform AWS names such as `aws_s3_bucket` into Pulumi AWS types such as
|
|
207
|
+
# `aws:s3/bucket:Bucket`. If a provider only supports a single source provider, or has some sensible default, it
|
|
208
|
+
# may respond also to a call in which the source provider name is empty (`""`), which will be made when the engine
|
|
209
|
+
# does not have sufficient knowledge to work out which provider offers a specific mapping.
|
|
210
|
+
#
|
|
211
|
+
# In general, it is expected that providers implemented by bridging an equivalent provider from another ecosystem
|
|
212
|
+
# (such as bridged Terraform providers built atop the `pulumi-terraform-bridge`, for instance) implement
|
|
213
|
+
# `GetMapping` to support conversion from that ecosystem into Pulumi using the same logic that underpins the
|
|
214
|
+
# bridging itself.
|
|
215
|
+
rpc :GetMapping, ::Pulumirpc::GetMappingRequest, ::Pulumirpc::GetMappingResponse
|
|
216
|
+
# `GetMappings` is an optional method designed to aid in [converting programs and state from other
|
|
217
|
+
# ecosystems](converters). `GetMappings` accepts a "conversion key". This corresponds to a source language, for
|
|
218
|
+
# which we want to retrieve mappings for names etc. from that source language into Pulumi. An example key might
|
|
219
|
+
# therefore be `terraform` in the event that we wish to map e.g. Terraform resource names to Pulumi resource types.
|
|
220
|
+
# Given a key, `GetMappings` returns a list of *source provider names* for which calls to `GetMapping` will return
|
|
221
|
+
# mappings. So, continuing the Terraform example, the Pulumi AWS provider, which is bridged from the Terraform AWS
|
|
222
|
+
# provider and thus capable of mapping names between the two, might return the list `["aws"]` in response to a call
|
|
223
|
+
# with key `terraform`.
|
|
224
|
+
#
|
|
225
|
+
# If a provider does not implement `GetMappings`, the engine will fall back to calling `GetMapping` blindly without
|
|
226
|
+
# a source provider name (that is, with the value `""`).
|
|
227
|
+
rpc :GetMappings, ::Pulumirpc::GetMappingsRequest, ::Pulumirpc::GetMappingsResponse
|
|
228
|
+
end
|
|
229
|
+
|
|
230
|
+
Stub = Service.rpc_stub_class
|
|
231
|
+
end
|
|
232
|
+
end
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# source: pulumi/resource.proto
|
|
4
|
+
|
|
5
|
+
require 'google/protobuf'
|
|
6
|
+
|
|
7
|
+
require 'google/protobuf/empty_pb'
|
|
8
|
+
require 'google/protobuf/struct_pb'
|
|
9
|
+
require 'pulumi/provider_pb'
|
|
10
|
+
require 'pulumi/alias_pb'
|
|
11
|
+
require 'pulumi/source_pb'
|
|
12
|
+
require 'pulumi/callback_pb'
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
descriptor_data = "\n\x15pulumi/resource.proto\x12\tpulumirpc\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x15pulumi/provider.proto\x1a\x12pulumi/alias.proto\x1a\x13pulumi/source.proto\x1a\x15pulumi/callback.proto\"$\n\x16SupportsFeatureRequest\x12\n\n\x02id\x18\x01 \x01(\t\"-\n\x17SupportsFeatureResponse\x12\x12\n\nhasSupport\x18\x01 \x01(\x08\"\xc6\x04\n\x13ReadResourceRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x0e\n\x06parent\x18\x04 \x01(\t\x12+\n\nproperties\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x14\n\x0c\x64\x65pendencies\x18\x06 \x03(\t\x12\x10\n\x08provider\x18\x07 \x01(\t\x12\x0f\n\x07version\x18\x08 \x01(\t\x12\x15\n\racceptSecrets\x18\t \x01(\x08\x12\x1f\n\x17\x61\x64\x64itionalSecretOutputs\x18\n \x03(\t\x12\x17\n\x0f\x61\x63\x63\x65ptResources\x18\x0c \x01(\x08\x12\x19\n\x11pluginDownloadURL\x18\r \x01(\t\x12L\n\x0fpluginChecksums\x18\x0f \x03(\x0b\x32\x33.pulumirpc.ReadResourceRequest.PluginChecksumsEntry\x12\x31\n\x0esourcePosition\x18\x0e \x01(\x0b\x32\x19.pulumirpc.SourcePosition\x12)\n\nstackTrace\x18\x11 \x01(\x0b\x32\x15.pulumirpc.StackTrace\x12\x1e\n\x16parentStackTraceHandle\x18\x12 \x01(\t\x12\x12\n\npackageRef\x18\x10 \x01(\t\x1a\x36\n\x14PluginChecksumsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01J\x04\x08\x0b\x10\x0cR\x07\x61liases\"P\n\x14ReadResourceResponse\x12\x0b\n\x03urn\x18\x01 \x01(\t\x12+\n\nproperties\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\"\xd8\x0f\n\x17RegisterResourceRequest\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06parent\x18\x03 \x01(\t\x12\x0e\n\x06\x63ustom\x18\x04 \x01(\x08\x12\'\n\x06object\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x14\n\x07protect\x18\x06 \x01(\x08H\x00\x88\x01\x01\x12\x14\n\x0c\x64\x65pendencies\x18\x07 \x03(\t\x12\x10\n\x08provider\x18\x08 \x01(\t\x12Z\n\x14propertyDependencies\x18\t \x03(\x0b\x32<.pulumirpc.RegisterResourceRequest.PropertyDependenciesEntry\x12\x1b\n\x13\x64\x65leteBeforeReplace\x18\n \x01(\x08\x12\x0f\n\x07version\x18\x0b \x01(\t\x12\x15\n\rignoreChanges\x18\x0c \x03(\t\x12\x15\n\racceptSecrets\x18\r \x01(\x08\x12\x1f\n\x17\x61\x64\x64itionalSecretOutputs\x18\x0e \x03(\t\x12\x11\n\taliasURNs\x18\x0f \x03(\t\x12\x10\n\x08importId\x18\x10 \x01(\t\x12I\n\x0e\x63ustomTimeouts\x18\x11 \x01(\x0b\x32\x31.pulumirpc.RegisterResourceRequest.CustomTimeouts\x12\"\n\x1a\x64\x65leteBeforeReplaceDefined\x18\x12 \x01(\x08\x12\x1d\n\x15supportsPartialValues\x18\x13 \x01(\x08\x12\x0e\n\x06remote\x18\x14 \x01(\x08\x12\x17\n\x0f\x61\x63\x63\x65ptResources\x18\x15 \x01(\x08\x12\x44\n\tproviders\x18\x16 \x03(\x0b\x32\x31.pulumirpc.RegisterResourceRequest.ProvidersEntry\x12\x18\n\x10replaceOnChanges\x18\x17 \x03(\t\x12\x19\n\x11pluginDownloadURL\x18\x18 \x01(\t\x12P\n\x0fpluginChecksums\x18\x1e \x03(\x0b\x32\x37.pulumirpc.RegisterResourceRequest.PluginChecksumsEntry\x12\x1b\n\x0eretainOnDelete\x18\x19 \x01(\x08H\x01\x88\x01\x01\x12!\n\x07\x61liases\x18\x1a \x03(\x0b\x32\x10.pulumirpc.Alias\x12\x13\n\x0b\x64\x65letedWith\x18\x1b \x01(\t\x12\x14\n\x0creplace_with\x18& \x03(\t\x12\x33\n\x13replacement_trigger\x18\' \x01(\x0b\x32\x16.google.protobuf.Value\x12\x12\n\naliasSpecs\x18\x1c \x01(\x08\x12\x31\n\x0esourcePosition\x18\x1d \x01(\x0b\x32\x19.pulumirpc.SourcePosition\x12)\n\nstackTrace\x18# \x01(\x0b\x32\x15.pulumirpc.StackTrace\x12\x1e\n\x16parentStackTraceHandle\x18$ \x01(\t\x12\'\n\ntransforms\x18\x1f \x03(\x0b\x32\x13.pulumirpc.Callback\x12\x1f\n\x17supportsResultReporting\x18 \x01(\x08\x12\x12\n\npackageRef\x18! \x01(\t\x12K\n\x05hooks\x18\" \x01(\x0b\x32\x37.pulumirpc.RegisterResourceRequest.ResourceHooksBindingH\x02\x88\x01\x01\x12\x11\n\thideDiffs\x18% \x03(\t\x12N\n\x0e\x65nvVarMappings\x18) \x03(\x0b\x32\x36.pulumirpc.RegisterResourceRequest.EnvVarMappingsEntry\x1a$\n\x14PropertyDependencies\x12\x0c\n\x04urns\x18\x01 \x03(\t\x1a@\n\x0e\x43ustomTimeouts\x12\x0e\n\x06\x63reate\x18\x01 \x01(\t\x12\x0e\n\x06update\x18\x02 \x01(\t\x12\x0e\n\x06\x64\x65lete\x18\x03 \x01(\t\x1at\n\x19PropertyDependenciesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x46\n\x05value\x18\x02 \x01(\x0b\x32\x37.pulumirpc.RegisterResourceRequest.PropertyDependencies:\x02\x38\x01\x1a\x30\n\x0eProvidersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x36\n\x14PluginChecksumsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\x1a\xaf\x01\n\x14ResourceHooksBinding\x12\x15\n\rbefore_create\x18\x01 \x03(\t\x12\x14\n\x0c\x61\x66ter_create\x18\x02 \x03(\t\x12\x15\n\rbefore_update\x18\x03 \x03(\t\x12\x14\n\x0c\x61\x66ter_update\x18\x04 \x03(\t\x12\x15\n\rbefore_delete\x18\x05 \x03(\t\x12\x14\n\x0c\x61\x66ter_delete\x18\x06 \x03(\t\x12\x10\n\x08on_error\x18\x07 \x03(\t\x1a\x35\n\x13\x45nvVarMappingsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\n\n\x08_protectB\x11\n\x0f_retainOnDeleteB\x08\n\x06_hooks\"\x9a\x03\n\x18RegisterResourceResponse\x12\x0b\n\x03urn\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\t\x12\'\n\x06object\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x0e\n\x06stable\x18\x04 \x01(\x08\x12\x0f\n\x07stables\x18\x05 \x03(\t\x12[\n\x14propertyDependencies\x18\x06 \x03(\x0b\x32=.pulumirpc.RegisterResourceResponse.PropertyDependenciesEntry\x12!\n\x06result\x18\x07 \x01(\x0e\x32\x11.pulumirpc.Result\x1a$\n\x14PropertyDependencies\x12\x0c\n\x04urns\x18\x01 \x03(\t\x1au\n\x19PropertyDependenciesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12G\n\x05value\x18\x02 \x01(\x0b\x32\x38.pulumirpc.RegisterResourceResponse.PropertyDependencies:\x02\x38\x01\"W\n\x1eRegisterResourceOutputsRequest\x12\x0b\n\x03urn\x18\x01 \x01(\t\x12(\n\x07outputs\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\"\xbc\x03\n\x15ResourceInvokeRequest\x12\x0b\n\x03tok\x18\x01 \x01(\t\x12%\n\x04\x61rgs\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x10\n\x08provider\x18\x03 \x01(\t\x12\x0f\n\x07version\x18\x04 \x01(\t\x12\x17\n\x0f\x61\x63\x63\x65ptResources\x18\x05 \x01(\x08\x12\x19\n\x11pluginDownloadURL\x18\x06 \x01(\t\x12N\n\x0fpluginChecksums\x18\x08 \x03(\x0b\x32\x35.pulumirpc.ResourceInvokeRequest.PluginChecksumsEntry\x12\x31\n\x0esourcePosition\x18\x07 \x01(\x0b\x32\x19.pulumirpc.SourcePosition\x12)\n\nstackTrace\x18\n \x01(\x0b\x32\x15.pulumirpc.StackTrace\x12\x1e\n\x16parentStackTraceHandle\x18\x0b \x01(\t\x12\x12\n\npackageRef\x18\t \x01(\t\x1a\x36\n\x14PluginChecksumsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\"\x8b\x06\n\x13ResourceCallRequest\x12\x0b\n\x03tok\x18\x01 \x01(\t\x12%\n\x04\x61rgs\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12L\n\x0f\x61rgDependencies\x18\x03 \x03(\x0b\x32\x33.pulumirpc.ResourceCallRequest.ArgDependenciesEntry\x12\x10\n\x08provider\x18\x04 \x01(\t\x12\x0f\n\x07version\x18\x05 \x01(\t\x12\x19\n\x11pluginDownloadURL\x18\r \x01(\t\x12L\n\x0fpluginChecksums\x18\x10 \x03(\x0b\x32\x33.pulumirpc.ResourceCallRequest.PluginChecksumsEntry\x12\x31\n\x0esourcePosition\x18\x0f \x01(\x0b\x32\x19.pulumirpc.SourcePosition\x12)\n\nstackTrace\x18\x12 \x01(\x0b\x32\x15.pulumirpc.StackTrace\x12\x1e\n\x16parentStackTraceHandle\x18\x13 \x01(\t\x12\x12\n\npackageRef\x18\x11 \x01(\t\x1a$\n\x14\x41rgumentDependencies\x12\x0c\n\x04urns\x18\x01 \x03(\t\x1ak\n\x14\x41rgDependenciesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x42\n\x05value\x18\x02 \x01(\x0b\x32\x33.pulumirpc.ResourceCallRequest.ArgumentDependencies:\x02\x38\x01\x1a\x36\n\x14PluginChecksumsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01J\x04\x08\x06\x10\x07J\x04\x08\x07\x10\x08J\x04\x08\x08\x10\tJ\x04\x08\t\x10\nJ\x04\x08\n\x10\x0bJ\x04\x08\x0b\x10\x0cJ\x04\x08\x0c\x10\rJ\x04\x08\x0e\x10\x0fR\x07projectR\x05stackR\x06\x63onfigR\x10\x63onfigSecretKeysR\x06\x64ryRunR\x08parallelR\x0fmonitorEndpointR\x0corganization\"\x99\x07\n\x18TransformResourceOptions\x12\x12\n\ndepends_on\x18\x01 \x03(\t\x12\x14\n\x07protect\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x16\n\x0eignore_changes\x18\x03 \x03(\t\x12\x1a\n\x12replace_on_changes\x18\x04 \x03(\t\x12\x0f\n\x07version\x18\x05 \x01(\t\x12!\n\x07\x61liases\x18\x06 \x03(\x0b\x32\x10.pulumirpc.Alias\x12\x10\n\x08provider\x18\x07 \x01(\t\x12J\n\x0f\x63ustom_timeouts\x18\x08 \x01(\x0b\x32\x31.pulumirpc.RegisterResourceRequest.CustomTimeouts\x12\x1b\n\x13plugin_download_url\x18\t \x01(\t\x12\x1d\n\x10retain_on_delete\x18\n \x01(\x08H\x01\x88\x01\x01\x12\x14\n\x0c\x64\x65leted_with\x18\x0b \x01(\t\x12\"\n\x15\x64\x65lete_before_replace\x18\x0c \x01(\x08H\x02\x88\x01\x01\x12!\n\x19\x61\x64\x64itional_secret_outputs\x18\r \x03(\t\x12\x45\n\tproviders\x18\x0e \x03(\x0b\x32\x32.pulumirpc.TransformResourceOptions.ProvidersEntry\x12R\n\x10plugin_checksums\x18\x0f \x03(\x0b\x32\x38.pulumirpc.TransformResourceOptions.PluginChecksumsEntry\x12\x46\n\x05hooks\x18\x10 \x01(\x0b\x32\x37.pulumirpc.RegisterResourceRequest.ResourceHooksBinding\x12\x0e\n\x06import\x18\x11 \x01(\t\x12\x11\n\thide_diff\x18\x12 \x03(\t\x12\x14\n\x0creplace_with\x18\x13 \x03(\t\x12\x33\n\x13replacement_trigger\x18\x14 \x01(\x0b\x32\x16.google.protobuf.Value\x1a\x30\n\x0eProvidersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x36\n\x14PluginChecksumsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\x42\n\n\x08_protectB\x13\n\x11_retain_on_deleteB\x18\n\x16_delete_before_replace\"\xb1\x01\n\x10TransformRequest\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06\x63ustom\x18\x03 \x01(\x08\x12\x0e\n\x06parent\x18\x04 \x01(\t\x12+\n\nproperties\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x34\n\x07options\x18\x06 \x01(\x0b\x32#.pulumirpc.TransformResourceOptions\"v\n\x11TransformResponse\x12+\n\nproperties\x18\x01 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x34\n\x07options\x18\x02 \x01(\x0b\x32#.pulumirpc.TransformResourceOptions\"\x82\x01\n\x16TransformInvokeRequest\x12\r\n\x05token\x18\x01 \x01(\t\x12%\n\x04\x61rgs\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x32\n\x07options\x18\x03 \x01(\x0b\x32!.pulumirpc.TransformInvokeOptions\"t\n\x17TransformInvokeResponse\x12%\n\x04\x61rgs\x18\x01 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x32\n\x07options\x18\x02 \x01(\x0b\x32!.pulumirpc.TransformInvokeOptions\"\xe2\x01\n\x16TransformInvokeOptions\x12\x10\n\x08provider\x18\x01 \x01(\t\x12\x1b\n\x13plugin_download_url\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\t\x12P\n\x10plugin_checksums\x18\x04 \x03(\x0b\x32\x36.pulumirpc.TransformInvokeOptions.PluginChecksumsEntry\x1a\x36\n\x14PluginChecksumsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\"\x80\x02\n\x13ResourceHookRequest\x12\x0b\n\x03urn\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x0c\n\x04type\x18\x04 \x01(\t\x12+\n\nnew_inputs\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\x12+\n\nold_inputs\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12,\n\x0bnew_outputs\x18\x07 \x01(\x0b\x32\x17.google.protobuf.Struct\x12,\n\x0bold_outputs\x18\x08 \x01(\x0b\x32\x17.google.protobuf.Struct\"%\n\x14ResourceHookResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"\xf9\x01\n\x10\x45rrorHookRequest\x12\x0b\n\x03urn\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x0c\n\x04type\x18\x04 \x01(\t\x12+\n\nnew_inputs\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\x12+\n\nold_inputs\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12,\n\x0bold_outputs\x18\x07 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x18\n\x10\x66\x61iled_operation\x18\x08 \x01(\t\x12\x0e\n\x06\x65rrors\x18\t \x03(\t\"1\n\x11\x45rrorHookResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\x12\r\n\x05retry\x18\x02 \x01(\x08\"\xfb\x01\n\x16RegisterPackageRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x14\n\x0c\x64ownload_url\x18\x03 \x01(\t\x12\x43\n\tchecksums\x18\x04 \x03(\x0b\x32\x30.pulumirpc.RegisterPackageRequest.ChecksumsEntry\x12\x35\n\x10parameterization\x18\x05 \x01(\x0b\x32\x1b.pulumirpc.Parameterization\x1a\x30\n\x0e\x43hecksumsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\"&\n\x17RegisterPackageResponse\x12\x0b\n\x03ref\x18\x01 \x01(\t\"@\n\x10Parameterization\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\x0c\"f\n\x1bRegisterResourceHookRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12%\n\x08\x63\x61llback\x18\x02 \x01(\x0b\x32\x13.pulumirpc.Callback\x12\x12\n\non_dry_run\x18\x03 \x01(\x08\"O\n\x18RegisterErrorHookRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12%\n\x08\x63\x61llback\x18\x02 \x01(\x0b\x32\x13.pulumirpc.Callback*)\n\x06Result\x12\x0b\n\x07SUCCESS\x10\x00\x12\x08\n\x04\x46\x41IL\x10\x01\x12\x08\n\x04SKIP\x10\x02\x32\xfb\x07\n\x0fResourceMonitor\x12Z\n\x0fSupportsFeature\x12!.pulumirpc.SupportsFeatureRequest\x1a\".pulumirpc.SupportsFeatureResponse\"\x00\x12G\n\x06Invoke\x12 .pulumirpc.ResourceInvokeRequest\x1a\x19.pulumirpc.InvokeResponse\"\x00\x12\x41\n\x04\x43\x61ll\x12\x1e.pulumirpc.ResourceCallRequest\x1a\x17.pulumirpc.CallResponse\"\x00\x12Q\n\x0cReadResource\x12\x1e.pulumirpc.ReadResourceRequest\x1a\x1f.pulumirpc.ReadResourceResponse\"\x00\x12]\n\x10RegisterResource\x12\".pulumirpc.RegisterResourceRequest\x1a#.pulumirpc.RegisterResourceResponse\"\x00\x12^\n\x17RegisterResourceOutputs\x12).pulumirpc.RegisterResourceOutputsRequest\x1a\x16.google.protobuf.Empty\"\x00\x12G\n\x16RegisterStackTransform\x12\x13.pulumirpc.Callback\x1a\x16.google.protobuf.Empty\"\x00\x12M\n\x1cRegisterStackInvokeTransform\x12\x13.pulumirpc.Callback\x1a\x16.google.protobuf.Empty\"\x00\x12X\n\x14RegisterResourceHook\x12&.pulumirpc.RegisterResourceHookRequest\x1a\x16.google.protobuf.Empty\"\x00\x12R\n\x11RegisterErrorHook\x12#.pulumirpc.RegisterErrorHookRequest\x1a\x16.google.protobuf.Empty\"\x00\x12Z\n\x0fRegisterPackage\x12!.pulumirpc.RegisterPackageRequest\x1a\".pulumirpc.RegisterPackageResponse\"\x00\x12L\n\x18SignalAndWaitForShutdown\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x42\x34Z2github.com/pulumi/pulumi/sdk/v3/proto/go;pulumirpcb\x06proto3"
|
|
16
|
+
|
|
17
|
+
pool = ::Google::Protobuf::DescriptorPool.generated_pool
|
|
18
|
+
pool.add_serialized_file(descriptor_data)
|
|
19
|
+
|
|
20
|
+
module Pulumirpc
|
|
21
|
+
SupportsFeatureRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.SupportsFeatureRequest").msgclass
|
|
22
|
+
SupportsFeatureResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.SupportsFeatureResponse").msgclass
|
|
23
|
+
ReadResourceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.ReadResourceRequest").msgclass
|
|
24
|
+
ReadResourceResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.ReadResourceResponse").msgclass
|
|
25
|
+
RegisterResourceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.RegisterResourceRequest").msgclass
|
|
26
|
+
RegisterResourceRequest::PropertyDependencies = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.RegisterResourceRequest.PropertyDependencies").msgclass
|
|
27
|
+
RegisterResourceRequest::CustomTimeouts = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.RegisterResourceRequest.CustomTimeouts").msgclass
|
|
28
|
+
RegisterResourceRequest::ResourceHooksBinding = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.RegisterResourceRequest.ResourceHooksBinding").msgclass
|
|
29
|
+
RegisterResourceResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.RegisterResourceResponse").msgclass
|
|
30
|
+
RegisterResourceResponse::PropertyDependencies = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.RegisterResourceResponse.PropertyDependencies").msgclass
|
|
31
|
+
RegisterResourceOutputsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.RegisterResourceOutputsRequest").msgclass
|
|
32
|
+
ResourceInvokeRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.ResourceInvokeRequest").msgclass
|
|
33
|
+
ResourceCallRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.ResourceCallRequest").msgclass
|
|
34
|
+
ResourceCallRequest::ArgumentDependencies = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.ResourceCallRequest.ArgumentDependencies").msgclass
|
|
35
|
+
TransformResourceOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.TransformResourceOptions").msgclass
|
|
36
|
+
TransformRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.TransformRequest").msgclass
|
|
37
|
+
TransformResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.TransformResponse").msgclass
|
|
38
|
+
TransformInvokeRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.TransformInvokeRequest").msgclass
|
|
39
|
+
TransformInvokeResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.TransformInvokeResponse").msgclass
|
|
40
|
+
TransformInvokeOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.TransformInvokeOptions").msgclass
|
|
41
|
+
ResourceHookRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.ResourceHookRequest").msgclass
|
|
42
|
+
ResourceHookResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.ResourceHookResponse").msgclass
|
|
43
|
+
ErrorHookRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.ErrorHookRequest").msgclass
|
|
44
|
+
ErrorHookResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.ErrorHookResponse").msgclass
|
|
45
|
+
RegisterPackageRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.RegisterPackageRequest").msgclass
|
|
46
|
+
RegisterPackageResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.RegisterPackageResponse").msgclass
|
|
47
|
+
Parameterization = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.Parameterization").msgclass
|
|
48
|
+
RegisterResourceHookRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.RegisterResourceHookRequest").msgclass
|
|
49
|
+
RegisterErrorHookRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.RegisterErrorHookRequest").msgclass
|
|
50
|
+
Result = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.Result").enummodule
|
|
51
|
+
end
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
2
|
+
# Source: pulumi/resource.proto for package 'pulumirpc'
|
|
3
|
+
# Original file comments:
|
|
4
|
+
# Copyright 2016-2022, Pulumi Corporation.
|
|
5
|
+
#
|
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
# you may not use this file except in compliance with the License.
|
|
8
|
+
# You may obtain a copy of the License at
|
|
9
|
+
#
|
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
#
|
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
# See the License for the specific language governing permissions and
|
|
16
|
+
# limitations under the License.
|
|
17
|
+
#
|
|
18
|
+
|
|
19
|
+
require 'grpc'
|
|
20
|
+
require 'pulumi/resource_pb'
|
|
21
|
+
|
|
22
|
+
module Pulumirpc
|
|
23
|
+
module ResourceMonitor
|
|
24
|
+
# ResourceMonitor is the interface a source uses to talk back to the planning monitor orchestrating the execution.
|
|
25
|
+
class Service
|
|
26
|
+
|
|
27
|
+
include ::GRPC::GenericService
|
|
28
|
+
|
|
29
|
+
self.marshal_class_method = :encode
|
|
30
|
+
self.unmarshal_class_method = :decode
|
|
31
|
+
self.service_name = 'pulumirpc.ResourceMonitor'
|
|
32
|
+
|
|
33
|
+
rpc :SupportsFeature, ::Pulumirpc::SupportsFeatureRequest, ::Pulumirpc::SupportsFeatureResponse
|
|
34
|
+
rpc :Invoke, ::Pulumirpc::ResourceInvokeRequest, ::Pulumirpc::InvokeResponse
|
|
35
|
+
rpc :Call, ::Pulumirpc::ResourceCallRequest, ::Pulumirpc::CallResponse
|
|
36
|
+
rpc :ReadResource, ::Pulumirpc::ReadResourceRequest, ::Pulumirpc::ReadResourceResponse
|
|
37
|
+
rpc :RegisterResource, ::Pulumirpc::RegisterResourceRequest, ::Pulumirpc::RegisterResourceResponse
|
|
38
|
+
rpc :RegisterResourceOutputs, ::Pulumirpc::RegisterResourceOutputsRequest, ::Google::Protobuf::Empty
|
|
39
|
+
# Register a resource transform for the stack
|
|
40
|
+
rpc :RegisterStackTransform, ::Pulumirpc::Callback, ::Google::Protobuf::Empty
|
|
41
|
+
# Register an invoke transform for the stack
|
|
42
|
+
rpc :RegisterStackInvokeTransform, ::Pulumirpc::Callback, ::Google::Protobuf::Empty
|
|
43
|
+
# Register a resource hook that can be called by the engine during certain
|
|
44
|
+
# steps of a resource's lifecycle.
|
|
45
|
+
rpc :RegisterResourceHook, ::Pulumirpc::RegisterResourceHookRequest, ::Google::Protobuf::Empty
|
|
46
|
+
# Register an error hook that can be called by the engine when an operation fails and is retryable.
|
|
47
|
+
#
|
|
48
|
+
# Error hooks are a separate type of hook to other life cycle hooks as they have different inputs and outputs.
|
|
49
|
+
rpc :RegisterErrorHook, ::Pulumirpc::RegisterErrorHookRequest, ::Google::Protobuf::Empty
|
|
50
|
+
# Registers a package and allocates a packageRef. The same package can be registered multiple times in Pulumi.
|
|
51
|
+
# Multiple requests are idempotent and guaranteed to return the same result.
|
|
52
|
+
rpc :RegisterPackage, ::Pulumirpc::RegisterPackageRequest, ::Pulumirpc::RegisterPackageResponse
|
|
53
|
+
# SignalAndWaitForShutdown lets the resource monitor know that no more
|
|
54
|
+
# events will be generated. This call blocks until the resource monitor is
|
|
55
|
+
# finished, which will happen once all the steps have executed. This allows
|
|
56
|
+
# the language runtime to stay running and handle callback requests, even
|
|
57
|
+
# after the user program has completed. Runtime SDKs should call this after
|
|
58
|
+
# executing the user's program. This can only be called once.
|
|
59
|
+
rpc :SignalAndWaitForShutdown, ::Google::Protobuf::Empty, ::Google::Protobuf::Empty
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
Stub = Service.rpc_stub_class
|
|
63
|
+
end
|
|
64
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# source: pulumi/resource_status.proto
|
|
4
|
+
|
|
5
|
+
require 'google/protobuf'
|
|
6
|
+
|
|
7
|
+
require 'google/protobuf/struct_pb'
|
|
8
|
+
require 'pulumi/provider_pb'
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
descriptor_data = "\n\x1cpulumi/resource_status.proto\x12\tpulumirpc\x1a\x1cgoogle/protobuf/struct.proto\x1a\x15pulumi/provider.proto\"L\n\x17PublishViewStepsRequest\x12\r\n\x05token\x18\x01 \x01(\t\x12\"\n\x05steps\x18\x02 \x03(\x0b\x32\x13.pulumirpc.ViewStep\"\x1a\n\x18PublishViewStepsResponse\"\xe0\x05\n\x08ViewStep\x12*\n\x06status\x18\x01 \x01(\x0e\x32\x1a.pulumirpc.ViewStep.Status\x12\r\n\x05\x65rror\x18\x02 \x01(\t\x12\"\n\x02op\x18\x03 \x01(\x0e\x32\x16.pulumirpc.ViewStep.Op\x12\x0c\n\x04type\x18\x04 \x01(\t\x12\x0c\n\x04name\x18\x05 \x01(\t\x12%\n\x03old\x18\x06 \x01(\x0b\x32\x18.pulumirpc.ViewStepState\x12%\n\x03new\x18\x07 \x01(\x0b\x32\x18.pulumirpc.ViewStepState\x12\x0c\n\x04keys\x18\x08 \x03(\t\x12\r\n\x05\x64iffs\x18\t \x03(\t\x12<\n\rdetailed_diff\x18\n \x03(\x0b\x32%.pulumirpc.ViewStep.DetailedDiffEntry\x12\x19\n\x11has_detailed_diff\x18\x0b \x01(\x08\x1aL\n\x11\x44\x65tailedDiffEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.pulumirpc.PropertyDiff:\x02\x38\x01\"\x92\x02\n\x02Op\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04SAME\x10\x01\x12\n\n\x06\x43REATE\x10\x02\x12\n\n\x06UPDATE\x10\x03\x12\n\n\x06\x44\x45LETE\x10\x04\x12\x0b\n\x07REPLACE\x10\x05\x12\x16\n\x12\x43REATE_REPLACEMENT\x10\x06\x12\x13\n\x0f\x44\x45LETE_REPLACED\x10\x07\x12\x08\n\x04READ\x10\x08\x12\x14\n\x10READ_REPLACEMENT\x10\t\x12\x0b\n\x07REFRESH\x10\n\x12\x10\n\x0cREAD_DISCARD\x10\x0b\x12\x14\n\x10\x44ISCARD_REPLACED\x10\x0c\x12\x1a\n\x16REMOVE_PENDING_REPLACE\x10\r\x12\n\n\x06IMPORT\x10\x0e\x12\x16\n\x12IMPORT_REPLACEMENT\x10\x0f\"2\n\x06Status\x12\x06\n\x02OK\x10\x00\x12\x13\n\x0fPARTIAL_FAILURE\x10\x01\x12\x0b\n\x07UNKNOWN\x10\x02\"\xa8\x01\n\rViewStepState\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0bparent_type\x18\x03 \x01(\t\x12\x13\n\x0bparent_name\x18\x04 \x01(\t\x12\'\n\x06inputs\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\x12(\n\x07outputs\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct2o\n\x0eResourceStatus\x12]\n\x10PublishViewSteps\x12\".pulumirpc.PublishViewStepsRequest\x1a#.pulumirpc.PublishViewStepsResponse\"\x00\x42\x34Z2github.com/pulumi/pulumi/sdk/v3/proto/go;pulumirpcb\x06proto3"
|
|
12
|
+
|
|
13
|
+
pool = ::Google::Protobuf::DescriptorPool.generated_pool
|
|
14
|
+
pool.add_serialized_file(descriptor_data)
|
|
15
|
+
|
|
16
|
+
module Pulumirpc
|
|
17
|
+
PublishViewStepsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.PublishViewStepsRequest").msgclass
|
|
18
|
+
PublishViewStepsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.PublishViewStepsResponse").msgclass
|
|
19
|
+
ViewStep = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.ViewStep").msgclass
|
|
20
|
+
ViewStep::Op = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.ViewStep.Op").enummodule
|
|
21
|
+
ViewStep::Status = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.ViewStep.Status").enummodule
|
|
22
|
+
ViewStepState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.ViewStepState").msgclass
|
|
23
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
2
|
+
# Source: pulumi/resource_status.proto for package 'pulumirpc'
|
|
3
|
+
# Original file comments:
|
|
4
|
+
# Copyright 2025, Pulumi Corporation.
|
|
5
|
+
#
|
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
# you may not use this file except in compliance with the License.
|
|
8
|
+
# You may obtain a copy of the License at
|
|
9
|
+
#
|
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
#
|
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
# See the License for the specific language governing permissions and
|
|
16
|
+
# limitations under the License.
|
|
17
|
+
#
|
|
18
|
+
|
|
19
|
+
require 'grpc'
|
|
20
|
+
require 'pulumi/resource_status_pb'
|
|
21
|
+
|
|
22
|
+
module Pulumirpc
|
|
23
|
+
module ResourceStatus
|
|
24
|
+
# ResourceStatus is an interface that can be called from a resource provider to update status about a resource.
|
|
25
|
+
class Service
|
|
26
|
+
|
|
27
|
+
include ::GRPC::GenericService
|
|
28
|
+
|
|
29
|
+
self.marshal_class_method = :encode
|
|
30
|
+
self.unmarshal_class_method = :decode
|
|
31
|
+
self.service_name = 'pulumirpc.ResourceStatus'
|
|
32
|
+
|
|
33
|
+
# `PublishViewSteps` is used to publish a series of steps for a view resource.
|
|
34
|
+
# Views can be materialized via create and update steps, and more complex
|
|
35
|
+
# changes, such as replacements, can be modeled as a series of steps.
|
|
36
|
+
# The engine does not actually apply these steps, but rather flows them through
|
|
37
|
+
# the engine such that the view resources are written to state and the view
|
|
38
|
+
# resources are displayed in the UI.
|
|
39
|
+
rpc :PublishViewSteps, ::Pulumirpc::PublishViewStepsRequest, ::Pulumirpc::PublishViewStepsResponse
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
Stub = Service.rpc_stub_class
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# source: pulumi/source.proto
|
|
4
|
+
|
|
5
|
+
require 'google/protobuf'
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
descriptor_data = "\n\x13pulumi/source.proto\x12\tpulumirpc\";\n\x0eSourcePosition\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x0c\n\x04line\x18\x02 \x01(\x05\x12\x0e\n\x06\x63olumn\x18\x03 \x01(\x05\"3\n\nStackFrame\x12%\n\x02pc\x18\x01 \x01(\x0b\x32\x19.pulumirpc.SourcePosition\"3\n\nStackTrace\x12%\n\x06\x66rames\x18\x01 \x03(\x0b\x32\x15.pulumirpc.StackFrameB4Z2github.com/pulumi/pulumi/sdk/v3/proto/go;pulumirpcb\x06proto3"
|
|
9
|
+
|
|
10
|
+
pool = ::Google::Protobuf::DescriptorPool.generated_pool
|
|
11
|
+
pool.add_serialized_file(descriptor_data)
|
|
12
|
+
|
|
13
|
+
module Pulumirpc
|
|
14
|
+
SourcePosition = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.SourcePosition").msgclass
|
|
15
|
+
StackFrame = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.StackFrame").msgclass
|
|
16
|
+
StackTrace = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.StackTrace").msgclass
|
|
17
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# source: pulumi/testing/language.proto
|
|
4
|
+
|
|
5
|
+
require 'google/protobuf'
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
descriptor_data = "\n\x1dpulumi/testing/language.proto\x12\x11pulumirpc.testing\"\x19\n\x17GetLanguageTestsRequest\")\n\x18GetLanguageTestsResponse\x12\r\n\x05tests\x18\x01 \x03(\t\"\xbf\x05\n\x1bPrepareLanguageTestsRequest\x12\x1c\n\x14language_plugin_name\x18\x01 \x01(\t\x12\x1e\n\x16language_plugin_target\x18\x02 \x01(\t\x12\x1a\n\x12snapshot_directory\x18\x03 \x01(\t\x12\x1b\n\x13temporary_directory\x18\x04 \x01(\t\x12\x1a\n\x12\x63ore_sdk_directory\x18\x05 \x01(\t\x12\x18\n\x10\x63ore_sdk_version\x18\x06 \x01(\t\x12R\n\x0esnapshot_edits\x18\x07 \x03(\x0b\x32:.pulumirpc.testing.PrepareLanguageTestsRequest.Replacement\x12\x15\n\rlanguage_info\x18\x08 \x01(\t\x12_\n\x11program_overrides\x18\t \x03(\x0b\x32\x44.pulumirpc.testing.PrepareLanguageTestsRequest.ProgramOverridesEntry\x12\x1d\n\x15policy_pack_directory\x18\n \x01(\t\x12\r\n\x05local\x18\x0b \x01(\x08\x12\x1b\n\x13providers_directory\x18\x0c \x01(\t\x1a\x41\n\x0bReplacement\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0f\n\x07pattern\x18\x02 \x01(\t\x12\x13\n\x0breplacement\x18\x03 \x01(\t\x1a \n\x0fProgramOverride\x12\r\n\x05paths\x18\x01 \x03(\t\x1aw\n\x15ProgramOverridesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12M\n\x05value\x18\x02 \x01(\x0b\x32>.pulumirpc.testing.PrepareLanguageTestsRequest.ProgramOverride:\x02\x38\x01\"-\n\x1cPrepareLanguageTestsResponse\x12\r\n\x05token\x18\x01 \x01(\t\"5\n\x16RunLanguageTestRequest\x12\r\n\x05token\x18\x01 \x01(\t\x12\x0c\n\x04test\x18\x02 \x01(\t\"\\\n\x17RunLanguageTestResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x10\n\x08messages\x18\x02 \x03(\t\x12\x0e\n\x06stdout\x18\x03 \x01(\t\x12\x0e\n\x06stderr\x18\x04 \x01(\t2\xe4\x02\n\x0cLanguageTest\x12m\n\x10GetLanguageTests\x12*.pulumirpc.testing.GetLanguageTestsRequest\x1a+.pulumirpc.testing.GetLanguageTestsResponse\"\x00\x12y\n\x14PrepareLanguageTests\x12..pulumirpc.testing.PrepareLanguageTestsRequest\x1a/.pulumirpc.testing.PrepareLanguageTestsResponse\"\x00\x12j\n\x0fRunLanguageTest\x12).pulumirpc.testing.RunLanguageTestRequest\x1a*.pulumirpc.testing.RunLanguageTestResponse\"\x00\x42\x32Z0github.com/pulumi/pulumi/sdk/v3/proto/go/testingb\x06proto3"
|
|
9
|
+
|
|
10
|
+
pool = ::Google::Protobuf::DescriptorPool.generated_pool
|
|
11
|
+
pool.add_serialized_file(descriptor_data)
|
|
12
|
+
|
|
13
|
+
module Pulumirpc
|
|
14
|
+
module Testing
|
|
15
|
+
GetLanguageTestsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.testing.GetLanguageTestsRequest").msgclass
|
|
16
|
+
GetLanguageTestsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.testing.GetLanguageTestsResponse").msgclass
|
|
17
|
+
PrepareLanguageTestsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.testing.PrepareLanguageTestsRequest").msgclass
|
|
18
|
+
PrepareLanguageTestsRequest::Replacement = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.testing.PrepareLanguageTestsRequest.Replacement").msgclass
|
|
19
|
+
PrepareLanguageTestsRequest::ProgramOverride = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.testing.PrepareLanguageTestsRequest.ProgramOverride").msgclass
|
|
20
|
+
PrepareLanguageTestsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.testing.PrepareLanguageTestsResponse").msgclass
|
|
21
|
+
RunLanguageTestRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.testing.RunLanguageTestRequest").msgclass
|
|
22
|
+
RunLanguageTestResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("pulumirpc.testing.RunLanguageTestResponse").msgclass
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
2
|
+
# Source: pulumi/testing/language.proto for package 'pulumirpc.testing'
|
|
3
|
+
# Original file comments:
|
|
4
|
+
# Copyright 2016-2023, Pulumi Corporation.
|
|
5
|
+
#
|
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
# you may not use this file except in compliance with the License.
|
|
8
|
+
# You may obtain a copy of the License at
|
|
9
|
+
#
|
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
#
|
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
# See the License for the specific language governing permissions and
|
|
16
|
+
# limitations under the License.
|
|
17
|
+
#
|
|
18
|
+
|
|
19
|
+
require 'grpc'
|
|
20
|
+
require 'pulumi/testing/language_pb'
|
|
21
|
+
|
|
22
|
+
module Pulumirpc
|
|
23
|
+
module Testing
|
|
24
|
+
module LanguageTest
|
|
25
|
+
# LanguageTest is the interface to the pulumi language test framework. This is _highly_ experimental and
|
|
26
|
+
# currently subject to breaking changes without warning.
|
|
27
|
+
class Service
|
|
28
|
+
|
|
29
|
+
include ::GRPC::GenericService
|
|
30
|
+
|
|
31
|
+
self.marshal_class_method = :encode
|
|
32
|
+
self.unmarshal_class_method = :decode
|
|
33
|
+
self.service_name = 'pulumirpc.testing.LanguageTest'
|
|
34
|
+
|
|
35
|
+
# GetLanguageTests returns a list of all the language tests.
|
|
36
|
+
rpc :GetLanguageTests, ::Pulumirpc::Testing::GetLanguageTestsRequest, ::Pulumirpc::Testing::GetLanguageTestsResponse
|
|
37
|
+
# PrepareLanguageTests prepares the engine to run language tests. It sets up a stable artifacts folder
|
|
38
|
+
# (which should be .gitignore'd) and fills it with the core SDK artifact.
|
|
39
|
+
rpc :PrepareLanguageTests, ::Pulumirpc::Testing::PrepareLanguageTestsRequest, ::Pulumirpc::Testing::PrepareLanguageTestsResponse
|
|
40
|
+
# RunLanguageTest runs a single test of the language plugin.
|
|
41
|
+
rpc :RunLanguageTest, ::Pulumirpc::Testing::RunLanguageTestRequest, ::Pulumirpc::Testing::RunLanguageTestResponse
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
Stub = Service.rpc_stub_class
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
require 'grpc'
|
|
2
|
+
require_relative 'generated/pulumi/language_pb'
|
|
3
|
+
require_relative 'generated/pulumi/language_services_pb'
|
|
4
|
+
|
|
5
|
+
require_relative 'generated/pulumi/resource_pb'
|
|
6
|
+
require_relative 'generated/pulumi/resource_services_pb'
|
|
7
|
+
|
|
8
|
+
require_relative 'pulumi'
|
|
9
|
+
|
|
10
|
+
module RubyPulumi
|
|
11
|
+
class LanguageHost < Pulumirpc::LanguageRuntime::Service
|
|
12
|
+
|
|
13
|
+
def get_required_plugins(req, _call)
|
|
14
|
+
Pulumirpc::GetRequiredPluginsResponse.new
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def get_plugin_info(_req, _call)
|
|
18
|
+
Pulumirpc::PluginInfo.new(
|
|
19
|
+
version: "0.0.1"
|
|
20
|
+
)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def run(req, _call)
|
|
24
|
+
begin
|
|
25
|
+
monitor = Pulumirpc::ResourceMonitor::Stub.new(
|
|
26
|
+
req.monitor_address,
|
|
27
|
+
:this_channel_is_insecure
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
::Pulumi::Runtime.monitor = monitor
|
|
31
|
+
|
|
32
|
+
Dir.chdir(req.pwd) do
|
|
33
|
+
Dir.glob("*.rb").sort.each do |file|
|
|
34
|
+
load file
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
Pulumirpc::RunResponse.new(error: "")
|
|
39
|
+
rescue => e
|
|
40
|
+
Pulumirpc::RunResponse.new(
|
|
41
|
+
error: "#{e.class}: #{e.message}\n#{e.backtrace.join("\n")}"
|
|
42
|
+
)
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
require_relative 'runtime'
|
|
2
|
+
|
|
3
|
+
module Pulumi
|
|
4
|
+
class Resource
|
|
5
|
+
attr_reader :urn
|
|
6
|
+
|
|
7
|
+
def initialize(type, name, custom: false, parent: nil, props: {}, opts: {})
|
|
8
|
+
monitor = Runtime.monitor
|
|
9
|
+
raise 'Monitor not initialized' unless monitor
|
|
10
|
+
|
|
11
|
+
response = monitor.register_resource(
|
|
12
|
+
Pulumirpc::RegisterResourceRequest.new(
|
|
13
|
+
type: type,
|
|
14
|
+
name: name,
|
|
15
|
+
custom: custom,
|
|
16
|
+
parent: parent&.urn.to_s
|
|
17
|
+
)
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
@urn = response.urn
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|