Add Python generation to our Protobufs/gRPC interfaces

Part of pulumi/pulumi#754.
This commit is contained in:
joeduffy 2017-12-21 09:24:48 -08:00
parent 2eda90d67b
commit 8417955ddb
13 changed files with 2191 additions and 10 deletions

View file

@ -12,7 +12,9 @@
# go get -u github.com/golang/protobuf/{proto,protoc-gen-go}
# 4) Install the Node.js gRPC SDK, which includes the gRPC Node.js compiler plugin
# npm install -g grpc-tools
# and add the `grpc_tools_node_protoc_plugin` binary to your PATH.
# and add the `grpc_tools_node_protoc_plugin` binary to your PATH.a
# 5) Install the Python gRPC SDK, which includes the gRPC Python compiler plugin
# python -m pip install grpcio grpcio-tools
#
# The results are checked into bin/; at this moment, they need to be copied to their final destinations manually.
set -e
@ -21,17 +23,21 @@ PROTOC=$(which protoc || { >&2 echo "error: Protobuf compiler (protoc) not found
echo Generating Protobuf/gRPC SDK files:
GO_LUMIRPC=./go
GO_PULUMIRPC=./go
GO_PROTOFLAGS="plugins=grpc"
echo -e "\tGo: $GO_LUMIRPC [$GO_PROTOFLAGS]"
mkdir -p $GO_LUMIRPC
$PROTOC --go_out=$GO_PROTOFLAGS:$GO_LUMIRPC *.proto
echo -e "\tGo: $GO_PULUMIRPC [$GO_PROTOFLAGS]"
mkdir -p $GO_PULUMIRPC
$PROTOC --go_out=$GO_PROTOFLAGS:$GO_PULUMIRPC *.proto
JS_LUMIRPC=./nodejs
JS_PULUMIRPC=./nodejs
JS_PROTOFLAGS="import_style=commonjs,binary"
echo -e "\tJS: $JS_LUMIRPC [$JS_PROTOFLAGS]"
mkdir -p $JS_LUMIRPC
$PROTOC --js_out=$JS_PROTOFLAGS:$JS_LUMIRPC --grpc_out=$JS_LUMIRPC --plugin=protoc-gen-grpc=`which grpc_tools_node_protoc_plugin` *.proto
echo -e "\tJS: $JS_PULUMIRPC [$JS_PROTOFLAGS]"
mkdir -p $JS_PULUMIRPC
$PROTOC --js_out=$JS_PROTOFLAGS:$JS_PULUMIRPC --grpc_out=$JS_PULUMIRPC --plugin=protoc-gen-grpc=`which grpc_tools_node_protoc_plugin` *.proto
PY_PULUMIRPC=./python
echo -e "\tPython: $PY_PULUMIRPC"
mkdir -p $PY_PULUMIRPC
python -m grpc_tools.protoc -I./ --python_out=$PY_PULUMIRPC --grpc_python_out=$PY_PULUMIRPC *.proto
echo Done.

View file

@ -0,0 +1,200 @@
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: analyzer.proto
import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default()
import plugin_pb2 as plugin__pb2
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
DESCRIPTOR = _descriptor.FileDescriptor(
name='analyzer.proto',
package='pulumirpc',
syntax='proto3',
serialized_pb=_b('\n\x0e\x61nalyzer.proto\x12\tpulumirpc\x1a\x0cplugin.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\"K\n\x0e\x41nalyzeRequest\x12\x0c\n\x04type\x18\x01 \x01(\t\x12+\n\nproperties\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\">\n\x0f\x41nalyzeResponse\x12+\n\x08\x66\x61ilures\x18\x01 \x03(\x0b\x32\x19.pulumirpc.AnalyzeFailure\"2\n\x0e\x41nalyzeFailure\x12\x10\n\x08property\x18\x01 \x01(\t\x12\x0e\n\x06reason\x18\x02 \x01(\t2\x90\x01\n\x08\x41nalyzer\x12\x42\n\x07\x41nalyze\x12\x19.pulumirpc.AnalyzeRequest\x1a\x1a.pulumirpc.AnalyzeResponse\"\x00\x12@\n\rGetPluginInfo\x12\x16.google.protobuf.Empty\x1a\x15.pulumirpc.PluginInfo\"\x00\x62\x06proto3')
,
dependencies=[plugin__pb2.DESCRIPTOR,google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,google_dot_protobuf_dot_struct__pb2.DESCRIPTOR,])
_ANALYZEREQUEST = _descriptor.Descriptor(
name='AnalyzeRequest',
full_name='pulumirpc.AnalyzeRequest',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='type', full_name='pulumirpc.AnalyzeRequest.type', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='properties', full_name='pulumirpc.AnalyzeRequest.properties', index=1,
number=2, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=102,
serialized_end=177,
)
_ANALYZERESPONSE = _descriptor.Descriptor(
name='AnalyzeResponse',
full_name='pulumirpc.AnalyzeResponse',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='failures', full_name='pulumirpc.AnalyzeResponse.failures', index=0,
number=1, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=179,
serialized_end=241,
)
_ANALYZEFAILURE = _descriptor.Descriptor(
name='AnalyzeFailure',
full_name='pulumirpc.AnalyzeFailure',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='property', full_name='pulumirpc.AnalyzeFailure.property', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='reason', full_name='pulumirpc.AnalyzeFailure.reason', index=1,
number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=243,
serialized_end=293,
)
_ANALYZEREQUEST.fields_by_name['properties'].message_type = google_dot_protobuf_dot_struct__pb2._STRUCT
_ANALYZERESPONSE.fields_by_name['failures'].message_type = _ANALYZEFAILURE
DESCRIPTOR.message_types_by_name['AnalyzeRequest'] = _ANALYZEREQUEST
DESCRIPTOR.message_types_by_name['AnalyzeResponse'] = _ANALYZERESPONSE
DESCRIPTOR.message_types_by_name['AnalyzeFailure'] = _ANALYZEFAILURE
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
AnalyzeRequest = _reflection.GeneratedProtocolMessageType('AnalyzeRequest', (_message.Message,), dict(
DESCRIPTOR = _ANALYZEREQUEST,
__module__ = 'analyzer_pb2'
# @@protoc_insertion_point(class_scope:pulumirpc.AnalyzeRequest)
))
_sym_db.RegisterMessage(AnalyzeRequest)
AnalyzeResponse = _reflection.GeneratedProtocolMessageType('AnalyzeResponse', (_message.Message,), dict(
DESCRIPTOR = _ANALYZERESPONSE,
__module__ = 'analyzer_pb2'
# @@protoc_insertion_point(class_scope:pulumirpc.AnalyzeResponse)
))
_sym_db.RegisterMessage(AnalyzeResponse)
AnalyzeFailure = _reflection.GeneratedProtocolMessageType('AnalyzeFailure', (_message.Message,), dict(
DESCRIPTOR = _ANALYZEFAILURE,
__module__ = 'analyzer_pb2'
# @@protoc_insertion_point(class_scope:pulumirpc.AnalyzeFailure)
))
_sym_db.RegisterMessage(AnalyzeFailure)
_ANALYZER = _descriptor.ServiceDescriptor(
name='Analyzer',
full_name='pulumirpc.Analyzer',
file=DESCRIPTOR,
index=0,
options=None,
serialized_start=296,
serialized_end=440,
methods=[
_descriptor.MethodDescriptor(
name='Analyze',
full_name='pulumirpc.Analyzer.Analyze',
index=0,
containing_service=None,
input_type=_ANALYZEREQUEST,
output_type=_ANALYZERESPONSE,
options=None,
),
_descriptor.MethodDescriptor(
name='GetPluginInfo',
full_name='pulumirpc.Analyzer.GetPluginInfo',
index=1,
containing_service=None,
input_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
output_type=plugin__pb2._PLUGININFO,
options=None,
),
])
_sym_db.RegisterServiceDescriptor(_ANALYZER)
DESCRIPTOR.services_by_name['Analyzer'] = _ANALYZER
# @@protoc_insertion_point(module_scope)

View file

@ -0,0 +1,67 @@
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
import grpc
import analyzer_pb2 as analyzer__pb2
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
import plugin_pb2 as plugin__pb2
class AnalyzerStub(object):
"""Analyzer is a pluggable service that checks entire projects/stacks/snapshots, and/or individual resources,
for arbitrary issues. These might be style, policy, correctness, security, or performance related.
"""
def __init__(self, channel):
"""Constructor.
Args:
channel: A grpc.Channel.
"""
self.Analyze = channel.unary_unary(
'/pulumirpc.Analyzer/Analyze',
request_serializer=analyzer__pb2.AnalyzeRequest.SerializeToString,
response_deserializer=analyzer__pb2.AnalyzeResponse.FromString,
)
self.GetPluginInfo = channel.unary_unary(
'/pulumirpc.Analyzer/GetPluginInfo',
request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
response_deserializer=plugin__pb2.PluginInfo.FromString,
)
class AnalyzerServicer(object):
"""Analyzer is a pluggable service that checks entire projects/stacks/snapshots, and/or individual resources,
for arbitrary issues. These might be style, policy, correctness, security, or performance related.
"""
def Analyze(self, request, context):
"""Analyze analyzes a single resource object, and returns any errors that it finds.
"""
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!')
def GetPluginInfo(self, request, context):
"""GetPluginInfo returns generic information about this plugin, like its version.
"""
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!')
def add_AnalyzerServicer_to_server(servicer, server):
rpc_method_handlers = {
'Analyze': grpc.unary_unary_rpc_method_handler(
servicer.Analyze,
request_deserializer=analyzer__pb2.AnalyzeRequest.FromString,
response_serializer=analyzer__pb2.AnalyzeResponse.SerializeToString,
),
'GetPluginInfo': grpc.unary_unary_rpc_method_handler(
servicer.GetPluginInfo,
request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
response_serializer=plugin__pb2.PluginInfo.SerializeToString,
),
}
generic_handler = grpc.method_handlers_generic_handler(
'pulumirpc.Analyzer', rpc_method_handlers)
server.add_generic_rpc_handlers((generic_handler,))

View file

@ -0,0 +1,140 @@
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: engine.proto
import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf.internal import enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default()
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
DESCRIPTOR = _descriptor.FileDescriptor(
name='engine.proto',
package='pulumirpc',
syntax='proto3',
serialized_pb=_b('\n\x0c\x65ngine.proto\x12\tpulumirpc\x1a\x1bgoogle/protobuf/empty.proto\"G\n\nLogRequest\x12(\n\x08severity\x18\x01 \x01(\x0e\x32\x16.pulumirpc.LogSeverity\x12\x0f\n\x07message\x18\x02 \x01(\t*:\n\x0bLogSeverity\x12\t\n\x05\x44\x45\x42UG\x10\x00\x12\x08\n\x04INFO\x10\x01\x12\x0b\n\x07WARNING\x10\x02\x12\t\n\x05\x45RROR\x10\x03\x32@\n\x06\x45ngine\x12\x36\n\x03Log\x12\x15.pulumirpc.LogRequest\x1a\x16.google.protobuf.Empty\"\x00\x62\x06proto3')
,
dependencies=[google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,])
_LOGSEVERITY = _descriptor.EnumDescriptor(
name='LogSeverity',
full_name='pulumirpc.LogSeverity',
filename=None,
file=DESCRIPTOR,
values=[
_descriptor.EnumValueDescriptor(
name='DEBUG', index=0, number=0,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='INFO', index=1, number=1,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='WARNING', index=2, number=2,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='ERROR', index=3, number=3,
options=None,
type=None),
],
containing_type=None,
options=None,
serialized_start=129,
serialized_end=187,
)
_sym_db.RegisterEnumDescriptor(_LOGSEVERITY)
LogSeverity = enum_type_wrapper.EnumTypeWrapper(_LOGSEVERITY)
DEBUG = 0
INFO = 1
WARNING = 2
ERROR = 3
_LOGREQUEST = _descriptor.Descriptor(
name='LogRequest',
full_name='pulumirpc.LogRequest',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='severity', full_name='pulumirpc.LogRequest.severity', index=0,
number=1, type=14, cpp_type=8, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='message', full_name='pulumirpc.LogRequest.message', index=1,
number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=56,
serialized_end=127,
)
_LOGREQUEST.fields_by_name['severity'].enum_type = _LOGSEVERITY
DESCRIPTOR.message_types_by_name['LogRequest'] = _LOGREQUEST
DESCRIPTOR.enum_types_by_name['LogSeverity'] = _LOGSEVERITY
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
LogRequest = _reflection.GeneratedProtocolMessageType('LogRequest', (_message.Message,), dict(
DESCRIPTOR = _LOGREQUEST,
__module__ = 'engine_pb2'
# @@protoc_insertion_point(class_scope:pulumirpc.LogRequest)
))
_sym_db.RegisterMessage(LogRequest)
_ENGINE = _descriptor.ServiceDescriptor(
name='Engine',
full_name='pulumirpc.Engine',
file=DESCRIPTOR,
index=0,
options=None,
serialized_start=189,
serialized_end=253,
methods=[
_descriptor.MethodDescriptor(
name='Log',
full_name='pulumirpc.Engine.Log',
index=0,
containing_service=None,
input_type=_LOGREQUEST,
output_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
options=None,
),
])
_sym_db.RegisterServiceDescriptor(_ENGINE)
DESCRIPTOR.services_by_name['Engine'] = _ENGINE
# @@protoc_insertion_point(module_scope)

View file

@ -0,0 +1,47 @@
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
import grpc
import engine_pb2 as engine__pb2
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
class EngineStub(object):
"""Engine is an interface into the core engine responsible for orchestrating resource operations.
"""
def __init__(self, channel):
"""Constructor.
Args:
channel: A grpc.Channel.
"""
self.Log = channel.unary_unary(
'/pulumirpc.Engine/Log',
request_serializer=engine__pb2.LogRequest.SerializeToString,
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
)
class EngineServicer(object):
"""Engine is an interface into the core engine responsible for orchestrating resource operations.
"""
def Log(self, request, context):
"""Log logs a global message in the engine, including errors and warnings.
"""
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!')
def add_EngineServicer_to_server(servicer, server):
rpc_method_handlers = {
'Log': grpc.unary_unary_rpc_method_handler(
servicer.Log,
request_deserializer=engine__pb2.LogRequest.FromString,
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
),
}
generic_handler = grpc.method_handlers_generic_handler(
'pulumirpc.Engine', rpc_method_handlers)
server.add_generic_rpc_handlers((generic_handler,))

View file

@ -0,0 +1,242 @@
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: language.proto
import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default()
import plugin_pb2 as plugin__pb2
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
DESCRIPTOR = _descriptor.FileDescriptor(
name='language.proto',
package='pulumirpc',
syntax='proto3',
serialized_pb=_b('\n\x0elanguage.proto\x12\tpulumirpc\x1a\x0cplugin.proto\x1a\x1bgoogle/protobuf/empty.proto\"\xdc\x01\n\nRunRequest\x12\x0f\n\x07project\x18\x01 \x01(\t\x12\r\n\x05stack\x18\x02 \x01(\t\x12\x0b\n\x03pwd\x18\x03 \x01(\t\x12\x0f\n\x07program\x18\x04 \x01(\t\x12\x0c\n\x04\x61rgs\x18\x05 \x03(\t\x12\x31\n\x06\x63onfig\x18\x06 \x03(\x0b\x32!.pulumirpc.RunRequest.ConfigEntry\x12\x0e\n\x06\x64ryRun\x18\x07 \x01(\x08\x12\x10\n\x08parallel\x18\x08 \x01(\x05\x1a-\n\x0b\x43onfigEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x1c\n\x0bRunResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t2\x8b\x01\n\x0fLanguageRuntime\x12\x36\n\x03Run\x12\x15.pulumirpc.RunRequest\x1a\x16.pulumirpc.RunResponse\"\x00\x12@\n\rGetPluginInfo\x12\x16.google.protobuf.Empty\x1a\x15.pulumirpc.PluginInfo\"\x00\x62\x06proto3')
,
dependencies=[plugin__pb2.DESCRIPTOR,google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,])
_RUNREQUEST_CONFIGENTRY = _descriptor.Descriptor(
name='ConfigEntry',
full_name='pulumirpc.RunRequest.ConfigEntry',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='key', full_name='pulumirpc.RunRequest.ConfigEntry.key', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='value', full_name='pulumirpc.RunRequest.ConfigEntry.value', index=1,
number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=248,
serialized_end=293,
)
_RUNREQUEST = _descriptor.Descriptor(
name='RunRequest',
full_name='pulumirpc.RunRequest',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='project', full_name='pulumirpc.RunRequest.project', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='stack', full_name='pulumirpc.RunRequest.stack', index=1,
number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='pwd', full_name='pulumirpc.RunRequest.pwd', index=2,
number=3, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='program', full_name='pulumirpc.RunRequest.program', index=3,
number=4, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='args', full_name='pulumirpc.RunRequest.args', index=4,
number=5, type=9, cpp_type=9, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='config', full_name='pulumirpc.RunRequest.config', index=5,
number=6, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='dryRun', full_name='pulumirpc.RunRequest.dryRun', index=6,
number=7, type=8, cpp_type=7, label=1,
has_default_value=False, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='parallel', full_name='pulumirpc.RunRequest.parallel', index=7,
number=8, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[_RUNREQUEST_CONFIGENTRY, ],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=73,
serialized_end=293,
)
_RUNRESPONSE = _descriptor.Descriptor(
name='RunResponse',
full_name='pulumirpc.RunResponse',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='error', full_name='pulumirpc.RunResponse.error', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=295,
serialized_end=323,
)
_RUNREQUEST_CONFIGENTRY.containing_type = _RUNREQUEST
_RUNREQUEST.fields_by_name['config'].message_type = _RUNREQUEST_CONFIGENTRY
DESCRIPTOR.message_types_by_name['RunRequest'] = _RUNREQUEST
DESCRIPTOR.message_types_by_name['RunResponse'] = _RUNRESPONSE
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
RunRequest = _reflection.GeneratedProtocolMessageType('RunRequest', (_message.Message,), dict(
ConfigEntry = _reflection.GeneratedProtocolMessageType('ConfigEntry', (_message.Message,), dict(
DESCRIPTOR = _RUNREQUEST_CONFIGENTRY,
__module__ = 'language_pb2'
# @@protoc_insertion_point(class_scope:pulumirpc.RunRequest.ConfigEntry)
))
,
DESCRIPTOR = _RUNREQUEST,
__module__ = 'language_pb2'
# @@protoc_insertion_point(class_scope:pulumirpc.RunRequest)
))
_sym_db.RegisterMessage(RunRequest)
_sym_db.RegisterMessage(RunRequest.ConfigEntry)
RunResponse = _reflection.GeneratedProtocolMessageType('RunResponse', (_message.Message,), dict(
DESCRIPTOR = _RUNRESPONSE,
__module__ = 'language_pb2'
# @@protoc_insertion_point(class_scope:pulumirpc.RunResponse)
))
_sym_db.RegisterMessage(RunResponse)
_RUNREQUEST_CONFIGENTRY.has_options = True
_RUNREQUEST_CONFIGENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
_LANGUAGERUNTIME = _descriptor.ServiceDescriptor(
name='LanguageRuntime',
full_name='pulumirpc.LanguageRuntime',
file=DESCRIPTOR,
index=0,
options=None,
serialized_start=326,
serialized_end=465,
methods=[
_descriptor.MethodDescriptor(
name='Run',
full_name='pulumirpc.LanguageRuntime.Run',
index=0,
containing_service=None,
input_type=_RUNREQUEST,
output_type=_RUNRESPONSE,
options=None,
),
_descriptor.MethodDescriptor(
name='GetPluginInfo',
full_name='pulumirpc.LanguageRuntime.GetPluginInfo',
index=1,
containing_service=None,
input_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
output_type=plugin__pb2._PLUGININFO,
options=None,
),
])
_sym_db.RegisterServiceDescriptor(_LANGUAGERUNTIME)
DESCRIPTOR.services_by_name['LanguageRuntime'] = _LANGUAGERUNTIME
# @@protoc_insertion_point(module_scope)

View file

@ -0,0 +1,67 @@
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
import grpc
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
import language_pb2 as language__pb2
import plugin_pb2 as plugin__pb2
class LanguageRuntimeStub(object):
"""LanguageRuntime is the interface that the planning monitor uses to drive execution of an interpreter responsible
for confguring and creating resource objects.
"""
def __init__(self, channel):
"""Constructor.
Args:
channel: A grpc.Channel.
"""
self.Run = channel.unary_unary(
'/pulumirpc.LanguageRuntime/Run',
request_serializer=language__pb2.RunRequest.SerializeToString,
response_deserializer=language__pb2.RunResponse.FromString,
)
self.GetPluginInfo = channel.unary_unary(
'/pulumirpc.LanguageRuntime/GetPluginInfo',
request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
response_deserializer=plugin__pb2.PluginInfo.FromString,
)
class LanguageRuntimeServicer(object):
"""LanguageRuntime is the interface that the planning monitor uses to drive execution of an interpreter responsible
for confguring and creating resource objects.
"""
def Run(self, request, context):
# missing associated documentation comment in .proto file
pass
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!')
def GetPluginInfo(self, request, context):
"""GetPluginInfo returns generic information about this plugin, like its version.
"""
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!')
def add_LanguageRuntimeServicer_to_server(servicer, server):
rpc_method_handlers = {
'Run': grpc.unary_unary_rpc_method_handler(
servicer.Run,
request_deserializer=language__pb2.RunRequest.FromString,
response_serializer=language__pb2.RunResponse.SerializeToString,
),
'GetPluginInfo': grpc.unary_unary_rpc_method_handler(
servicer.GetPluginInfo,
request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
response_serializer=plugin__pb2.PluginInfo.SerializeToString,
),
}
generic_handler = grpc.method_handlers_generic_handler(
'pulumirpc.LanguageRuntime', rpc_method_handlers)
server.add_generic_rpc_handlers((generic_handler,))

View file

@ -0,0 +1,69 @@
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: plugin.proto
import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default()
DESCRIPTOR = _descriptor.FileDescriptor(
name='plugin.proto',
package='pulumirpc',
syntax='proto3',
serialized_pb=_b('\n\x0cplugin.proto\x12\tpulumirpc\"\x1d\n\nPluginInfo\x12\x0f\n\x07version\x18\x01 \x01(\tb\x06proto3')
)
_PLUGININFO = _descriptor.Descriptor(
name='PluginInfo',
full_name='pulumirpc.PluginInfo',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='version', full_name='pulumirpc.PluginInfo.version', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=27,
serialized_end=56,
)
DESCRIPTOR.message_types_by_name['PluginInfo'] = _PLUGININFO
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
PluginInfo = _reflection.GeneratedProtocolMessageType('PluginInfo', (_message.Message,), dict(
DESCRIPTOR = _PLUGININFO,
__module__ = 'plugin_pb2'
# @@protoc_insertion_point(class_scope:pulumirpc.PluginInfo)
))
_sym_db.RegisterMessage(PluginInfo)
# @@protoc_insertion_point(module_scope)

View file

@ -0,0 +1,3 @@
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
import grpc

View file

@ -0,0 +1,818 @@
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: provider.proto
import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default()
import plugin_pb2 as plugin__pb2
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
DESCRIPTOR = _descriptor.FileDescriptor(
name='provider.proto',
package='pulumirpc',
syntax='proto3',
serialized_pb=_b('\n\x0eprovider.proto\x12\tpulumirpc\x1a\x0cplugin.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\"\x83\x01\n\x10\x43onfigureRequest\x12=\n\tvariables\x18\x01 \x03(\x0b\x32*.pulumirpc.ConfigureRequest.VariablesEntry\x1a\x30\n\x0eVariablesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"C\n\rInvokeRequest\x12\x0b\n\x03tok\x18\x01 \x01(\t\x12%\n\x04\x61rgs\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\"d\n\x0eInvokeResponse\x12\'\n\x06return\x18\x01 \x01(\x0b\x32\x17.google.protobuf.Struct\x12)\n\x08\x66\x61ilures\x18\x02 \x03(\x0b\x32\x17.pulumirpc.CheckFailure\"i\n\x0c\x43heckRequest\x12\x0b\n\x03urn\x18\x01 \x01(\t\x12%\n\x04olds\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12%\n\x04news\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\"c\n\rCheckResponse\x12\'\n\x06inputs\x18\x01 \x01(\x0b\x32\x17.google.protobuf.Struct\x12)\n\x08\x66\x61ilures\x18\x02 \x03(\x0b\x32\x17.pulumirpc.CheckFailure\"0\n\x0c\x43heckFailure\x12\x10\n\x08property\x18\x01 \x01(\t\x12\x0e\n\x06reason\x18\x02 \x01(\t\"t\n\x0b\x44iffRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0b\n\x03urn\x18\x02 \x01(\t\x12%\n\x04olds\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12%\n\x04news\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\"N\n\x0c\x44iffResponse\x12\x10\n\x08replaces\x18\x01 \x03(\t\x12\x0f\n\x07stables\x18\x02 \x03(\t\x12\x1b\n\x13\x64\x65leteBeforeReplace\x18\x03 \x01(\x08\"I\n\rCreateRequest\x12\x0b\n\x03urn\x18\x01 \x01(\t\x12+\n\nproperties\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\"I\n\x0e\x43reateResponse\x12\n\n\x02id\x18\x01 \x01(\t\x12+\n\nproperties\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\"v\n\rUpdateRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0b\n\x03urn\x18\x02 \x01(\t\x12%\n\x04olds\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12%\n\x04news\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\"=\n\x0eUpdateResponse\x12+\n\nproperties\x18\x01 \x01(\x0b\x32\x17.google.protobuf.Struct\"U\n\rDeleteRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0b\n\x03urn\x18\x02 \x01(\t\x12+\n\nproperties\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct2\x92\x04\n\x10ResourceProvider\x12\x42\n\tConfigure\x12\x1b.pulumirpc.ConfigureRequest\x1a\x16.google.protobuf.Empty\"\x00\x12?\n\x06Invoke\x12\x18.pulumirpc.InvokeRequest\x1a\x19.pulumirpc.InvokeResponse\"\x00\x12<\n\x05\x43heck\x12\x17.pulumirpc.CheckRequest\x1a\x18.pulumirpc.CheckResponse\"\x00\x12\x39\n\x04\x44iff\x12\x16.pulumirpc.DiffRequest\x1a\x17.pulumirpc.DiffResponse\"\x00\x12?\n\x06\x43reate\x12\x18.pulumirpc.CreateRequest\x1a\x19.pulumirpc.CreateResponse\"\x00\x12?\n\x06Update\x12\x18.pulumirpc.UpdateRequest\x1a\x19.pulumirpc.UpdateResponse\"\x00\x12<\n\x06\x44\x65lete\x12\x18.pulumirpc.DeleteRequest\x1a\x16.google.protobuf.Empty\"\x00\x12@\n\rGetPluginInfo\x12\x16.google.protobuf.Empty\x1a\x15.pulumirpc.PluginInfo\"\x00\x62\x06proto3')
,
dependencies=[plugin__pb2.DESCRIPTOR,google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,google_dot_protobuf_dot_struct__pb2.DESCRIPTOR,])
_CONFIGUREREQUEST_VARIABLESENTRY = _descriptor.Descriptor(
name='VariablesEntry',
full_name='pulumirpc.ConfigureRequest.VariablesEntry',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='key', full_name='pulumirpc.ConfigureRequest.VariablesEntry.key', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='value', full_name='pulumirpc.ConfigureRequest.VariablesEntry.value', index=1,
number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=186,
serialized_end=234,
)
_CONFIGUREREQUEST = _descriptor.Descriptor(
name='ConfigureRequest',
full_name='pulumirpc.ConfigureRequest',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='variables', full_name='pulumirpc.ConfigureRequest.variables', index=0,
number=1, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[_CONFIGUREREQUEST_VARIABLESENTRY, ],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=103,
serialized_end=234,
)
_INVOKEREQUEST = _descriptor.Descriptor(
name='InvokeRequest',
full_name='pulumirpc.InvokeRequest',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='tok', full_name='pulumirpc.InvokeRequest.tok', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='args', full_name='pulumirpc.InvokeRequest.args', index=1,
number=2, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=236,
serialized_end=303,
)
_INVOKERESPONSE = _descriptor.Descriptor(
name='InvokeResponse',
full_name='pulumirpc.InvokeResponse',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='return', full_name='pulumirpc.InvokeResponse.return', index=0,
number=1, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='failures', full_name='pulumirpc.InvokeResponse.failures', index=1,
number=2, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=305,
serialized_end=405,
)
_CHECKREQUEST = _descriptor.Descriptor(
name='CheckRequest',
full_name='pulumirpc.CheckRequest',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='urn', full_name='pulumirpc.CheckRequest.urn', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='olds', full_name='pulumirpc.CheckRequest.olds', index=1,
number=2, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='news', full_name='pulumirpc.CheckRequest.news', index=2,
number=3, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=407,
serialized_end=512,
)
_CHECKRESPONSE = _descriptor.Descriptor(
name='CheckResponse',
full_name='pulumirpc.CheckResponse',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='inputs', full_name='pulumirpc.CheckResponse.inputs', index=0,
number=1, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='failures', full_name='pulumirpc.CheckResponse.failures', index=1,
number=2, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=514,
serialized_end=613,
)
_CHECKFAILURE = _descriptor.Descriptor(
name='CheckFailure',
full_name='pulumirpc.CheckFailure',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='property', full_name='pulumirpc.CheckFailure.property', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='reason', full_name='pulumirpc.CheckFailure.reason', index=1,
number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=615,
serialized_end=663,
)
_DIFFREQUEST = _descriptor.Descriptor(
name='DiffRequest',
full_name='pulumirpc.DiffRequest',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='id', full_name='pulumirpc.DiffRequest.id', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='urn', full_name='pulumirpc.DiffRequest.urn', index=1,
number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='olds', full_name='pulumirpc.DiffRequest.olds', index=2,
number=3, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='news', full_name='pulumirpc.DiffRequest.news', index=3,
number=4, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=665,
serialized_end=781,
)
_DIFFRESPONSE = _descriptor.Descriptor(
name='DiffResponse',
full_name='pulumirpc.DiffResponse',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='replaces', full_name='pulumirpc.DiffResponse.replaces', index=0,
number=1, type=9, cpp_type=9, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='stables', full_name='pulumirpc.DiffResponse.stables', index=1,
number=2, type=9, cpp_type=9, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='deleteBeforeReplace', full_name='pulumirpc.DiffResponse.deleteBeforeReplace', index=2,
number=3, type=8, cpp_type=7, label=1,
has_default_value=False, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=783,
serialized_end=861,
)
_CREATEREQUEST = _descriptor.Descriptor(
name='CreateRequest',
full_name='pulumirpc.CreateRequest',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='urn', full_name='pulumirpc.CreateRequest.urn', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='properties', full_name='pulumirpc.CreateRequest.properties', index=1,
number=2, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=863,
serialized_end=936,
)
_CREATERESPONSE = _descriptor.Descriptor(
name='CreateResponse',
full_name='pulumirpc.CreateResponse',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='id', full_name='pulumirpc.CreateResponse.id', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='properties', full_name='pulumirpc.CreateResponse.properties', index=1,
number=2, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=938,
serialized_end=1011,
)
_UPDATEREQUEST = _descriptor.Descriptor(
name='UpdateRequest',
full_name='pulumirpc.UpdateRequest',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='id', full_name='pulumirpc.UpdateRequest.id', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='urn', full_name='pulumirpc.UpdateRequest.urn', index=1,
number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='olds', full_name='pulumirpc.UpdateRequest.olds', index=2,
number=3, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='news', full_name='pulumirpc.UpdateRequest.news', index=3,
number=4, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=1013,
serialized_end=1131,
)
_UPDATERESPONSE = _descriptor.Descriptor(
name='UpdateResponse',
full_name='pulumirpc.UpdateResponse',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='properties', full_name='pulumirpc.UpdateResponse.properties', index=0,
number=1, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=1133,
serialized_end=1194,
)
_DELETEREQUEST = _descriptor.Descriptor(
name='DeleteRequest',
full_name='pulumirpc.DeleteRequest',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='id', full_name='pulumirpc.DeleteRequest.id', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='urn', full_name='pulumirpc.DeleteRequest.urn', index=1,
number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='properties', full_name='pulumirpc.DeleteRequest.properties', index=2,
number=3, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=1196,
serialized_end=1281,
)
_CONFIGUREREQUEST_VARIABLESENTRY.containing_type = _CONFIGUREREQUEST
_CONFIGUREREQUEST.fields_by_name['variables'].message_type = _CONFIGUREREQUEST_VARIABLESENTRY
_INVOKEREQUEST.fields_by_name['args'].message_type = google_dot_protobuf_dot_struct__pb2._STRUCT
_INVOKERESPONSE.fields_by_name['return'].message_type = google_dot_protobuf_dot_struct__pb2._STRUCT
_INVOKERESPONSE.fields_by_name['failures'].message_type = _CHECKFAILURE
_CHECKREQUEST.fields_by_name['olds'].message_type = google_dot_protobuf_dot_struct__pb2._STRUCT
_CHECKREQUEST.fields_by_name['news'].message_type = google_dot_protobuf_dot_struct__pb2._STRUCT
_CHECKRESPONSE.fields_by_name['inputs'].message_type = google_dot_protobuf_dot_struct__pb2._STRUCT
_CHECKRESPONSE.fields_by_name['failures'].message_type = _CHECKFAILURE
_DIFFREQUEST.fields_by_name['olds'].message_type = google_dot_protobuf_dot_struct__pb2._STRUCT
_DIFFREQUEST.fields_by_name['news'].message_type = google_dot_protobuf_dot_struct__pb2._STRUCT
_CREATEREQUEST.fields_by_name['properties'].message_type = google_dot_protobuf_dot_struct__pb2._STRUCT
_CREATERESPONSE.fields_by_name['properties'].message_type = google_dot_protobuf_dot_struct__pb2._STRUCT
_UPDATEREQUEST.fields_by_name['olds'].message_type = google_dot_protobuf_dot_struct__pb2._STRUCT
_UPDATEREQUEST.fields_by_name['news'].message_type = google_dot_protobuf_dot_struct__pb2._STRUCT
_UPDATERESPONSE.fields_by_name['properties'].message_type = google_dot_protobuf_dot_struct__pb2._STRUCT
_DELETEREQUEST.fields_by_name['properties'].message_type = google_dot_protobuf_dot_struct__pb2._STRUCT
DESCRIPTOR.message_types_by_name['ConfigureRequest'] = _CONFIGUREREQUEST
DESCRIPTOR.message_types_by_name['InvokeRequest'] = _INVOKEREQUEST
DESCRIPTOR.message_types_by_name['InvokeResponse'] = _INVOKERESPONSE
DESCRIPTOR.message_types_by_name['CheckRequest'] = _CHECKREQUEST
DESCRIPTOR.message_types_by_name['CheckResponse'] = _CHECKRESPONSE
DESCRIPTOR.message_types_by_name['CheckFailure'] = _CHECKFAILURE
DESCRIPTOR.message_types_by_name['DiffRequest'] = _DIFFREQUEST
DESCRIPTOR.message_types_by_name['DiffResponse'] = _DIFFRESPONSE
DESCRIPTOR.message_types_by_name['CreateRequest'] = _CREATEREQUEST
DESCRIPTOR.message_types_by_name['CreateResponse'] = _CREATERESPONSE
DESCRIPTOR.message_types_by_name['UpdateRequest'] = _UPDATEREQUEST
DESCRIPTOR.message_types_by_name['UpdateResponse'] = _UPDATERESPONSE
DESCRIPTOR.message_types_by_name['DeleteRequest'] = _DELETEREQUEST
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
ConfigureRequest = _reflection.GeneratedProtocolMessageType('ConfigureRequest', (_message.Message,), dict(
VariablesEntry = _reflection.GeneratedProtocolMessageType('VariablesEntry', (_message.Message,), dict(
DESCRIPTOR = _CONFIGUREREQUEST_VARIABLESENTRY,
__module__ = 'provider_pb2'
# @@protoc_insertion_point(class_scope:pulumirpc.ConfigureRequest.VariablesEntry)
))
,
DESCRIPTOR = _CONFIGUREREQUEST,
__module__ = 'provider_pb2'
# @@protoc_insertion_point(class_scope:pulumirpc.ConfigureRequest)
))
_sym_db.RegisterMessage(ConfigureRequest)
_sym_db.RegisterMessage(ConfigureRequest.VariablesEntry)
InvokeRequest = _reflection.GeneratedProtocolMessageType('InvokeRequest', (_message.Message,), dict(
DESCRIPTOR = _INVOKEREQUEST,
__module__ = 'provider_pb2'
# @@protoc_insertion_point(class_scope:pulumirpc.InvokeRequest)
))
_sym_db.RegisterMessage(InvokeRequest)
InvokeResponse = _reflection.GeneratedProtocolMessageType('InvokeResponse', (_message.Message,), dict(
DESCRIPTOR = _INVOKERESPONSE,
__module__ = 'provider_pb2'
# @@protoc_insertion_point(class_scope:pulumirpc.InvokeResponse)
))
_sym_db.RegisterMessage(InvokeResponse)
CheckRequest = _reflection.GeneratedProtocolMessageType('CheckRequest', (_message.Message,), dict(
DESCRIPTOR = _CHECKREQUEST,
__module__ = 'provider_pb2'
# @@protoc_insertion_point(class_scope:pulumirpc.CheckRequest)
))
_sym_db.RegisterMessage(CheckRequest)
CheckResponse = _reflection.GeneratedProtocolMessageType('CheckResponse', (_message.Message,), dict(
DESCRIPTOR = _CHECKRESPONSE,
__module__ = 'provider_pb2'
# @@protoc_insertion_point(class_scope:pulumirpc.CheckResponse)
))
_sym_db.RegisterMessage(CheckResponse)
CheckFailure = _reflection.GeneratedProtocolMessageType('CheckFailure', (_message.Message,), dict(
DESCRIPTOR = _CHECKFAILURE,
__module__ = 'provider_pb2'
# @@protoc_insertion_point(class_scope:pulumirpc.CheckFailure)
))
_sym_db.RegisterMessage(CheckFailure)
DiffRequest = _reflection.GeneratedProtocolMessageType('DiffRequest', (_message.Message,), dict(
DESCRIPTOR = _DIFFREQUEST,
__module__ = 'provider_pb2'
# @@protoc_insertion_point(class_scope:pulumirpc.DiffRequest)
))
_sym_db.RegisterMessage(DiffRequest)
DiffResponse = _reflection.GeneratedProtocolMessageType('DiffResponse', (_message.Message,), dict(
DESCRIPTOR = _DIFFRESPONSE,
__module__ = 'provider_pb2'
# @@protoc_insertion_point(class_scope:pulumirpc.DiffResponse)
))
_sym_db.RegisterMessage(DiffResponse)
CreateRequest = _reflection.GeneratedProtocolMessageType('CreateRequest', (_message.Message,), dict(
DESCRIPTOR = _CREATEREQUEST,
__module__ = 'provider_pb2'
# @@protoc_insertion_point(class_scope:pulumirpc.CreateRequest)
))
_sym_db.RegisterMessage(CreateRequest)
CreateResponse = _reflection.GeneratedProtocolMessageType('CreateResponse', (_message.Message,), dict(
DESCRIPTOR = _CREATERESPONSE,
__module__ = 'provider_pb2'
# @@protoc_insertion_point(class_scope:pulumirpc.CreateResponse)
))
_sym_db.RegisterMessage(CreateResponse)
UpdateRequest = _reflection.GeneratedProtocolMessageType('UpdateRequest', (_message.Message,), dict(
DESCRIPTOR = _UPDATEREQUEST,
__module__ = 'provider_pb2'
# @@protoc_insertion_point(class_scope:pulumirpc.UpdateRequest)
))
_sym_db.RegisterMessage(UpdateRequest)
UpdateResponse = _reflection.GeneratedProtocolMessageType('UpdateResponse', (_message.Message,), dict(
DESCRIPTOR = _UPDATERESPONSE,
__module__ = 'provider_pb2'
# @@protoc_insertion_point(class_scope:pulumirpc.UpdateResponse)
))
_sym_db.RegisterMessage(UpdateResponse)
DeleteRequest = _reflection.GeneratedProtocolMessageType('DeleteRequest', (_message.Message,), dict(
DESCRIPTOR = _DELETEREQUEST,
__module__ = 'provider_pb2'
# @@protoc_insertion_point(class_scope:pulumirpc.DeleteRequest)
))
_sym_db.RegisterMessage(DeleteRequest)
_CONFIGUREREQUEST_VARIABLESENTRY.has_options = True
_CONFIGUREREQUEST_VARIABLESENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
_RESOURCEPROVIDER = _descriptor.ServiceDescriptor(
name='ResourceProvider',
full_name='pulumirpc.ResourceProvider',
file=DESCRIPTOR,
index=0,
options=None,
serialized_start=1284,
serialized_end=1814,
methods=[
_descriptor.MethodDescriptor(
name='Configure',
full_name='pulumirpc.ResourceProvider.Configure',
index=0,
containing_service=None,
input_type=_CONFIGUREREQUEST,
output_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
options=None,
),
_descriptor.MethodDescriptor(
name='Invoke',
full_name='pulumirpc.ResourceProvider.Invoke',
index=1,
containing_service=None,
input_type=_INVOKEREQUEST,
output_type=_INVOKERESPONSE,
options=None,
),
_descriptor.MethodDescriptor(
name='Check',
full_name='pulumirpc.ResourceProvider.Check',
index=2,
containing_service=None,
input_type=_CHECKREQUEST,
output_type=_CHECKRESPONSE,
options=None,
),
_descriptor.MethodDescriptor(
name='Diff',
full_name='pulumirpc.ResourceProvider.Diff',
index=3,
containing_service=None,
input_type=_DIFFREQUEST,
output_type=_DIFFRESPONSE,
options=None,
),
_descriptor.MethodDescriptor(
name='Create',
full_name='pulumirpc.ResourceProvider.Create',
index=4,
containing_service=None,
input_type=_CREATEREQUEST,
output_type=_CREATERESPONSE,
options=None,
),
_descriptor.MethodDescriptor(
name='Update',
full_name='pulumirpc.ResourceProvider.Update',
index=5,
containing_service=None,
input_type=_UPDATEREQUEST,
output_type=_UPDATERESPONSE,
options=None,
),
_descriptor.MethodDescriptor(
name='Delete',
full_name='pulumirpc.ResourceProvider.Delete',
index=6,
containing_service=None,
input_type=_DELETEREQUEST,
output_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
options=None,
),
_descriptor.MethodDescriptor(
name='GetPluginInfo',
full_name='pulumirpc.ResourceProvider.GetPluginInfo',
index=7,
containing_service=None,
input_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
output_type=plugin__pb2._PLUGININFO,
options=None,
),
])
_sym_db.RegisterServiceDescriptor(_RESOURCEPROVIDER)
DESCRIPTOR.services_by_name['ResourceProvider'] = _RESOURCEPROVIDER
# @@protoc_insertion_point(module_scope)

View file

@ -0,0 +1,174 @@
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
import grpc
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
import plugin_pb2 as plugin__pb2
import provider_pb2 as provider__pb2
class ResourceProviderStub(object):
"""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.
"""
def __init__(self, channel):
"""Constructor.
Args:
channel: A grpc.Channel.
"""
self.Configure = channel.unary_unary(
'/pulumirpc.ResourceProvider/Configure',
request_serializer=provider__pb2.ConfigureRequest.SerializeToString,
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
)
self.Invoke = channel.unary_unary(
'/pulumirpc.ResourceProvider/Invoke',
request_serializer=provider__pb2.InvokeRequest.SerializeToString,
response_deserializer=provider__pb2.InvokeResponse.FromString,
)
self.Check = channel.unary_unary(
'/pulumirpc.ResourceProvider/Check',
request_serializer=provider__pb2.CheckRequest.SerializeToString,
response_deserializer=provider__pb2.CheckResponse.FromString,
)
self.Diff = channel.unary_unary(
'/pulumirpc.ResourceProvider/Diff',
request_serializer=provider__pb2.DiffRequest.SerializeToString,
response_deserializer=provider__pb2.DiffResponse.FromString,
)
self.Create = channel.unary_unary(
'/pulumirpc.ResourceProvider/Create',
request_serializer=provider__pb2.CreateRequest.SerializeToString,
response_deserializer=provider__pb2.CreateResponse.FromString,
)
self.Update = channel.unary_unary(
'/pulumirpc.ResourceProvider/Update',
request_serializer=provider__pb2.UpdateRequest.SerializeToString,
response_deserializer=provider__pb2.UpdateResponse.FromString,
)
self.Delete = channel.unary_unary(
'/pulumirpc.ResourceProvider/Delete',
request_serializer=provider__pb2.DeleteRequest.SerializeToString,
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
)
self.GetPluginInfo = channel.unary_unary(
'/pulumirpc.ResourceProvider/GetPluginInfo',
request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
response_deserializer=plugin__pb2.PluginInfo.FromString,
)
class ResourceProviderServicer(object):
"""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.
"""
def Configure(self, request, context):
"""Configure configures the resource provider with "globals" that control its behavior.
"""
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!')
def Invoke(self, request, context):
"""Invoke dynamically executes a built-in function in the provider.
"""
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!')
def Check(self, request, context):
"""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.
"""
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!')
def Diff(self, request, context):
"""Diff checks what impacts a hypothetical update will have on the resource's properties.
"""
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!')
def Create(self, request, context):
"""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 "transacational").
"""
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!')
def Update(self, request, context):
"""Update updates an existing resource with new values.
"""
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!')
def Delete(self, request, context):
"""Delete tears down an existing resource with the given ID. If it fails, the resource is assumed to still exist.
"""
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!')
def GetPluginInfo(self, request, context):
"""GetPluginInfo returns generic information about this plugin, like its version.
"""
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!')
def add_ResourceProviderServicer_to_server(servicer, server):
rpc_method_handlers = {
'Configure': grpc.unary_unary_rpc_method_handler(
servicer.Configure,
request_deserializer=provider__pb2.ConfigureRequest.FromString,
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
),
'Invoke': grpc.unary_unary_rpc_method_handler(
servicer.Invoke,
request_deserializer=provider__pb2.InvokeRequest.FromString,
response_serializer=provider__pb2.InvokeResponse.SerializeToString,
),
'Check': grpc.unary_unary_rpc_method_handler(
servicer.Check,
request_deserializer=provider__pb2.CheckRequest.FromString,
response_serializer=provider__pb2.CheckResponse.SerializeToString,
),
'Diff': grpc.unary_unary_rpc_method_handler(
servicer.Diff,
request_deserializer=provider__pb2.DiffRequest.FromString,
response_serializer=provider__pb2.DiffResponse.SerializeToString,
),
'Create': grpc.unary_unary_rpc_method_handler(
servicer.Create,
request_deserializer=provider__pb2.CreateRequest.FromString,
response_serializer=provider__pb2.CreateResponse.SerializeToString,
),
'Update': grpc.unary_unary_rpc_method_handler(
servicer.Update,
request_deserializer=provider__pb2.UpdateRequest.FromString,
response_serializer=provider__pb2.UpdateResponse.SerializeToString,
),
'Delete': grpc.unary_unary_rpc_method_handler(
servicer.Delete,
request_deserializer=provider__pb2.DeleteRequest.FromString,
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
),
'GetPluginInfo': grpc.unary_unary_rpc_method_handler(
servicer.GetPluginInfo,
request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
response_serializer=plugin__pb2.PluginInfo.SerializeToString,
),
}
generic_handler = grpc.method_handlers_generic_handler(
'pulumirpc.ResourceProvider', rpc_method_handlers)
server.add_generic_rpc_handlers((generic_handler,))

View file

@ -0,0 +1,266 @@
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: resource.proto
import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default()
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
import provider_pb2 as provider__pb2
DESCRIPTOR = _descriptor.FileDescriptor(
name='resource.proto',
package='pulumirpc',
syntax='proto3',
serialized_pb=_b('\n\x0eresource.proto\x12\tpulumirpc\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x0eprovider.proto\"\x8f\x01\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\x0f\n\x07protect\x18\x06 \x01(\x08\"}\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\"W\n\x1eRegisterResourceOutputsRequest\x12\x0b\n\x03urn\x18\x01 \x01(\t\x12(\n\x07outputs\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct2\x91\x02\n\x0fResourceMonitor\x12?\n\x06Invoke\x12\x18.pulumirpc.InvokeRequest\x1a\x19.pulumirpc.InvokeResponse\"\x00\x12]\n\x10RegisterResource\x12\".pulumirpc.RegisterResourceRequest\x1a#.pulumirpc.RegisterResourceResponse\"\x00\x12^\n\x17RegisterResourceOutputs\x12).pulumirpc.RegisterResourceOutputsRequest\x1a\x16.google.protobuf.Empty\"\x00\x62\x06proto3')
,
dependencies=[google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,google_dot_protobuf_dot_struct__pb2.DESCRIPTOR,provider__pb2.DESCRIPTOR,])
_REGISTERRESOURCEREQUEST = _descriptor.Descriptor(
name='RegisterResourceRequest',
full_name='pulumirpc.RegisterResourceRequest',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='type', full_name='pulumirpc.RegisterResourceRequest.type', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='name', full_name='pulumirpc.RegisterResourceRequest.name', index=1,
number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='parent', full_name='pulumirpc.RegisterResourceRequest.parent', index=2,
number=3, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='custom', full_name='pulumirpc.RegisterResourceRequest.custom', index=3,
number=4, type=8, cpp_type=7, label=1,
has_default_value=False, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='object', full_name='pulumirpc.RegisterResourceRequest.object', index=4,
number=5, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='protect', full_name='pulumirpc.RegisterResourceRequest.protect', index=5,
number=6, type=8, cpp_type=7, label=1,
has_default_value=False, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=105,
serialized_end=248,
)
_REGISTERRESOURCERESPONSE = _descriptor.Descriptor(
name='RegisterResourceResponse',
full_name='pulumirpc.RegisterResourceResponse',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='urn', full_name='pulumirpc.RegisterResourceResponse.urn', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='id', full_name='pulumirpc.RegisterResourceResponse.id', index=1,
number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='object', full_name='pulumirpc.RegisterResourceResponse.object', index=2,
number=3, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='stable', full_name='pulumirpc.RegisterResourceResponse.stable', index=3,
number=4, type=8, cpp_type=7, label=1,
has_default_value=False, default_value=False,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='stables', full_name='pulumirpc.RegisterResourceResponse.stables', index=4,
number=5, type=9, cpp_type=9, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=250,
serialized_end=375,
)
_REGISTERRESOURCEOUTPUTSREQUEST = _descriptor.Descriptor(
name='RegisterResourceOutputsRequest',
full_name='pulumirpc.RegisterResourceOutputsRequest',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='urn', full_name='pulumirpc.RegisterResourceOutputsRequest.urn', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='outputs', full_name='pulumirpc.RegisterResourceOutputsRequest.outputs', index=1,
number=2, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
options=None,
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=377,
serialized_end=464,
)
_REGISTERRESOURCEREQUEST.fields_by_name['object'].message_type = google_dot_protobuf_dot_struct__pb2._STRUCT
_REGISTERRESOURCERESPONSE.fields_by_name['object'].message_type = google_dot_protobuf_dot_struct__pb2._STRUCT
_REGISTERRESOURCEOUTPUTSREQUEST.fields_by_name['outputs'].message_type = google_dot_protobuf_dot_struct__pb2._STRUCT
DESCRIPTOR.message_types_by_name['RegisterResourceRequest'] = _REGISTERRESOURCEREQUEST
DESCRIPTOR.message_types_by_name['RegisterResourceResponse'] = _REGISTERRESOURCERESPONSE
DESCRIPTOR.message_types_by_name['RegisterResourceOutputsRequest'] = _REGISTERRESOURCEOUTPUTSREQUEST
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
RegisterResourceRequest = _reflection.GeneratedProtocolMessageType('RegisterResourceRequest', (_message.Message,), dict(
DESCRIPTOR = _REGISTERRESOURCEREQUEST,
__module__ = 'resource_pb2'
# @@protoc_insertion_point(class_scope:pulumirpc.RegisterResourceRequest)
))
_sym_db.RegisterMessage(RegisterResourceRequest)
RegisterResourceResponse = _reflection.GeneratedProtocolMessageType('RegisterResourceResponse', (_message.Message,), dict(
DESCRIPTOR = _REGISTERRESOURCERESPONSE,
__module__ = 'resource_pb2'
# @@protoc_insertion_point(class_scope:pulumirpc.RegisterResourceResponse)
))
_sym_db.RegisterMessage(RegisterResourceResponse)
RegisterResourceOutputsRequest = _reflection.GeneratedProtocolMessageType('RegisterResourceOutputsRequest', (_message.Message,), dict(
DESCRIPTOR = _REGISTERRESOURCEOUTPUTSREQUEST,
__module__ = 'resource_pb2'
# @@protoc_insertion_point(class_scope:pulumirpc.RegisterResourceOutputsRequest)
))
_sym_db.RegisterMessage(RegisterResourceOutputsRequest)
_RESOURCEMONITOR = _descriptor.ServiceDescriptor(
name='ResourceMonitor',
full_name='pulumirpc.ResourceMonitor',
file=DESCRIPTOR,
index=0,
options=None,
serialized_start=467,
serialized_end=740,
methods=[
_descriptor.MethodDescriptor(
name='Invoke',
full_name='pulumirpc.ResourceMonitor.Invoke',
index=0,
containing_service=None,
input_type=provider__pb2._INVOKEREQUEST,
output_type=provider__pb2._INVOKERESPONSE,
options=None,
),
_descriptor.MethodDescriptor(
name='RegisterResource',
full_name='pulumirpc.ResourceMonitor.RegisterResource',
index=1,
containing_service=None,
input_type=_REGISTERRESOURCEREQUEST,
output_type=_REGISTERRESOURCERESPONSE,
options=None,
),
_descriptor.MethodDescriptor(
name='RegisterResourceOutputs',
full_name='pulumirpc.ResourceMonitor.RegisterResourceOutputs',
index=2,
containing_service=None,
input_type=_REGISTERRESOURCEOUTPUTSREQUEST,
output_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
options=None,
),
])
_sym_db.RegisterServiceDescriptor(_RESOURCEMONITOR)
DESCRIPTOR.services_by_name['ResourceMonitor'] = _RESOURCEMONITOR
# @@protoc_insertion_point(module_scope)

View file

@ -0,0 +1,82 @@
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
import grpc
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
import provider_pb2 as provider__pb2
import resource_pb2 as resource__pb2
class ResourceMonitorStub(object):
"""ResourceMonitor is the interface a source uses to talk back to the planning monitor orchestrating the execution.
"""
def __init__(self, channel):
"""Constructor.
Args:
channel: A grpc.Channel.
"""
self.Invoke = channel.unary_unary(
'/pulumirpc.ResourceMonitor/Invoke',
request_serializer=provider__pb2.InvokeRequest.SerializeToString,
response_deserializer=provider__pb2.InvokeResponse.FromString,
)
self.RegisterResource = channel.unary_unary(
'/pulumirpc.ResourceMonitor/RegisterResource',
request_serializer=resource__pb2.RegisterResourceRequest.SerializeToString,
response_deserializer=resource__pb2.RegisterResourceResponse.FromString,
)
self.RegisterResourceOutputs = channel.unary_unary(
'/pulumirpc.ResourceMonitor/RegisterResourceOutputs',
request_serializer=resource__pb2.RegisterResourceOutputsRequest.SerializeToString,
response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
)
class ResourceMonitorServicer(object):
"""ResourceMonitor is the interface a source uses to talk back to the planning monitor orchestrating the execution.
"""
def Invoke(self, request, context):
# missing associated documentation comment in .proto file
pass
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!')
def RegisterResource(self, request, context):
# missing associated documentation comment in .proto file
pass
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!')
def RegisterResourceOutputs(self, request, context):
# missing associated documentation comment in .proto file
pass
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!')
def add_ResourceMonitorServicer_to_server(servicer, server):
rpc_method_handlers = {
'Invoke': grpc.unary_unary_rpc_method_handler(
servicer.Invoke,
request_deserializer=provider__pb2.InvokeRequest.FromString,
response_serializer=provider__pb2.InvokeResponse.SerializeToString,
),
'RegisterResource': grpc.unary_unary_rpc_method_handler(
servicer.RegisterResource,
request_deserializer=resource__pb2.RegisterResourceRequest.FromString,
response_serializer=resource__pb2.RegisterResourceResponse.SerializeToString,
),
'RegisterResourceOutputs': grpc.unary_unary_rpc_method_handler(
servicer.RegisterResourceOutputs,
request_deserializer=resource__pb2.RegisterResourceOutputsRequest.FromString,
response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
),
}
generic_handler = grpc.method_handlers_generic_handler(
'pulumirpc.ResourceMonitor', rpc_method_handlers)
server.add_generic_rpc_handlers((generic_handler,))