2022-06-11 07:52:24 +00:00
// Copyright 2016-2018, Pulumi Corporation.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
2018-06-26 18:14:03 +00:00
// Code generated by protoc-gen-go. DO NOT EDIT.
2022-06-11 07:52:24 +00:00
// versions:
2022-12-14 19:17:27 +00:00
// protoc-gen-go v1.28.1
2022-06-11 07:52:24 +00:00
// protoc v3.20.1
2022-07-12 13:45:03 +00:00
// source: pulumi/provider.proto
2017-02-10 17:08:06 +00:00
2018-07-12 01:07:50 +00:00
package pulumirpc
2017-02-10 17:08:06 +00:00
import (
2022-06-11 07:52:24 +00:00
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
2024-01-24 17:15:30 +00:00
emptypb "google.golang.org/protobuf/types/known/emptypb"
structpb "google.golang.org/protobuf/types/known/structpb"
2023-03-04 22:11:52 +00:00
reflect "reflect"
sync "sync"
2017-02-10 17:08:06 +00:00
)
2022-06-11 07:52:24 +00:00
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl . EnforceVersion ( 20 - protoimpl . MinVersion )
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl . EnforceVersion ( protoimpl . MaxVersion - 20 )
)
2018-07-12 01:07:50 +00:00
2019-07-01 19:34:19 +00:00
type PropertyDiff_Kind int32
const (
2022-06-11 07:52:24 +00:00
PropertyDiff_ADD PropertyDiff_Kind = 0 // this property was added
PropertyDiff_ADD_REPLACE PropertyDiff_Kind = 1 // this property was added, and this change requires a replace
PropertyDiff_DELETE PropertyDiff_Kind = 2 // this property was removed
PropertyDiff_DELETE_REPLACE PropertyDiff_Kind = 3 // this property was removed, and this change requires a replace
PropertyDiff_UPDATE PropertyDiff_Kind = 4 // this property's value was changed
PropertyDiff_UPDATE_REPLACE PropertyDiff_Kind = 5 // this property's value was changed, and this change requires a replace
2019-07-01 19:34:19 +00:00
)
2022-06-11 07:52:24 +00:00
// Enum value maps for PropertyDiff_Kind.
var (
PropertyDiff_Kind_name = map [ int32 ] string {
0 : "ADD" ,
1 : "ADD_REPLACE" ,
2 : "DELETE" ,
3 : "DELETE_REPLACE" ,
4 : "UPDATE" ,
5 : "UPDATE_REPLACE" ,
}
PropertyDiff_Kind_value = map [ string ] int32 {
"ADD" : 0 ,
"ADD_REPLACE" : 1 ,
"DELETE" : 2 ,
"DELETE_REPLACE" : 3 ,
"UPDATE" : 4 ,
"UPDATE_REPLACE" : 5 ,
}
)
2020-02-28 11:53:47 +00:00
2022-06-11 07:52:24 +00:00
func ( x PropertyDiff_Kind ) Enum ( ) * PropertyDiff_Kind {
p := new ( PropertyDiff_Kind )
* p = x
return p
2019-07-01 19:34:19 +00:00
}
func ( x PropertyDiff_Kind ) String ( ) string {
2022-06-11 07:52:24 +00:00
return protoimpl . X . EnumStringOf ( x . Descriptor ( ) , protoreflect . EnumNumber ( x ) )
}
func ( PropertyDiff_Kind ) Descriptor ( ) protoreflect . EnumDescriptor {
2022-07-12 13:45:03 +00:00
return file_pulumi_provider_proto_enumTypes [ 0 ] . Descriptor ( )
2019-07-01 19:34:19 +00:00
}
2020-02-28 11:53:47 +00:00
2022-06-11 07:52:24 +00:00
func ( PropertyDiff_Kind ) Type ( ) protoreflect . EnumType {
2022-07-12 13:45:03 +00:00
return & file_pulumi_provider_proto_enumTypes [ 0 ]
2022-06-11 07:52:24 +00:00
}
func ( x PropertyDiff_Kind ) Number ( ) protoreflect . EnumNumber {
return protoreflect . EnumNumber ( x )
}
// Deprecated: Use PropertyDiff_Kind.Descriptor instead.
2019-07-01 19:34:19 +00:00
func ( PropertyDiff_Kind ) EnumDescriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 15 , 0 }
2019-07-01 19:34:19 +00:00
}
2018-04-05 14:00:16 +00:00
type DiffResponse_DiffChanges int32
const (
2022-06-11 07:52:24 +00:00
DiffResponse_DIFF_UNKNOWN DiffResponse_DiffChanges = 0 // unknown whether there are changes or not (legacy behavior).
DiffResponse_DIFF_NONE DiffResponse_DiffChanges = 1 // the diff was performed, and no changes were detected that require an update.
DiffResponse_DIFF_SOME DiffResponse_DiffChanges = 2 // the diff was performed, and changes were detected that require an update or replacement.
2018-04-05 14:00:16 +00:00
)
2022-06-11 07:52:24 +00:00
// Enum value maps for DiffResponse_DiffChanges.
var (
DiffResponse_DiffChanges_name = map [ int32 ] string {
0 : "DIFF_UNKNOWN" ,
1 : "DIFF_NONE" ,
2 : "DIFF_SOME" ,
}
DiffResponse_DiffChanges_value = map [ string ] int32 {
"DIFF_UNKNOWN" : 0 ,
"DIFF_NONE" : 1 ,
"DIFF_SOME" : 2 ,
}
)
2020-02-28 11:53:47 +00:00
2022-06-11 07:52:24 +00:00
func ( x DiffResponse_DiffChanges ) Enum ( ) * DiffResponse_DiffChanges {
p := new ( DiffResponse_DiffChanges )
* p = x
return p
2018-04-05 14:00:16 +00:00
}
func ( x DiffResponse_DiffChanges ) String ( ) string {
2022-06-11 07:52:24 +00:00
return protoimpl . X . EnumStringOf ( x . Descriptor ( ) , protoreflect . EnumNumber ( x ) )
2018-04-05 14:00:16 +00:00
}
2020-02-28 11:53:47 +00:00
2022-06-11 07:52:24 +00:00
func ( DiffResponse_DiffChanges ) Descriptor ( ) protoreflect . EnumDescriptor {
2022-07-12 13:45:03 +00:00
return file_pulumi_provider_proto_enumTypes [ 1 ] . Descriptor ( )
2020-02-28 00:10:47 +00:00
}
2022-06-11 07:52:24 +00:00
func ( DiffResponse_DiffChanges ) Type ( ) protoreflect . EnumType {
2022-07-12 13:45:03 +00:00
return & file_pulumi_provider_proto_enumTypes [ 1 ]
2020-02-28 00:10:47 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x DiffResponse_DiffChanges ) Number ( ) protoreflect . EnumNumber {
return protoreflect . EnumNumber ( x )
2020-02-28 00:10:47 +00:00
}
2020-02-28 11:53:47 +00:00
2022-06-11 07:52:24 +00:00
// Deprecated: Use DiffResponse_DiffChanges.Descriptor instead.
func ( DiffResponse_DiffChanges ) EnumDescriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 16 , 0 }
}
type ParameterizeRequest struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
// Types that are assignable to Parameters:
// *ParameterizeRequest_Args
// *ParameterizeRequest_Value
Parameters isParameterizeRequest_Parameters ` protobuf_oneof:"parameters" `
}
func ( x * ParameterizeRequest ) Reset ( ) {
* x = ParameterizeRequest { }
if protoimpl . UnsafeEnabled {
mi := & file_pulumi_provider_proto_msgTypes [ 0 ]
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
}
func ( x * ParameterizeRequest ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
}
func ( * ParameterizeRequest ) ProtoMessage ( ) { }
func ( x * ParameterizeRequest ) ProtoReflect ( ) protoreflect . Message {
mi := & file_pulumi_provider_proto_msgTypes [ 0 ]
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
}
// Deprecated: Use ParameterizeRequest.ProtoReflect.Descriptor instead.
func ( * ParameterizeRequest ) Descriptor ( ) ( [ ] byte , [ ] int ) {
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 0 }
}
func ( m * ParameterizeRequest ) GetParameters ( ) isParameterizeRequest_Parameters {
if m != nil {
return m . Parameters
}
return nil
}
func ( x * ParameterizeRequest ) GetArgs ( ) * ParameterizeRequest_ParametersArgs {
if x , ok := x . GetParameters ( ) . ( * ParameterizeRequest_Args ) ; ok {
return x . Args
}
return nil
}
func ( x * ParameterizeRequest ) GetValue ( ) * ParameterizeRequest_ParametersValue {
if x , ok := x . GetParameters ( ) . ( * ParameterizeRequest_Value ) ; ok {
return x . Value
}
return nil
}
type isParameterizeRequest_Parameters interface {
isParameterizeRequest_Parameters ( )
}
type ParameterizeRequest_Args struct {
Args * ParameterizeRequest_ParametersArgs ` protobuf:"bytes,1,opt,name=args,proto3,oneof" ` // arguments from the command line.
}
type ParameterizeRequest_Value struct {
Value * ParameterizeRequest_ParametersValue ` protobuf:"bytes,2,opt,name=value,proto3,oneof" ` // values from a generated package.
}
func ( * ParameterizeRequest_Args ) isParameterizeRequest_Parameters ( ) { }
func ( * ParameterizeRequest_Value ) isParameterizeRequest_Parameters ( ) { }
type ParameterizeResponse struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
// The name of the sub-package parameterized.
Name string ` protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty" `
// The version of the sub-package parameterized.
Version string ` protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty" `
}
func ( x * ParameterizeResponse ) Reset ( ) {
* x = ParameterizeResponse { }
if protoimpl . UnsafeEnabled {
mi := & file_pulumi_provider_proto_msgTypes [ 1 ]
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
}
func ( x * ParameterizeResponse ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
}
func ( * ParameterizeResponse ) ProtoMessage ( ) { }
func ( x * ParameterizeResponse ) ProtoReflect ( ) protoreflect . Message {
mi := & file_pulumi_provider_proto_msgTypes [ 1 ]
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
}
// Deprecated: Use ParameterizeResponse.ProtoReflect.Descriptor instead.
func ( * ParameterizeResponse ) Descriptor ( ) ( [ ] byte , [ ] int ) {
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 1 }
}
func ( x * ParameterizeResponse ) GetName ( ) string {
if x != nil {
return x . Name
}
return ""
}
func ( x * ParameterizeResponse ) GetVersion ( ) string {
if x != nil {
return x . Version
}
return ""
2020-02-28 00:10:47 +00:00
}
2022-06-11 07:52:24 +00:00
type GetSchemaRequest struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
2024-05-15 16:22:39 +00:00
// the schema version.
Version int32 ` protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty" `
// the name of the sub-package to lookup
SubpackageName string ` protobuf:"bytes,2,opt,name=subpackage_name,json=subpackageName,proto3" json:"subpackage_name,omitempty" `
// the version of the sub-package to lookup
SubpackageVersion string ` protobuf:"bytes,3,opt,name=subpackage_version,json=subpackageVersion,proto3" json:"subpackage_version,omitempty" `
2020-02-28 00:10:47 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * GetSchemaRequest ) Reset ( ) {
* x = GetSchemaRequest { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 2 ]
2022-06-11 07:52:24 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
2020-02-28 00:10:47 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * GetSchemaRequest ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
2020-02-28 00:10:47 +00:00
}
2022-06-11 07:52:24 +00:00
func ( * GetSchemaRequest ) ProtoMessage ( ) { }
func ( x * GetSchemaRequest ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 2 ]
2022-06-11 07:52:24 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
2020-02-28 00:10:47 +00:00
}
2022-06-11 07:52:24 +00:00
// Deprecated: Use GetSchemaRequest.ProtoReflect.Descriptor instead.
func ( * GetSchemaRequest ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 2 }
2022-06-11 07:52:24 +00:00
}
2020-02-28 00:10:47 +00:00
2022-06-11 07:52:24 +00:00
func ( x * GetSchemaRequest ) GetVersion ( ) int32 {
if x != nil {
return x . Version
2020-02-28 00:10:47 +00:00
}
return 0
}
2024-05-15 16:22:39 +00:00
func ( x * GetSchemaRequest ) GetSubpackageName ( ) string {
if x != nil {
return x . SubpackageName
}
return ""
}
func ( x * GetSchemaRequest ) GetSubpackageVersion ( ) string {
if x != nil {
return x . SubpackageVersion
}
return ""
}
2020-02-28 00:10:47 +00:00
type GetSchemaResponse struct {
2022-06-11 07:52:24 +00:00
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
2020-02-28 00:10:47 +00:00
2022-06-11 07:52:24 +00:00
Schema string ` protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty" ` // the JSON-encoded schema.
2020-02-28 00:10:47 +00:00
}
2020-02-28 11:53:47 +00:00
2022-06-11 07:52:24 +00:00
func ( x * GetSchemaResponse ) Reset ( ) {
* x = GetSchemaResponse { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 3 ]
2022-06-11 07:52:24 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
2020-02-28 00:10:47 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * GetSchemaResponse ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
2020-02-28 00:10:47 +00:00
}
2022-06-11 07:52:24 +00:00
func ( * GetSchemaResponse ) ProtoMessage ( ) { }
func ( x * GetSchemaResponse ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 3 ]
2022-06-11 07:52:24 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
2020-02-28 00:10:47 +00:00
}
2022-06-11 07:52:24 +00:00
// Deprecated: Use GetSchemaResponse.ProtoReflect.Descriptor instead.
func ( * GetSchemaResponse ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 3 }
2022-06-11 07:52:24 +00:00
}
2020-02-28 00:10:47 +00:00
2022-06-11 07:52:24 +00:00
func ( x * GetSchemaResponse ) GetSchema ( ) string {
if x != nil {
return x . Schema
2020-02-28 00:10:47 +00:00
}
return ""
2018-07-12 01:07:50 +00:00
}
2018-04-05 14:00:16 +00:00
2017-08-31 21:31:33 +00:00
type ConfigureRequest struct {
2022-06-11 07:52:24 +00:00
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
2020-02-28 11:53:47 +00:00
2023-10-13 14:12:26 +00:00
Variables map [ string ] string ` protobuf:"bytes,1,rep,name=variables,proto3" json:"variables,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" ` // a map of configuration keys to values.
Args * structpb . Struct ` protobuf:"bytes,2,opt,name=args,proto3" json:"args,omitempty" ` // the input properties for the provider. Only filled in for newer providers.
AcceptSecrets bool ` protobuf:"varint,3,opt,name=acceptSecrets,proto3" json:"acceptSecrets,omitempty" ` // when true, operations should return secrets as strongly typed.
AcceptResources bool ` protobuf:"varint,4,opt,name=acceptResources,proto3" json:"acceptResources,omitempty" ` // when true, operations should return resources as strongly typed values to the provider.
SendsOldInputs bool ` protobuf:"varint,5,opt,name=sends_old_inputs,json=sendsOldInputs,proto3" json:"sends_old_inputs,omitempty" ` // when true, diff and update will be called with the old outputs and the old inputs.
SendsOldInputsToDelete bool ` protobuf:"varint,6,opt,name=sends_old_inputs_to_delete,json=sendsOldInputsToDelete,proto3" json:"sends_old_inputs_to_delete,omitempty" ` // when true, delete will be called with the old outputs and the old inputs.
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * ConfigureRequest ) Reset ( ) {
* x = ConfigureRequest { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 4 ]
2022-06-11 07:52:24 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * ConfigureRequest ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( * ConfigureRequest ) ProtoMessage ( ) { }
func ( x * ConfigureRequest ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 4 ]
2022-06-11 07:52:24 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
2018-06-27 23:08:21 +00:00
}
2022-06-11 07:52:24 +00:00
// Deprecated: Use ConfigureRequest.ProtoReflect.Descriptor instead.
func ( * ConfigureRequest ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 4 }
2022-06-11 07:52:24 +00:00
}
2017-08-31 21:31:33 +00:00
2022-06-11 07:52:24 +00:00
func ( x * ConfigureRequest ) GetVariables ( ) map [ string ] string {
if x != nil {
return x . Variables
2017-08-31 21:31:33 +00:00
}
return nil
}
2022-06-11 07:52:24 +00:00
func ( x * ConfigureRequest ) GetArgs ( ) * structpb . Struct {
if x != nil {
return x . Args
2019-03-05 18:49:24 +00:00
}
return nil
}
2022-06-11 07:52:24 +00:00
func ( x * ConfigureRequest ) GetAcceptSecrets ( ) bool {
if x != nil {
return x . AcceptSecrets
2019-04-12 18:27:18 +00:00
}
return false
}
2022-06-11 07:52:24 +00:00
func ( x * ConfigureRequest ) GetAcceptResources ( ) bool {
if x != nil {
return x . AcceptResources
2020-10-27 17:12:12 +00:00
}
return false
}
2023-05-29 15:41:36 +00:00
func ( x * ConfigureRequest ) GetSendsOldInputs ( ) bool {
if x != nil {
return x . SendsOldInputs
}
return false
}
2023-10-13 14:12:26 +00:00
func ( x * ConfigureRequest ) GetSendsOldInputsToDelete ( ) bool {
if x != nil {
return x . SendsOldInputsToDelete
}
return false
}
2019-04-12 18:27:18 +00:00
type ConfigureResponse struct {
2022-06-11 07:52:24 +00:00
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
2020-02-28 11:53:47 +00:00
2022-06-11 07:52:24 +00:00
AcceptSecrets bool ` protobuf:"varint,1,opt,name=acceptSecrets,proto3" json:"acceptSecrets,omitempty" ` // when true, the engine should pass secrets as strongly typed values to the provider.
SupportsPreview bool ` protobuf:"varint,2,opt,name=supportsPreview,proto3" json:"supportsPreview,omitempty" ` // when true, the engine should invoke create and update with preview=true during previews.
AcceptResources bool ` protobuf:"varint,3,opt,name=acceptResources,proto3" json:"acceptResources,omitempty" ` // when true, the engine should pass resources as strongly typed values to the provider.
AcceptOutputs bool ` protobuf:"varint,4,opt,name=acceptOutputs,proto3" json:"acceptOutputs,omitempty" ` // when true, the engine should pass output values to the provider.
2019-04-12 18:27:18 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * ConfigureResponse ) Reset ( ) {
* x = ConfigureResponse { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 5 ]
2022-06-11 07:52:24 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
2019-04-12 18:27:18 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * ConfigureResponse ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
2019-04-12 18:27:18 +00:00
}
2022-06-11 07:52:24 +00:00
func ( * ConfigureResponse ) ProtoMessage ( ) { }
func ( x * ConfigureResponse ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 5 ]
2022-06-11 07:52:24 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
2019-04-12 18:27:18 +00:00
}
2022-06-11 07:52:24 +00:00
// Deprecated: Use ConfigureResponse.ProtoReflect.Descriptor instead.
func ( * ConfigureResponse ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 5 }
2022-06-11 07:52:24 +00:00
}
2019-04-12 18:27:18 +00:00
2022-06-11 07:52:24 +00:00
func ( x * ConfigureResponse ) GetAcceptSecrets ( ) bool {
if x != nil {
return x . AcceptSecrets
2019-04-12 18:27:18 +00:00
}
return false
}
2022-06-11 07:52:24 +00:00
func ( x * ConfigureResponse ) GetSupportsPreview ( ) bool {
if x != nil {
return x . SupportsPreview
2020-10-09 20:13:55 +00:00
}
return false
}
2022-06-11 07:52:24 +00:00
func ( x * ConfigureResponse ) GetAcceptResources ( ) bool {
if x != nil {
return x . AcceptResources
2020-10-27 17:12:12 +00:00
}
return false
}
2022-06-11 07:52:24 +00:00
func ( x * ConfigureResponse ) GetAcceptOutputs ( ) bool {
if x != nil {
return x . AcceptOutputs
2021-09-15 21:16:00 +00:00
}
return false
}
2018-04-04 17:08:17 +00:00
// ConfigureErrorMissingKeys is sent as a Detail on an error returned from `ResourceProvider.Configure`.
type ConfigureErrorMissingKeys struct {
2022-06-11 07:52:24 +00:00
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
2018-06-27 23:08:21 +00:00
2022-06-11 07:52:24 +00:00
MissingKeys [ ] * ConfigureErrorMissingKeys_MissingKey ` protobuf:"bytes,1,rep,name=missingKeys,proto3" json:"missingKeys,omitempty" ` // a list of required configuration keys that were not supplied.
2018-07-12 01:07:50 +00:00
}
2020-02-28 11:53:47 +00:00
2022-06-11 07:52:24 +00:00
func ( x * ConfigureErrorMissingKeys ) Reset ( ) {
* x = ConfigureErrorMissingKeys { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 6 ]
2022-06-11 07:52:24 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * ConfigureErrorMissingKeys ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( * ConfigureErrorMissingKeys ) ProtoMessage ( ) { }
2018-04-04 17:08:17 +00:00
2022-06-11 07:52:24 +00:00
func ( x * ConfigureErrorMissingKeys ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 6 ]
2022-06-11 07:52:24 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
2018-04-04 17:08:17 +00:00
}
2022-06-11 07:52:24 +00:00
return mi . MessageOf ( x )
2018-04-04 17:08:17 +00:00
}
2022-06-11 07:52:24 +00:00
// Deprecated: Use ConfigureErrorMissingKeys.ProtoReflect.Descriptor instead.
func ( * ConfigureErrorMissingKeys ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 6 }
2018-07-12 01:07:50 +00:00
}
2020-02-28 11:53:47 +00:00
2022-06-11 07:52:24 +00:00
func ( x * ConfigureErrorMissingKeys ) GetMissingKeys ( ) [ ] * ConfigureErrorMissingKeys_MissingKey {
if x != nil {
return x . MissingKeys
}
return nil
2018-06-27 23:08:21 +00:00
}
2022-06-11 07:52:24 +00:00
type InvokeRequest struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
2018-07-12 01:07:50 +00:00
2022-06-11 07:52:24 +00:00
Tok string ` protobuf:"bytes,1,opt,name=tok,proto3" json:"tok,omitempty" ` // the function token to invoke.
Args * structpb . Struct ` protobuf:"bytes,2,opt,name=args,proto3" json:"args,omitempty" ` // the arguments for the function invocation.
2018-04-04 17:08:17 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * InvokeRequest ) Reset ( ) {
* x = InvokeRequest { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 7 ]
2022-06-11 07:52:24 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
2018-04-04 17:08:17 +00:00
}
}
2022-06-11 07:52:24 +00:00
func ( x * InvokeRequest ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
2018-06-27 23:08:21 +00:00
}
2022-06-11 07:52:24 +00:00
func ( * InvokeRequest ) ProtoMessage ( ) { }
2020-02-28 11:53:47 +00:00
2022-06-11 07:52:24 +00:00
func ( x * InvokeRequest ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 7 ]
2022-06-11 07:52:24 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
// Deprecated: Use InvokeRequest.ProtoReflect.Descriptor instead.
func ( * InvokeRequest ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 7 }
2022-06-11 07:52:24 +00:00
}
Add a notion of stable properties
This change adds the capability for a resource provider to indicate
that, where an action carried out in response to a diff, a certain set
of properties would be "stable"; that is to say, they are guaranteed
not to change. As a result, properties may be resolved to their final
values during previewing, avoiding erroneous cascading impacts.
This avoids the ever-annoying situation I keep running into when demoing:
when adding or removing an ingress rule to a security group, we ripple
the impact through the instance, and claim it must be replaced, because
that instance depends on the security group via its name. Well, the name
is a great example of a stable property, in that it will never change, and
so this is truly unfortunate and always adds uncertainty into the demos.
Particularly since the actual update doesn't need to perform replacements.
This resolves pulumi/pulumi#330.
2017-10-04 12:22:21 +00:00
2022-06-11 07:52:24 +00:00
func ( x * InvokeRequest ) GetTok ( ) string {
if x != nil {
return x . Tok
Add a notion of stable properties
This change adds the capability for a resource provider to indicate
that, where an action carried out in response to a diff, a certain set
of properties would be "stable"; that is to say, they are guaranteed
not to change. As a result, properties may be resolved to their final
values during previewing, avoiding erroneous cascading impacts.
This avoids the ever-annoying situation I keep running into when demoing:
when adding or removing an ingress rule to a security group, we ripple
the impact through the instance, and claim it must be replaced, because
that instance depends on the security group via its name. Well, the name
is a great example of a stable property, in that it will never change, and
so this is truly unfortunate and always adds uncertainty into the demos.
Particularly since the actual update doesn't need to perform replacements.
This resolves pulumi/pulumi#330.
2017-10-04 12:22:21 +00:00
}
return ""
}
2022-06-11 07:52:24 +00:00
func ( x * InvokeRequest ) GetArgs ( ) * structpb . Struct {
if x != nil {
return x . Args
Add a notion of stable properties
This change adds the capability for a resource provider to indicate
that, where an action carried out in response to a diff, a certain set
of properties would be "stable"; that is to say, they are guaranteed
not to change. As a result, properties may be resolved to their final
values during previewing, avoiding erroneous cascading impacts.
This avoids the ever-annoying situation I keep running into when demoing:
when adding or removing an ingress rule to a security group, we ripple
the impact through the instance, and claim it must be replaced, because
that instance depends on the security group via its name. Well, the name
is a great example of a stable property, in that it will never change, and
so this is truly unfortunate and always adds uncertainty into the demos.
Particularly since the actual update doesn't need to perform replacements.
This resolves pulumi/pulumi#330.
2017-10-04 12:22:21 +00:00
}
return nil
}
type InvokeResponse struct {
2022-06-11 07:52:24 +00:00
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
Add a notion of stable properties
This change adds the capability for a resource provider to indicate
that, where an action carried out in response to a diff, a certain set
of properties would be "stable"; that is to say, they are guaranteed
not to change. As a result, properties may be resolved to their final
values during previewing, avoiding erroneous cascading impacts.
This avoids the ever-annoying situation I keep running into when demoing:
when adding or removing an ingress rule to a security group, we ripple
the impact through the instance, and claim it must be replaced, because
that instance depends on the security group via its name. Well, the name
is a great example of a stable property, in that it will never change, and
so this is truly unfortunate and always adds uncertainty into the demos.
Particularly since the actual update doesn't need to perform replacements.
This resolves pulumi/pulumi#330.
2017-10-04 12:22:21 +00:00
2022-06-11 07:52:24 +00:00
Return * structpb . Struct ` protobuf:"bytes,1,opt,name=return,proto3" json:"return,omitempty" ` // the returned values, if invoke was successful.
Failures [ ] * CheckFailure ` protobuf:"bytes,2,rep,name=failures,proto3" json:"failures,omitempty" ` // the failures if any arguments didn't pass verification.
2018-07-12 01:07:50 +00:00
}
2020-02-28 11:53:47 +00:00
2022-06-11 07:52:24 +00:00
func ( x * InvokeResponse ) Reset ( ) {
* x = InvokeResponse { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 8 ]
2022-06-11 07:52:24 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * InvokeResponse ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( * InvokeResponse ) ProtoMessage ( ) { }
func ( x * InvokeResponse ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 8 ]
2022-06-11 07:52:24 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
2018-07-12 01:07:50 +00:00
}
2018-06-27 23:08:21 +00:00
2022-06-11 07:52:24 +00:00
// Deprecated: Use InvokeResponse.ProtoReflect.Descriptor instead.
func ( * InvokeResponse ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 8 }
2022-06-11 07:52:24 +00:00
}
2018-07-12 01:07:50 +00:00
2022-06-11 07:52:24 +00:00
func ( x * InvokeResponse ) GetReturn ( ) * structpb . Struct {
if x != nil {
return x . Return
Add a notion of stable properties
This change adds the capability for a resource provider to indicate
that, where an action carried out in response to a diff, a certain set
of properties would be "stable"; that is to say, they are guaranteed
not to change. As a result, properties may be resolved to their final
values during previewing, avoiding erroneous cascading impacts.
This avoids the ever-annoying situation I keep running into when demoing:
when adding or removing an ingress rule to a security group, we ripple
the impact through the instance, and claim it must be replaced, because
that instance depends on the security group via its name. Well, the name
is a great example of a stable property, in that it will never change, and
so this is truly unfortunate and always adds uncertainty into the demos.
Particularly since the actual update doesn't need to perform replacements.
This resolves pulumi/pulumi#330.
2017-10-04 12:22:21 +00:00
}
return nil
}
2022-06-11 07:52:24 +00:00
func ( x * InvokeResponse ) GetFailures ( ) [ ] * CheckFailure {
if x != nil {
return x . Failures
Add a notion of stable properties
This change adds the capability for a resource provider to indicate
that, where an action carried out in response to a diff, a certain set
of properties would be "stable"; that is to say, they are guaranteed
not to change. As a result, properties may be resolved to their final
values during previewing, avoiding erroneous cascading impacts.
This avoids the ever-annoying situation I keep running into when demoing:
when adding or removing an ingress rule to a security group, we ripple
the impact through the instance, and claim it must be replaced, because
that instance depends on the security group via its name. Well, the name
is a great example of a stable property, in that it will never change, and
so this is truly unfortunate and always adds uncertainty into the demos.
Particularly since the actual update doesn't need to perform replacements.
This resolves pulumi/pulumi#330.
2017-10-04 12:22:21 +00:00
}
return nil
}
2021-06-30 14:48:56 +00:00
type CallRequest struct {
2022-06-11 07:52:24 +00:00
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
2021-06-30 14:48:56 +00:00
2024-02-14 08:15:24 +00:00
Tok string ` protobuf:"bytes,1,opt,name=tok,proto3" json:"tok,omitempty" ` // the function token to invoke.
Args * structpb . Struct ` protobuf:"bytes,2,opt,name=args,proto3" json:"args,omitempty" ` // the arguments for the function invocation.
ArgDependencies map [ string ] * CallRequest_ArgumentDependencies ` protobuf:"bytes,3,rep,name=argDependencies,proto3" json:"argDependencies,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" ` // a map from argument keys to the dependencies of the argument.
Project string ` protobuf:"bytes,6,opt,name=project,proto3" json:"project,omitempty" ` // the project name.
Stack string ` protobuf:"bytes,7,opt,name=stack,proto3" json:"stack,omitempty" ` // the name of the stack being deployed into.
Config map [ string ] string ` protobuf:"bytes,8,rep,name=config,proto3" json:"config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" ` // the configuration variables to apply before running.
ConfigSecretKeys [ ] string ` protobuf:"bytes,9,rep,name=configSecretKeys,proto3" json:"configSecretKeys,omitempty" ` // the configuration keys that have secret values.
DryRun bool ` protobuf:"varint,10,opt,name=dryRun,proto3" json:"dryRun,omitempty" ` // true if we're only doing a dryrun (preview).
Parallel int32 ` protobuf:"varint,11,opt,name=parallel,proto3" json:"parallel,omitempty" ` // the degree of parallelism for resource operations (<=1 for serial).
MonitorEndpoint string ` protobuf:"bytes,12,opt,name=monitorEndpoint,proto3" json:"monitorEndpoint,omitempty" ` // the address for communicating back to the resource monitor.
Organization string ` protobuf:"bytes,14,opt,name=organization,proto3" json:"organization,omitempty" ` // the organization of the stack being deployed into.
AcceptsOutputValues bool ` protobuf:"varint,17,opt,name=accepts_output_values,json=acceptsOutputValues,proto3" json:"accepts_output_values,omitempty" ` // the engine can be passed output values back, returnDependencies can be left blank if returning output values.
2021-06-30 14:48:56 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * CallRequest ) Reset ( ) {
* x = CallRequest { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 9 ]
2022-06-11 07:52:24 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
2021-06-30 14:48:56 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * CallRequest ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
2021-06-30 14:48:56 +00:00
}
2022-06-11 07:52:24 +00:00
func ( * CallRequest ) ProtoMessage ( ) { }
func ( x * CallRequest ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 9 ]
2022-06-11 07:52:24 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
2021-06-30 14:48:56 +00:00
}
2022-06-11 07:52:24 +00:00
// Deprecated: Use CallRequest.ProtoReflect.Descriptor instead.
func ( * CallRequest ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 9 }
2022-06-11 07:52:24 +00:00
}
2021-06-30 14:48:56 +00:00
2022-06-11 07:52:24 +00:00
func ( x * CallRequest ) GetTok ( ) string {
if x != nil {
return x . Tok
2021-06-30 14:48:56 +00:00
}
return ""
}
2022-06-11 07:52:24 +00:00
func ( x * CallRequest ) GetArgs ( ) * structpb . Struct {
if x != nil {
return x . Args
2021-06-30 14:48:56 +00:00
}
return nil
}
2022-06-11 07:52:24 +00:00
func ( x * CallRequest ) GetArgDependencies ( ) map [ string ] * CallRequest_ArgumentDependencies {
if x != nil {
return x . ArgDependencies
2021-06-30 14:48:56 +00:00
}
return nil
}
2022-06-11 07:52:24 +00:00
func ( x * CallRequest ) GetProject ( ) string {
if x != nil {
return x . Project
2021-06-30 14:48:56 +00:00
}
return ""
}
2022-06-11 07:52:24 +00:00
func ( x * CallRequest ) GetStack ( ) string {
if x != nil {
return x . Stack
2021-06-30 14:48:56 +00:00
}
return ""
}
2022-06-11 07:52:24 +00:00
func ( x * CallRequest ) GetConfig ( ) map [ string ] string {
if x != nil {
return x . Config
2021-06-30 14:48:56 +00:00
}
return nil
}
2022-06-11 07:52:24 +00:00
func ( x * CallRequest ) GetConfigSecretKeys ( ) [ ] string {
if x != nil {
return x . ConfigSecretKeys
2021-06-30 14:48:56 +00:00
}
return nil
}
2022-06-11 07:52:24 +00:00
func ( x * CallRequest ) GetDryRun ( ) bool {
if x != nil {
return x . DryRun
2021-06-30 14:48:56 +00:00
}
return false
}
2022-06-11 07:52:24 +00:00
func ( x * CallRequest ) GetParallel ( ) int32 {
if x != nil {
return x . Parallel
2021-06-30 14:48:56 +00:00
}
return 0
}
2022-06-11 07:52:24 +00:00
func ( x * CallRequest ) GetMonitorEndpoint ( ) string {
if x != nil {
return x . MonitorEndpoint
2021-06-30 14:48:56 +00:00
}
return ""
}
2022-08-31 09:33:29 +00:00
func ( x * CallRequest ) GetOrganization ( ) string {
if x != nil {
return x . Organization
}
return ""
}
2024-02-14 08:15:24 +00:00
func ( x * CallRequest ) GetAcceptsOutputValues ( ) bool {
if x != nil {
return x . AcceptsOutputValues
}
return false
}
2022-06-11 07:52:24 +00:00
type CallResponse struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
2021-06-30 14:48:56 +00:00
2022-06-11 07:52:24 +00:00
Return * structpb . Struct ` protobuf:"bytes,1,opt,name=return,proto3" json:"return,omitempty" ` // the returned values, if call was successful.
ReturnDependencies map [ string ] * CallResponse_ReturnDependencies ` protobuf:"bytes,2,rep,name=returnDependencies,proto3" json:"returnDependencies,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" ` // a map from return value keys to the dependencies of the return value.
Failures [ ] * CheckFailure ` protobuf:"bytes,3,rep,name=failures,proto3" json:"failures,omitempty" ` // the failures if any arguments didn't pass verification.
2021-06-30 14:48:56 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * CallResponse ) Reset ( ) {
* x = CallResponse { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 10 ]
2022-06-11 07:52:24 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
2021-06-30 14:48:56 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * CallResponse ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
2021-06-30 14:48:56 +00:00
}
2022-06-11 07:52:24 +00:00
func ( * CallResponse ) ProtoMessage ( ) { }
2021-06-30 14:48:56 +00:00
2022-06-11 07:52:24 +00:00
func ( x * CallResponse ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 10 ]
2022-06-11 07:52:24 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
2021-06-30 14:48:56 +00:00
}
2022-06-11 07:52:24 +00:00
return mi . MessageOf ( x )
2021-06-30 14:48:56 +00:00
}
2022-06-11 07:52:24 +00:00
// Deprecated: Use CallResponse.ProtoReflect.Descriptor instead.
2021-06-30 14:48:56 +00:00
func ( * CallResponse ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 10 }
2021-06-30 14:48:56 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * CallResponse ) GetReturn ( ) * structpb . Struct {
if x != nil {
return x . Return
2021-06-30 14:48:56 +00:00
}
return nil
}
2022-06-11 07:52:24 +00:00
func ( x * CallResponse ) GetReturnDependencies ( ) map [ string ] * CallResponse_ReturnDependencies {
if x != nil {
return x . ReturnDependencies
2021-06-30 14:48:56 +00:00
}
return nil
}
2022-06-11 07:52:24 +00:00
func ( x * CallResponse ) GetFailures ( ) [ ] * CheckFailure {
if x != nil {
return x . Failures
2021-06-30 14:48:56 +00:00
}
return nil
}
2022-06-11 07:52:24 +00:00
type CheckRequest struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
2021-06-30 14:48:56 +00:00
2022-07-25 11:08:03 +00:00
Urn string ` protobuf:"bytes,1,opt,name=urn,proto3" json:"urn,omitempty" ` // the Pulumi URN for this resource.
Olds * structpb . Struct ` protobuf:"bytes,2,opt,name=olds,proto3" json:"olds,omitempty" ` // the old Pulumi inputs for this resource, if any.
News * structpb . Struct ` protobuf:"bytes,3,opt,name=news,proto3" json:"news,omitempty" ` // the new Pulumi inputs for this resource.
RandomSeed [ ] byte ` protobuf:"bytes,5,opt,name=randomSeed,proto3" json:"randomSeed,omitempty" ` // a deterministically random hash, primarily intended for global unique naming.
2021-06-30 14:48:56 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * CheckRequest ) Reset ( ) {
* x = CheckRequest { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 11 ]
2022-06-11 07:52:24 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
2021-06-30 14:48:56 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * CheckRequest ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
2021-06-30 14:48:56 +00:00
}
2022-06-11 07:52:24 +00:00
func ( * CheckRequest ) ProtoMessage ( ) { }
2021-06-30 14:48:56 +00:00
2022-06-11 07:52:24 +00:00
func ( x * CheckRequest ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 11 ]
2022-06-11 07:52:24 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
2021-06-30 14:48:56 +00:00
}
2022-06-11 07:52:24 +00:00
return mi . MessageOf ( x )
2021-06-30 14:48:56 +00:00
}
2022-06-11 07:52:24 +00:00
// Deprecated: Use CheckRequest.ProtoReflect.Descriptor instead.
2018-07-12 01:07:50 +00:00
func ( * CheckRequest ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 11 }
2018-07-12 01:07:50 +00:00
}
2017-03-03 02:15:38 +00:00
2022-06-11 07:52:24 +00:00
func ( x * CheckRequest ) GetUrn ( ) string {
if x != nil {
return x . Urn
2017-03-03 02:15:38 +00:00
}
return ""
}
2022-06-11 07:52:24 +00:00
func ( x * CheckRequest ) GetOlds ( ) * structpb . Struct {
if x != nil {
return x . Olds
2017-12-03 00:34:16 +00:00
}
return nil
}
2022-06-11 07:52:24 +00:00
func ( x * CheckRequest ) GetNews ( ) * structpb . Struct {
if x != nil {
return x . News
2017-03-03 02:15:38 +00:00
}
return nil
}
2022-07-20 11:25:43 +00:00
func ( x * CheckRequest ) GetRandomSeed ( ) [ ] byte {
if x != nil {
return x . RandomSeed
}
return nil
}
2017-03-03 02:15:38 +00:00
type CheckResponse struct {
2022-06-11 07:52:24 +00:00
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
2018-06-27 23:08:21 +00:00
2022-06-11 07:52:24 +00:00
Inputs * structpb . Struct ` protobuf:"bytes,1,opt,name=inputs,proto3" json:"inputs,omitempty" ` // the provider inputs for this resource.
Failures [ ] * CheckFailure ` protobuf:"bytes,2,rep,name=failures,proto3" json:"failures,omitempty" ` // any validation failures that occurred.
2018-07-12 01:07:50 +00:00
}
2020-02-28 11:53:47 +00:00
2022-06-11 07:52:24 +00:00
func ( x * CheckResponse ) Reset ( ) {
* x = CheckResponse { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 12 ]
2022-06-11 07:52:24 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * CheckResponse ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( * CheckResponse ) ProtoMessage ( ) { }
func ( x * CheckResponse ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 12 ]
2022-06-11 07:52:24 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
// Deprecated: Use CheckResponse.ProtoReflect.Descriptor instead.
func ( * CheckResponse ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 12 }
2022-06-11 07:52:24 +00:00
}
2017-08-01 01:26:15 +00:00
2022-06-11 07:52:24 +00:00
func ( x * CheckResponse ) GetInputs ( ) * structpb . Struct {
if x != nil {
return x . Inputs
2017-08-01 01:26:15 +00:00
}
return nil
}
2017-03-03 02:15:38 +00:00
2022-06-11 07:52:24 +00:00
func ( x * CheckResponse ) GetFailures ( ) [ ] * CheckFailure {
if x != nil {
return x . Failures
2017-03-03 02:15:38 +00:00
}
return nil
}
type CheckFailure struct {
2022-06-11 07:52:24 +00:00
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
2018-06-27 23:08:21 +00:00
2022-06-11 07:52:24 +00:00
Property string ` protobuf:"bytes,1,opt,name=property,proto3" json:"property,omitempty" ` // the property that failed validation.
Reason string ` protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty" ` // the reason that the property failed validation.
2018-07-12 01:07:50 +00:00
}
2020-02-28 11:53:47 +00:00
2022-06-11 07:52:24 +00:00
func ( x * CheckFailure ) Reset ( ) {
* x = CheckFailure { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 13 ]
2022-06-11 07:52:24 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * CheckFailure ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( * CheckFailure ) ProtoMessage ( ) { }
func ( x * CheckFailure ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 13 ]
2022-06-11 07:52:24 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
// Deprecated: Use CheckFailure.ProtoReflect.Descriptor instead.
func ( * CheckFailure ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 13 }
2022-06-11 07:52:24 +00:00
}
2017-03-03 02:15:38 +00:00
2022-06-11 07:52:24 +00:00
func ( x * CheckFailure ) GetProperty ( ) string {
if x != nil {
return x . Property
2017-03-03 02:15:38 +00:00
}
return ""
}
2022-06-11 07:52:24 +00:00
func ( x * CheckFailure ) GetReason ( ) string {
if x != nil {
return x . Reason
2017-03-03 02:15:38 +00:00
}
return ""
}
2017-08-01 01:26:15 +00:00
type DiffRequest struct {
2022-06-11 07:52:24 +00:00
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
2020-02-28 11:53:47 +00:00
2023-05-29 15:41:36 +00:00
Id string ` protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" ` // the ID of the resource to diff.
Urn string ` protobuf:"bytes,2,opt,name=urn,proto3" json:"urn,omitempty" ` // the Pulumi URN for this resource.
Olds * structpb . Struct ` protobuf:"bytes,3,opt,name=olds,proto3" json:"olds,omitempty" ` // the old output values of resource to diff.
News * structpb . Struct ` protobuf:"bytes,4,opt,name=news,proto3" json:"news,omitempty" ` // the new input values of resource to diff.
IgnoreChanges [ ] string ` protobuf:"bytes,5,rep,name=ignoreChanges,proto3" json:"ignoreChanges,omitempty" ` // a set of property paths that should be treated as unchanged.
OldInputs * structpb . Struct ` protobuf:"bytes,6,opt,name=old_inputs,json=oldInputs,proto3" json:"old_inputs,omitempty" ` // the old input values of the resource to diff.
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * DiffRequest ) Reset ( ) {
* x = DiffRequest { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 14 ]
2022-06-11 07:52:24 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * DiffRequest ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( * DiffRequest ) ProtoMessage ( ) { }
func ( x * DiffRequest ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 14 ]
2022-06-11 07:52:24 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
// Deprecated: Use DiffRequest.ProtoReflect.Descriptor instead.
func ( * DiffRequest ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 14 }
2022-06-11 07:52:24 +00:00
}
Redo object monikers
This change overhauls the way we do object monikers. The old mechanism,
generating monikers using graph paths, was far too brittle and prone to
collisions. The new approach mixes some amount of "automatic scoping"
plus some "explicit naming." Although there is some explicitness, this
is arguably a good thing, as the monikers will be relatable back to the
source more readily by developers inspecting the graph and resource state.
Each moniker has four parts:
<Namespace>::<AllocModule>::<Type>::<Name>
wherein each element is the following:
<Namespace> The namespace being deployed into
<AllocModule> The module in which the object was allocated
<Type> The type of the resource
<Name> The assigned name of the resource
The <Namespace> is essentially the deployment target -- so "prod",
"stage", etc -- although it is more general purpose to allow for future
namespacing within a target (e.g., "prod/customer1", etc); for now
this is rudimentary, however, see marapongo/mu#94.
The <AllocModule> is the token for the code that contained the 'new'
that led to this object being created. In the future, we may wish to
extend this to also track the module under evaluation. (This is a nice
aspect of monikers; they can become arbitrarily complex, so long as
they are precise, and not prone to false positives/negatives.)
The <Name> warrants more discussion. The resource provider is consulted
via a new gRPC method, Name, that fetches the name. How the provider
does this is entirely up to it. For some resource types, the resource
may have properties that developers must set (e.g., `new Bucket("foo")`);
for other providers, perhaps the resource intrinsically has a property
that explicitly and uniquely qualifies the object (e.g., AWS SecurityGroups,
via `new SecurityGroup({groupName: "my-sg"}`); and finally, it's conceivable
that a provider might auto-generate the name (e.g., such as an AWS Lambda
whose name could simply be a hash of the source code contents).
This should overall produce better results with respect to moniker
collisions, ability to match resources, and the usability of the system.
2017-02-24 22:50:02 +00:00
2022-06-11 07:52:24 +00:00
func ( x * DiffRequest ) GetId ( ) string {
if x != nil {
return x . Id
2017-08-01 01:26:15 +00:00
}
return ""
}
2022-06-11 07:52:24 +00:00
func ( x * DiffRequest ) GetUrn ( ) string {
if x != nil {
return x . Urn
Redo object monikers
This change overhauls the way we do object monikers. The old mechanism,
generating monikers using graph paths, was far too brittle and prone to
collisions. The new approach mixes some amount of "automatic scoping"
plus some "explicit naming." Although there is some explicitness, this
is arguably a good thing, as the monikers will be relatable back to the
source more readily by developers inspecting the graph and resource state.
Each moniker has four parts:
<Namespace>::<AllocModule>::<Type>::<Name>
wherein each element is the following:
<Namespace> The namespace being deployed into
<AllocModule> The module in which the object was allocated
<Type> The type of the resource
<Name> The assigned name of the resource
The <Namespace> is essentially the deployment target -- so "prod",
"stage", etc -- although it is more general purpose to allow for future
namespacing within a target (e.g., "prod/customer1", etc); for now
this is rudimentary, however, see marapongo/mu#94.
The <AllocModule> is the token for the code that contained the 'new'
that led to this object being created. In the future, we may wish to
extend this to also track the module under evaluation. (This is a nice
aspect of monikers; they can become arbitrarily complex, so long as
they are precise, and not prone to false positives/negatives.)
The <Name> warrants more discussion. The resource provider is consulted
via a new gRPC method, Name, that fetches the name. How the provider
does this is entirely up to it. For some resource types, the resource
may have properties that developers must set (e.g., `new Bucket("foo")`);
for other providers, perhaps the resource intrinsically has a property
that explicitly and uniquely qualifies the object (e.g., AWS SecurityGroups,
via `new SecurityGroup({groupName: "my-sg"}`); and finally, it's conceivable
that a provider might auto-generate the name (e.g., such as an AWS Lambda
whose name could simply be a hash of the source code contents).
This should overall produce better results with respect to moniker
collisions, ability to match resources, and the usability of the system.
2017-02-24 22:50:02 +00:00
}
return ""
}
2022-06-11 07:52:24 +00:00
func ( x * DiffRequest ) GetOlds ( ) * structpb . Struct {
if x != nil {
return x . Olds
Redo object monikers
This change overhauls the way we do object monikers. The old mechanism,
generating monikers using graph paths, was far too brittle and prone to
collisions. The new approach mixes some amount of "automatic scoping"
plus some "explicit naming." Although there is some explicitness, this
is arguably a good thing, as the monikers will be relatable back to the
source more readily by developers inspecting the graph and resource state.
Each moniker has four parts:
<Namespace>::<AllocModule>::<Type>::<Name>
wherein each element is the following:
<Namespace> The namespace being deployed into
<AllocModule> The module in which the object was allocated
<Type> The type of the resource
<Name> The assigned name of the resource
The <Namespace> is essentially the deployment target -- so "prod",
"stage", etc -- although it is more general purpose to allow for future
namespacing within a target (e.g., "prod/customer1", etc); for now
this is rudimentary, however, see marapongo/mu#94.
The <AllocModule> is the token for the code that contained the 'new'
that led to this object being created. In the future, we may wish to
extend this to also track the module under evaluation. (This is a nice
aspect of monikers; they can become arbitrarily complex, so long as
they are precise, and not prone to false positives/negatives.)
The <Name> warrants more discussion. The resource provider is consulted
via a new gRPC method, Name, that fetches the name. How the provider
does this is entirely up to it. For some resource types, the resource
may have properties that developers must set (e.g., `new Bucket("foo")`);
for other providers, perhaps the resource intrinsically has a property
that explicitly and uniquely qualifies the object (e.g., AWS SecurityGroups,
via `new SecurityGroup({groupName: "my-sg"}`); and finally, it's conceivable
that a provider might auto-generate the name (e.g., such as an AWS Lambda
whose name could simply be a hash of the source code contents).
This should overall produce better results with respect to moniker
collisions, ability to match resources, and the usability of the system.
2017-02-24 22:50:02 +00:00
}
return nil
}
2022-06-11 07:52:24 +00:00
func ( x * DiffRequest ) GetNews ( ) * structpb . Struct {
if x != nil {
return x . News
2017-08-01 01:26:15 +00:00
}
return nil
Redo object monikers
This change overhauls the way we do object monikers. The old mechanism,
generating monikers using graph paths, was far too brittle and prone to
collisions. The new approach mixes some amount of "automatic scoping"
plus some "explicit naming." Although there is some explicitness, this
is arguably a good thing, as the monikers will be relatable back to the
source more readily by developers inspecting the graph and resource state.
Each moniker has four parts:
<Namespace>::<AllocModule>::<Type>::<Name>
wherein each element is the following:
<Namespace> The namespace being deployed into
<AllocModule> The module in which the object was allocated
<Type> The type of the resource
<Name> The assigned name of the resource
The <Namespace> is essentially the deployment target -- so "prod",
"stage", etc -- although it is more general purpose to allow for future
namespacing within a target (e.g., "prod/customer1", etc); for now
this is rudimentary, however, see marapongo/mu#94.
The <AllocModule> is the token for the code that contained the 'new'
that led to this object being created. In the future, we may wish to
extend this to also track the module under evaluation. (This is a nice
aspect of monikers; they can become arbitrarily complex, so long as
they are precise, and not prone to false positives/negatives.)
The <Name> warrants more discussion. The resource provider is consulted
via a new gRPC method, Name, that fetches the name. How the provider
does this is entirely up to it. For some resource types, the resource
may have properties that developers must set (e.g., `new Bucket("foo")`);
for other providers, perhaps the resource intrinsically has a property
that explicitly and uniquely qualifies the object (e.g., AWS SecurityGroups,
via `new SecurityGroup({groupName: "my-sg"}`); and finally, it's conceivable
that a provider might auto-generate the name (e.g., such as an AWS Lambda
whose name could simply be a hash of the source code contents).
This should overall produce better results with respect to moniker
collisions, ability to match resources, and the usability of the system.
2017-02-24 22:50:02 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * DiffRequest ) GetIgnoreChanges ( ) [ ] string {
if x != nil {
return x . IgnoreChanges
2019-07-31 16:39:07 +00:00
}
return nil
}
2023-05-29 15:41:36 +00:00
func ( x * DiffRequest ) GetOldInputs ( ) * structpb . Struct {
if x != nil {
return x . OldInputs
}
return nil
}
2019-07-01 19:34:19 +00:00
type PropertyDiff struct {
2022-06-11 07:52:24 +00:00
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
2019-07-01 19:34:19 +00:00
2022-06-11 07:52:24 +00:00
Kind PropertyDiff_Kind ` protobuf:"varint,1,opt,name=kind,proto3,enum=pulumirpc.PropertyDiff_Kind" json:"kind,omitempty" ` // The kind of diff asdsociated with this property.
InputDiff bool ` protobuf:"varint,2,opt,name=inputDiff,proto3" json:"inputDiff,omitempty" ` // The difference is between old and new inputs, not old and new state.
2019-07-01 19:34:19 +00:00
}
2020-02-28 11:53:47 +00:00
2022-06-11 07:52:24 +00:00
func ( x * PropertyDiff ) Reset ( ) {
* x = PropertyDiff { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 15 ]
2022-06-11 07:52:24 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
2019-07-01 19:34:19 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * PropertyDiff ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
2019-07-01 19:34:19 +00:00
}
2022-06-11 07:52:24 +00:00
func ( * PropertyDiff ) ProtoMessage ( ) { }
func ( x * PropertyDiff ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 15 ]
2022-06-11 07:52:24 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
2019-07-01 19:34:19 +00:00
}
2022-06-11 07:52:24 +00:00
// Deprecated: Use PropertyDiff.ProtoReflect.Descriptor instead.
func ( * PropertyDiff ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 15 }
2022-06-11 07:52:24 +00:00
}
2019-07-01 19:34:19 +00:00
2022-06-11 07:52:24 +00:00
func ( x * PropertyDiff ) GetKind ( ) PropertyDiff_Kind {
if x != nil {
return x . Kind
2019-07-01 19:34:19 +00:00
}
return PropertyDiff_ADD
}
2022-06-11 07:52:24 +00:00
func ( x * PropertyDiff ) GetInputDiff ( ) bool {
if x != nil {
return x . InputDiff
2019-07-01 19:34:19 +00:00
}
return false
}
2017-08-01 01:26:15 +00:00
type DiffResponse struct {
2022-06-11 07:52:24 +00:00
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
Replaces [ ] string ` protobuf:"bytes,1,rep,name=replaces,proto3" json:"replaces,omitempty" ` // if this update requires a replacement, the set of properties triggering it.
Stables [ ] string ` protobuf:"bytes,2,rep,name=stables,proto3" json:"stables,omitempty" ` // an optional list of properties that will not ever change.
DeleteBeforeReplace bool ` protobuf:"varint,3,opt,name=deleteBeforeReplace,proto3" json:"deleteBeforeReplace,omitempty" ` // if true, this resource must be deleted before replacing it.
Changes DiffResponse_DiffChanges ` protobuf:"varint,4,opt,name=changes,proto3,enum=pulumirpc.DiffResponse_DiffChanges" json:"changes,omitempty" ` // if true, this diff represents an actual difference and thus requires an update.
Diffs [ ] string ` protobuf:"bytes,5,rep,name=diffs,proto3" json:"diffs,omitempty" ` // a list of the properties that changed.
2019-07-01 19:34:19 +00:00
// detailedDiff is an optional field that contains map from each changed property to the type of the change.
//
// The keys of this map are property paths. These paths are essentially Javascript property access expressions
// in which all elements are literals, and obey the following EBNF-ish grammar:
//
// propertyName := [a-zA-Z_$] { [a-zA-Z0-9_$] }
// quotedPropertyName := '"' ( '\' '"' | [^"] ) { ( '\' '"' | [^"] ) } '"'
// arrayIndex := { [0-9] }
//
// propertyIndex := '[' ( quotedPropertyName | arrayIndex ) ']'
// rootProperty := ( propertyName | propertyIndex )
// propertyAccessor := ( ( '.' propertyName ) | propertyIndex )
// path := rootProperty { propertyAccessor }
//
// Examples of valid keys:
// - root
// - root.nested
// - root["nested"]
// - root.double.nest
// - root["double"].nest
// - root["double"]["nest"]
// - root.array[0]
// - root.array[100]
// - root.array[0].nested
// - root.array[0][1].nested
// - root.nested.array[0].double[1]
// - root["key with \"escaped\" quotes"]
// - root["key with a ."]
// - ["root key with \"escaped\" quotes"].nested
// - ["root key with a ."][100]
2022-06-11 07:52:24 +00:00
DetailedDiff map [ string ] * PropertyDiff ` protobuf:"bytes,6,rep,name=detailedDiff,proto3" json:"detailedDiff,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" ` // a detailed diff appropriate for display.
HasDetailedDiff bool ` protobuf:"varint,7,opt,name=hasDetailedDiff,proto3" json:"hasDetailedDiff,omitempty" ` // true if this response contains a detailed diff.
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * DiffResponse ) Reset ( ) {
* x = DiffResponse { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 16 ]
2022-06-11 07:52:24 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
2018-07-12 01:07:50 +00:00
}
2020-02-28 11:53:47 +00:00
2022-06-11 07:52:24 +00:00
func ( x * DiffResponse ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( * DiffResponse ) ProtoMessage ( ) { }
func ( x * DiffResponse ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 16 ]
2022-06-11 07:52:24 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
2018-06-27 23:08:21 +00:00
}
2022-06-11 07:52:24 +00:00
// Deprecated: Use DiffResponse.ProtoReflect.Descriptor instead.
func ( * DiffResponse ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 16 }
2022-06-11 07:52:24 +00:00
}
2017-08-01 01:26:15 +00:00
2022-06-11 07:52:24 +00:00
func ( x * DiffResponse ) GetReplaces ( ) [ ] string {
if x != nil {
return x . Replaces
Redo object monikers
This change overhauls the way we do object monikers. The old mechanism,
generating monikers using graph paths, was far too brittle and prone to
collisions. The new approach mixes some amount of "automatic scoping"
plus some "explicit naming." Although there is some explicitness, this
is arguably a good thing, as the monikers will be relatable back to the
source more readily by developers inspecting the graph and resource state.
Each moniker has four parts:
<Namespace>::<AllocModule>::<Type>::<Name>
wherein each element is the following:
<Namespace> The namespace being deployed into
<AllocModule> The module in which the object was allocated
<Type> The type of the resource
<Name> The assigned name of the resource
The <Namespace> is essentially the deployment target -- so "prod",
"stage", etc -- although it is more general purpose to allow for future
namespacing within a target (e.g., "prod/customer1", etc); for now
this is rudimentary, however, see marapongo/mu#94.
The <AllocModule> is the token for the code that contained the 'new'
that led to this object being created. In the future, we may wish to
extend this to also track the module under evaluation. (This is a nice
aspect of monikers; they can become arbitrarily complex, so long as
they are precise, and not prone to false positives/negatives.)
The <Name> warrants more discussion. The resource provider is consulted
via a new gRPC method, Name, that fetches the name. How the provider
does this is entirely up to it. For some resource types, the resource
may have properties that developers must set (e.g., `new Bucket("foo")`);
for other providers, perhaps the resource intrinsically has a property
that explicitly and uniquely qualifies the object (e.g., AWS SecurityGroups,
via `new SecurityGroup({groupName: "my-sg"}`); and finally, it's conceivable
that a provider might auto-generate the name (e.g., such as an AWS Lambda
whose name could simply be a hash of the source code contents).
This should overall produce better results with respect to moniker
collisions, ability to match resources, and the usability of the system.
2017-02-24 22:50:02 +00:00
}
2017-08-01 01:26:15 +00:00
return nil
Redo object monikers
This change overhauls the way we do object monikers. The old mechanism,
generating monikers using graph paths, was far too brittle and prone to
collisions. The new approach mixes some amount of "automatic scoping"
plus some "explicit naming." Although there is some explicitness, this
is arguably a good thing, as the monikers will be relatable back to the
source more readily by developers inspecting the graph and resource state.
Each moniker has four parts:
<Namespace>::<AllocModule>::<Type>::<Name>
wherein each element is the following:
<Namespace> The namespace being deployed into
<AllocModule> The module in which the object was allocated
<Type> The type of the resource
<Name> The assigned name of the resource
The <Namespace> is essentially the deployment target -- so "prod",
"stage", etc -- although it is more general purpose to allow for future
namespacing within a target (e.g., "prod/customer1", etc); for now
this is rudimentary, however, see marapongo/mu#94.
The <AllocModule> is the token for the code that contained the 'new'
that led to this object being created. In the future, we may wish to
extend this to also track the module under evaluation. (This is a nice
aspect of monikers; they can become arbitrarily complex, so long as
they are precise, and not prone to false positives/negatives.)
The <Name> warrants more discussion. The resource provider is consulted
via a new gRPC method, Name, that fetches the name. How the provider
does this is entirely up to it. For some resource types, the resource
may have properties that developers must set (e.g., `new Bucket("foo")`);
for other providers, perhaps the resource intrinsically has a property
that explicitly and uniquely qualifies the object (e.g., AWS SecurityGroups,
via `new SecurityGroup({groupName: "my-sg"}`); and finally, it's conceivable
that a provider might auto-generate the name (e.g., such as an AWS Lambda
whose name could simply be a hash of the source code contents).
This should overall produce better results with respect to moniker
collisions, ability to match resources, and the usability of the system.
2017-02-24 22:50:02 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * DiffResponse ) GetStables ( ) [ ] string {
if x != nil {
return x . Stables
Add a notion of stable properties
This change adds the capability for a resource provider to indicate
that, where an action carried out in response to a diff, a certain set
of properties would be "stable"; that is to say, they are guaranteed
not to change. As a result, properties may be resolved to their final
values during previewing, avoiding erroneous cascading impacts.
This avoids the ever-annoying situation I keep running into when demoing:
when adding or removing an ingress rule to a security group, we ripple
the impact through the instance, and claim it must be replaced, because
that instance depends on the security group via its name. Well, the name
is a great example of a stable property, in that it will never change, and
so this is truly unfortunate and always adds uncertainty into the demos.
Particularly since the actual update doesn't need to perform replacements.
This resolves pulumi/pulumi#330.
2017-10-04 12:22:21 +00:00
}
return nil
}
2022-06-11 07:52:24 +00:00
func ( x * DiffResponse ) GetDeleteBeforeReplace ( ) bool {
if x != nil {
return x . DeleteBeforeReplace
2017-12-10 16:37:22 +00:00
}
return false
}
2022-06-11 07:52:24 +00:00
func ( x * DiffResponse ) GetChanges ( ) DiffResponse_DiffChanges {
if x != nil {
return x . Changes
2018-04-05 14:00:16 +00:00
}
return DiffResponse_DIFF_UNKNOWN
}
2022-06-11 07:52:24 +00:00
func ( x * DiffResponse ) GetDiffs ( ) [ ] string {
if x != nil {
return x . Diffs
2019-03-05 18:49:24 +00:00
}
return nil
}
2022-06-11 07:52:24 +00:00
func ( x * DiffResponse ) GetDetailedDiff ( ) map [ string ] * PropertyDiff {
if x != nil {
return x . DetailedDiff
2019-07-01 19:34:19 +00:00
}
return nil
}
2022-06-11 07:52:24 +00:00
func ( x * DiffResponse ) GetHasDetailedDiff ( ) bool {
if x != nil {
return x . HasDetailedDiff
2019-07-01 19:34:19 +00:00
}
return false
}
2017-02-10 17:08:06 +00:00
type CreateRequest struct {
2022-06-11 07:52:24 +00:00
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
2020-02-28 11:53:47 +00:00
2022-06-11 07:52:24 +00:00
Urn string ` protobuf:"bytes,1,opt,name=urn,proto3" json:"urn,omitempty" ` // the Pulumi URN for this resource.
Properties * structpb . Struct ` protobuf:"bytes,2,opt,name=properties,proto3" json:"properties,omitempty" ` // the provider inputs to set during creation.
Timeout float64 ` protobuf:"fixed64,3,opt,name=timeout,proto3" json:"timeout,omitempty" ` // the create request timeout represented in seconds.
Preview bool ` protobuf:"varint,4,opt,name=preview,proto3" json:"preview,omitempty" ` // true if this is a preview and the provider should not actually create the resource.
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * CreateRequest ) Reset ( ) {
* x = CreateRequest { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 17 ]
2022-06-11 07:52:24 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * CreateRequest ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( * CreateRequest ) ProtoMessage ( ) { }
func ( x * CreateRequest ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 17 ]
2022-06-11 07:52:24 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
// Deprecated: Use CreateRequest.ProtoReflect.Descriptor instead.
func ( * CreateRequest ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 17 }
2022-06-11 07:52:24 +00:00
}
2017-02-10 17:08:06 +00:00
2022-06-11 07:52:24 +00:00
func ( x * CreateRequest ) GetUrn ( ) string {
if x != nil {
return x . Urn
2017-02-10 17:08:06 +00:00
}
return ""
}
2022-06-11 07:52:24 +00:00
func ( x * CreateRequest ) GetProperties ( ) * structpb . Struct {
if x != nil {
return x . Properties
2017-02-10 17:08:06 +00:00
}
return nil
}
2022-06-11 07:52:24 +00:00
func ( x * CreateRequest ) GetTimeout ( ) float64 {
if x != nil {
return x . Timeout
Addition of Custom Timeouts (#2885)
* Plumbing the custom timeouts from the engine to the providers
* Plumbing the CustomTimeouts through to the engine and adding test to show this
* Change the provider proto to include individual timeouts
* Plumbing the CustomTimeouts from the engine through to the Provider RPC interface
* Change how the CustomTimeouts are sent across RPC
These errors were spotted in testing. We can now see that the timeout
information is arriving in the RegisterResourceRequest
```
req=&pulumirpc.RegisterResourceRequest{
Type: "aws:s3/bucket:Bucket",
Name: "my-bucket",
Parent: "urn:pulumi:dev::aws-vpc::pulumi:pulumi:Stack::aws-vpc-dev",
Custom: true,
Object: &structpb.Struct{},
Protect: false,
Dependencies: nil,
Provider: "",
PropertyDependencies: {},
DeleteBeforeReplace: false,
Version: "",
IgnoreChanges: nil,
AcceptSecrets: true,
AdditionalSecretOutputs: nil,
Aliases: nil,
CustomTimeouts: &pulumirpc.RegisterResourceRequest_CustomTimeouts{
Create: 300,
Update: 400,
Delete: 500,
XXX_NoUnkeyedLiteral: struct {}{},
XXX_unrecognized: nil,
XXX_sizecache: 0,
},
XXX_NoUnkeyedLiteral: struct {}{},
XXX_unrecognized: nil,
XXX_sizecache: 0,
}
```
* Changing the design to use strings
* CHANGELOG entry to include the CustomTimeouts work
* Changing custom timeouts to be passed around the engine as converted value
We don't want to pass around strings - the user can provide it but we want
to make the engine aware of the timeout in seconds as a float64
2019-07-15 21:26:28 +00:00
}
return 0
}
2022-06-11 07:52:24 +00:00
func ( x * CreateRequest ) GetPreview ( ) bool {
if x != nil {
return x . Preview
2020-10-09 20:13:55 +00:00
}
return false
}
2017-02-10 17:08:06 +00:00
type CreateResponse struct {
2022-06-11 07:52:24 +00:00
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
2017-02-10 17:08:06 +00:00
2022-06-11 07:52:24 +00:00
Id string ` protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" ` // the ID of the created resource.
Properties * structpb . Struct ` protobuf:"bytes,2,opt,name=properties,proto3" json:"properties,omitempty" ` // any properties that were computed during creation.
2018-07-12 01:07:50 +00:00
}
2020-02-28 11:53:47 +00:00
2022-06-11 07:52:24 +00:00
func ( x * CreateResponse ) Reset ( ) {
* x = CreateResponse { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 18 ]
2022-06-11 07:52:24 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * CreateResponse ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( * CreateResponse ) ProtoMessage ( ) { }
func ( x * CreateResponse ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 18 ]
2022-06-11 07:52:24 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
// Deprecated: Use CreateResponse.ProtoReflect.Descriptor instead.
func ( * CreateResponse ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 18 }
2022-06-11 07:52:24 +00:00
}
2017-02-10 17:08:06 +00:00
2022-06-11 07:52:24 +00:00
func ( x * CreateResponse ) GetId ( ) string {
if x != nil {
return x . Id
2017-02-10 17:08:06 +00:00
}
return ""
}
2022-06-11 07:52:24 +00:00
func ( x * CreateResponse ) GetProperties ( ) * structpb . Struct {
if x != nil {
return x . Properties
2017-07-18 01:44:45 +00:00
}
return nil
}
2018-04-05 14:00:16 +00:00
type ReadRequest struct {
2022-06-11 07:52:24 +00:00
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
2020-02-28 11:53:47 +00:00
2022-06-11 07:52:24 +00:00
Id string ` protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" ` // the ID of the resource to read.
Urn string ` protobuf:"bytes,2,opt,name=urn,proto3" json:"urn,omitempty" ` // the Pulumi URN for this resource.
Properties * structpb . Struct ` protobuf:"bytes,3,opt,name=properties,proto3" json:"properties,omitempty" ` // the current state (sufficiently complete to identify the resource).
Inputs * structpb . Struct ` protobuf:"bytes,4,opt,name=inputs,proto3" json:"inputs,omitempty" ` // the current inputs, if any (only populated during refresh).
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * ReadRequest ) Reset ( ) {
* x = ReadRequest { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 19 ]
2022-06-11 07:52:24 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * ReadRequest ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( * ReadRequest ) ProtoMessage ( ) { }
func ( x * ReadRequest ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 19 ]
2022-06-11 07:52:24 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
// Deprecated: Use ReadRequest.ProtoReflect.Descriptor instead.
func ( * ReadRequest ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 19 }
2022-06-11 07:52:24 +00:00
}
2018-04-05 14:00:16 +00:00
2022-06-11 07:52:24 +00:00
func ( x * ReadRequest ) GetId ( ) string {
if x != nil {
return x . Id
2018-04-05 14:00:16 +00:00
}
return ""
}
2022-06-11 07:52:24 +00:00
func ( x * ReadRequest ) GetUrn ( ) string {
if x != nil {
return x . Urn
2018-04-05 14:00:16 +00:00
}
return ""
}
2022-06-11 07:52:24 +00:00
func ( x * ReadRequest ) GetProperties ( ) * structpb . Struct {
if x != nil {
return x . Properties
2018-04-05 14:00:16 +00:00
}
return nil
}
2022-06-11 07:52:24 +00:00
func ( x * ReadRequest ) GetInputs ( ) * structpb . Struct {
if x != nil {
return x . Inputs
2019-03-11 20:50:00 +00:00
}
return nil
}
2018-04-05 14:00:16 +00:00
type ReadResponse struct {
2022-06-11 07:52:24 +00:00
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
2018-06-27 23:08:21 +00:00
2022-06-11 07:52:24 +00:00
Id string ` protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" ` // the ID of the resource read back (or empty if missing).
Properties * structpb . Struct ` protobuf:"bytes,2,opt,name=properties,proto3" json:"properties,omitempty" ` // the state of the resource read from the live environment.
Inputs * structpb . Struct ` protobuf:"bytes,3,opt,name=inputs,proto3" json:"inputs,omitempty" ` // the inputs for this resource that would be returned from Check.
2018-07-12 01:07:50 +00:00
}
2020-02-28 11:53:47 +00:00
2022-06-11 07:52:24 +00:00
func ( x * ReadResponse ) Reset ( ) {
* x = ReadResponse { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 20 ]
2022-06-11 07:52:24 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * ReadResponse ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( * ReadResponse ) ProtoMessage ( ) { }
func ( x * ReadResponse ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 20 ]
2022-06-11 07:52:24 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
// Deprecated: Use ReadResponse.ProtoReflect.Descriptor instead.
func ( * ReadResponse ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 20 }
2022-06-11 07:52:24 +00:00
}
2018-04-05 14:00:16 +00:00
2022-06-11 07:52:24 +00:00
func ( x * ReadResponse ) GetId ( ) string {
if x != nil {
return x . Id
2018-04-10 19:58:50 +00:00
}
return ""
}
2022-06-11 07:52:24 +00:00
func ( x * ReadResponse ) GetProperties ( ) * structpb . Struct {
if x != nil {
return x . Properties
2018-04-05 14:00:16 +00:00
}
return nil
}
2022-06-11 07:52:24 +00:00
func ( x * ReadResponse ) GetInputs ( ) * structpb . Struct {
if x != nil {
return x . Inputs
2019-03-05 18:49:24 +00:00
}
return nil
}
Initial support for output properties (1 of 3)
This change includes approximately 1/3rd of the change necessary
to support output properties, as per pulumi/lumi#90.
In short, the runtime now has a new hidden type, Latent<T>, which
represents a "speculative" value, whose eventual type will be T,
that we can use during evaluation in various ways. Namely,
operations against Latent<T>s generally produce new Latent<U>s.
During planning, any Latent<T>s that end up in resource properties
are transformed into "unknown" property values. An unknown property
value is legal only during planning-time activities, such as Check,
Name, and InspectChange. As a result, those RPC interfaces have
been updated to include lookaside maps indicating which properties
have unknown values. My intent is to add some helper functions to
make dealing with this circumstance more correct-by-construction.
For now, using an unresolved Latent<T> in a conditional will lead
to an error. See pulumi/lumi#67. Speculating beyond these -- by
supporting iterative planning and application -- is something we
want to support eventually, but it makes sense to do that as an
additive change beyond this initial support. That is a missing 1/3.
Finally, the other missing 1/3rd which will happen much sooner
than the rest is restructuing plan application so that it will
correctly observe resolution of Latent<T> values. Right now, the
evaluation happens in one single pass, prior to the application, and
so Latent<T>s never actually get witnessed in a resolved state.
2017-05-24 00:32:59 +00:00
type UpdateRequest struct {
2022-06-11 07:52:24 +00:00
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
2020-02-28 11:53:47 +00:00
2023-05-29 15:41:36 +00:00
Id string ` protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" ` // the ID of the resource to update.
Urn string ` protobuf:"bytes,2,opt,name=urn,proto3" json:"urn,omitempty" ` // the Pulumi URN for this resource.
Olds * structpb . Struct ` protobuf:"bytes,3,opt,name=olds,proto3" json:"olds,omitempty" ` // the old values of provider inputs for the resource to update.
News * structpb . Struct ` protobuf:"bytes,4,opt,name=news,proto3" json:"news,omitempty" ` // the new values of provider inputs for the resource to update.
Timeout float64 ` protobuf:"fixed64,5,opt,name=timeout,proto3" json:"timeout,omitempty" ` // the update request timeout represented in seconds.
IgnoreChanges [ ] string ` protobuf:"bytes,6,rep,name=ignoreChanges,proto3" json:"ignoreChanges,omitempty" ` // a set of property paths that should be treated as unchanged.
Preview bool ` protobuf:"varint,7,opt,name=preview,proto3" json:"preview,omitempty" ` // true if this is a preview and the provider should not actually create the resource.
OldInputs * structpb . Struct ` protobuf:"bytes,8,opt,name=old_inputs,json=oldInputs,proto3" json:"old_inputs,omitempty" ` // the old input values of the resource to diff.
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * UpdateRequest ) Reset ( ) {
* x = UpdateRequest { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 21 ]
2022-06-11 07:52:24 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * UpdateRequest ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( * UpdateRequest ) ProtoMessage ( ) { }
func ( x * UpdateRequest ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 21 ]
2022-06-11 07:52:24 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
2018-06-27 23:08:21 +00:00
}
2022-06-11 07:52:24 +00:00
// Deprecated: Use UpdateRequest.ProtoReflect.Descriptor instead.
func ( * UpdateRequest ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 21 }
2022-06-11 07:52:24 +00:00
}
Initial support for output properties (1 of 3)
This change includes approximately 1/3rd of the change necessary
to support output properties, as per pulumi/lumi#90.
In short, the runtime now has a new hidden type, Latent<T>, which
represents a "speculative" value, whose eventual type will be T,
that we can use during evaluation in various ways. Namely,
operations against Latent<T>s generally produce new Latent<U>s.
During planning, any Latent<T>s that end up in resource properties
are transformed into "unknown" property values. An unknown property
value is legal only during planning-time activities, such as Check,
Name, and InspectChange. As a result, those RPC interfaces have
been updated to include lookaside maps indicating which properties
have unknown values. My intent is to add some helper functions to
make dealing with this circumstance more correct-by-construction.
For now, using an unresolved Latent<T> in a conditional will lead
to an error. See pulumi/lumi#67. Speculating beyond these -- by
supporting iterative planning and application -- is something we
want to support eventually, but it makes sense to do that as an
additive change beyond this initial support. That is a missing 1/3.
Finally, the other missing 1/3rd which will happen much sooner
than the rest is restructuing plan application so that it will
correctly observe resolution of Latent<T> values. Right now, the
evaluation happens in one single pass, prior to the application, and
so Latent<T>s never actually get witnessed in a resolved state.
2017-05-24 00:32:59 +00:00
2022-06-11 07:52:24 +00:00
func ( x * UpdateRequest ) GetId ( ) string {
if x != nil {
return x . Id
Initial support for output properties (1 of 3)
This change includes approximately 1/3rd of the change necessary
to support output properties, as per pulumi/lumi#90.
In short, the runtime now has a new hidden type, Latent<T>, which
represents a "speculative" value, whose eventual type will be T,
that we can use during evaluation in various ways. Namely,
operations against Latent<T>s generally produce new Latent<U>s.
During planning, any Latent<T>s that end up in resource properties
are transformed into "unknown" property values. An unknown property
value is legal only during planning-time activities, such as Check,
Name, and InspectChange. As a result, those RPC interfaces have
been updated to include lookaside maps indicating which properties
have unknown values. My intent is to add some helper functions to
make dealing with this circumstance more correct-by-construction.
For now, using an unresolved Latent<T> in a conditional will lead
to an error. See pulumi/lumi#67. Speculating beyond these -- by
supporting iterative planning and application -- is something we
want to support eventually, but it makes sense to do that as an
additive change beyond this initial support. That is a missing 1/3.
Finally, the other missing 1/3rd which will happen much sooner
than the rest is restructuing plan application so that it will
correctly observe resolution of Latent<T> values. Right now, the
evaluation happens in one single pass, prior to the application, and
so Latent<T>s never actually get witnessed in a resolved state.
2017-05-24 00:32:59 +00:00
}
return ""
}
2022-06-11 07:52:24 +00:00
func ( x * UpdateRequest ) GetUrn ( ) string {
if x != nil {
return x . Urn
Initial support for output properties (1 of 3)
This change includes approximately 1/3rd of the change necessary
to support output properties, as per pulumi/lumi#90.
In short, the runtime now has a new hidden type, Latent<T>, which
represents a "speculative" value, whose eventual type will be T,
that we can use during evaluation in various ways. Namely,
operations against Latent<T>s generally produce new Latent<U>s.
During planning, any Latent<T>s that end up in resource properties
are transformed into "unknown" property values. An unknown property
value is legal only during planning-time activities, such as Check,
Name, and InspectChange. As a result, those RPC interfaces have
been updated to include lookaside maps indicating which properties
have unknown values. My intent is to add some helper functions to
make dealing with this circumstance more correct-by-construction.
For now, using an unresolved Latent<T> in a conditional will lead
to an error. See pulumi/lumi#67. Speculating beyond these -- by
supporting iterative planning and application -- is something we
want to support eventually, but it makes sense to do that as an
additive change beyond this initial support. That is a missing 1/3.
Finally, the other missing 1/3rd which will happen much sooner
than the rest is restructuing plan application so that it will
correctly observe resolution of Latent<T> values. Right now, the
evaluation happens in one single pass, prior to the application, and
so Latent<T>s never actually get witnessed in a resolved state.
2017-05-24 00:32:59 +00:00
}
return ""
}
2022-06-11 07:52:24 +00:00
func ( x * UpdateRequest ) GetOlds ( ) * structpb . Struct {
if x != nil {
return x . Olds
Initial support for output properties (1 of 3)
This change includes approximately 1/3rd of the change necessary
to support output properties, as per pulumi/lumi#90.
In short, the runtime now has a new hidden type, Latent<T>, which
represents a "speculative" value, whose eventual type will be T,
that we can use during evaluation in various ways. Namely,
operations against Latent<T>s generally produce new Latent<U>s.
During planning, any Latent<T>s that end up in resource properties
are transformed into "unknown" property values. An unknown property
value is legal only during planning-time activities, such as Check,
Name, and InspectChange. As a result, those RPC interfaces have
been updated to include lookaside maps indicating which properties
have unknown values. My intent is to add some helper functions to
make dealing with this circumstance more correct-by-construction.
For now, using an unresolved Latent<T> in a conditional will lead
to an error. See pulumi/lumi#67. Speculating beyond these -- by
supporting iterative planning and application -- is something we
want to support eventually, but it makes sense to do that as an
additive change beyond this initial support. That is a missing 1/3.
Finally, the other missing 1/3rd which will happen much sooner
than the rest is restructuing plan application so that it will
correctly observe resolution of Latent<T> values. Right now, the
evaluation happens in one single pass, prior to the application, and
so Latent<T>s never actually get witnessed in a resolved state.
2017-05-24 00:32:59 +00:00
}
return nil
}
2022-06-11 07:52:24 +00:00
func ( x * UpdateRequest ) GetNews ( ) * structpb . Struct {
if x != nil {
return x . News
Initial support for output properties (1 of 3)
This change includes approximately 1/3rd of the change necessary
to support output properties, as per pulumi/lumi#90.
In short, the runtime now has a new hidden type, Latent<T>, which
represents a "speculative" value, whose eventual type will be T,
that we can use during evaluation in various ways. Namely,
operations against Latent<T>s generally produce new Latent<U>s.
During planning, any Latent<T>s that end up in resource properties
are transformed into "unknown" property values. An unknown property
value is legal only during planning-time activities, such as Check,
Name, and InspectChange. As a result, those RPC interfaces have
been updated to include lookaside maps indicating which properties
have unknown values. My intent is to add some helper functions to
make dealing with this circumstance more correct-by-construction.
For now, using an unresolved Latent<T> in a conditional will lead
to an error. See pulumi/lumi#67. Speculating beyond these -- by
supporting iterative planning and application -- is something we
want to support eventually, but it makes sense to do that as an
additive change beyond this initial support. That is a missing 1/3.
Finally, the other missing 1/3rd which will happen much sooner
than the rest is restructuing plan application so that it will
correctly observe resolution of Latent<T> values. Right now, the
evaluation happens in one single pass, prior to the application, and
so Latent<T>s never actually get witnessed in a resolved state.
2017-05-24 00:32:59 +00:00
}
return nil
}
2022-06-11 07:52:24 +00:00
func ( x * UpdateRequest ) GetTimeout ( ) float64 {
if x != nil {
return x . Timeout
Addition of Custom Timeouts (#2885)
* Plumbing the custom timeouts from the engine to the providers
* Plumbing the CustomTimeouts through to the engine and adding test to show this
* Change the provider proto to include individual timeouts
* Plumbing the CustomTimeouts from the engine through to the Provider RPC interface
* Change how the CustomTimeouts are sent across RPC
These errors were spotted in testing. We can now see that the timeout
information is arriving in the RegisterResourceRequest
```
req=&pulumirpc.RegisterResourceRequest{
Type: "aws:s3/bucket:Bucket",
Name: "my-bucket",
Parent: "urn:pulumi:dev::aws-vpc::pulumi:pulumi:Stack::aws-vpc-dev",
Custom: true,
Object: &structpb.Struct{},
Protect: false,
Dependencies: nil,
Provider: "",
PropertyDependencies: {},
DeleteBeforeReplace: false,
Version: "",
IgnoreChanges: nil,
AcceptSecrets: true,
AdditionalSecretOutputs: nil,
Aliases: nil,
CustomTimeouts: &pulumirpc.RegisterResourceRequest_CustomTimeouts{
Create: 300,
Update: 400,
Delete: 500,
XXX_NoUnkeyedLiteral: struct {}{},
XXX_unrecognized: nil,
XXX_sizecache: 0,
},
XXX_NoUnkeyedLiteral: struct {}{},
XXX_unrecognized: nil,
XXX_sizecache: 0,
}
```
* Changing the design to use strings
* CHANGELOG entry to include the CustomTimeouts work
* Changing custom timeouts to be passed around the engine as converted value
We don't want to pass around strings - the user can provide it but we want
to make the engine aware of the timeout in seconds as a float64
2019-07-15 21:26:28 +00:00
}
return 0
}
2022-06-11 07:52:24 +00:00
func ( x * UpdateRequest ) GetIgnoreChanges ( ) [ ] string {
if x != nil {
return x . IgnoreChanges
2019-07-31 16:39:07 +00:00
}
return nil
}
2022-06-11 07:52:24 +00:00
func ( x * UpdateRequest ) GetPreview ( ) bool {
if x != nil {
return x . Preview
2020-10-09 20:13:55 +00:00
}
return false
}
2023-05-29 15:41:36 +00:00
func ( x * UpdateRequest ) GetOldInputs ( ) * structpb . Struct {
if x != nil {
return x . OldInputs
}
return nil
}
2017-07-18 01:44:45 +00:00
type UpdateResponse struct {
2022-06-11 07:52:24 +00:00
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
2018-07-12 01:07:50 +00:00
2022-06-11 07:52:24 +00:00
Properties * structpb . Struct ` protobuf:"bytes,1,opt,name=properties,proto3" json:"properties,omitempty" ` // any properties that were computed during updating.
2018-07-12 01:07:50 +00:00
}
2020-02-28 11:53:47 +00:00
2022-06-11 07:52:24 +00:00
func ( x * UpdateResponse ) Reset ( ) {
* x = UpdateResponse { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 22 ]
2022-06-11 07:52:24 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * UpdateResponse ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( * UpdateResponse ) ProtoMessage ( ) { }
func ( x * UpdateResponse ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 22 ]
2022-06-11 07:52:24 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
2018-06-27 23:08:21 +00:00
}
2017-07-18 01:44:45 +00:00
2022-06-11 07:52:24 +00:00
// Deprecated: Use UpdateResponse.ProtoReflect.Descriptor instead.
func ( * UpdateResponse ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 22 }
2022-06-11 07:52:24 +00:00
}
2018-06-27 23:08:21 +00:00
2022-06-11 07:52:24 +00:00
func ( x * UpdateResponse ) GetProperties ( ) * structpb . Struct {
if x != nil {
return x . Properties
2017-07-18 01:44:45 +00:00
}
return nil
}
2017-02-10 17:08:06 +00:00
type DeleteRequest struct {
2022-06-11 07:52:24 +00:00
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
2020-02-28 11:53:47 +00:00
2023-10-13 14:12:26 +00:00
Id string ` protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" ` // the ID of the resource to delete.
Urn string ` protobuf:"bytes,2,opt,name=urn,proto3" json:"urn,omitempty" ` // the Pulumi URN for this resource.
Properties * structpb . Struct ` protobuf:"bytes,3,opt,name=properties,proto3" json:"properties,omitempty" ` // the current properties on the resource.
Timeout float64 ` protobuf:"fixed64,4,opt,name=timeout,proto3" json:"timeout,omitempty" ` // the delete request timeout represented in seconds.
OldInputs * structpb . Struct ` protobuf:"bytes,5,opt,name=old_inputs,json=oldInputs,proto3" json:"old_inputs,omitempty" ` // the old input values of the resource to delete.
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * DeleteRequest ) Reset ( ) {
* x = DeleteRequest { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 23 ]
2022-06-11 07:52:24 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * DeleteRequest ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( * DeleteRequest ) ProtoMessage ( ) { }
func ( x * DeleteRequest ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 23 ]
2022-06-11 07:52:24 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
2018-06-27 23:08:21 +00:00
}
2022-06-11 07:52:24 +00:00
// Deprecated: Use DeleteRequest.ProtoReflect.Descriptor instead.
func ( * DeleteRequest ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 23 }
2022-06-11 07:52:24 +00:00
}
2017-02-10 17:08:06 +00:00
2022-06-11 07:52:24 +00:00
func ( x * DeleteRequest ) GetId ( ) string {
if x != nil {
return x . Id
2017-02-10 17:08:06 +00:00
}
return ""
}
2022-06-11 07:52:24 +00:00
func ( x * DeleteRequest ) GetUrn ( ) string {
if x != nil {
return x . Urn
Implement resource provider plugins
This change adds basic support for discovering, loading, binding to,
and invoking RPC methods on, resource provider plugins.
In a nutshell, we add a new context object that will share cached
state such as loaded plugins and connections to them. It will be
a policy decision in server scenarios how much state to share and
between whom. This context also controls per-resource context
allocation, which in the future will allow us to perform structured
cancellation and teardown amongst entire groups of requests.
Plugins are loaded based on their name, and can be found in one of
two ways: either simply by having them on your path (with a name of
"mu-ressrv-<pkg>", where "<pkg>" is the resource package name with
any "/"s replaced with "_"s); or by placing them in the standard
library installation location, which need not be on the path for this
to work (since we know precisely where to look).
If we find a protocol, we will load it as a child process.
The protocol for plugins is that they will choose a port on their
own -- to eliminate races that'd be involved should Mu attempt to
pre-pick one for them -- and then write that out as the first line
to STDOUT (terminated by a "\n"). This is the only STDERR/STDOUT
that Mu cares about; from there, the plugin is free to write all it
pleases (e.g., for logging, debugging purposes, etc).
Afterwards, we then bind our gRPC connection to that port, and create
a typed resource provider client. The CRUD operations that get driven
by plan application are then simple wrappers atop the underlying gRPC
calls. For now, we interpret all errors as catastrophic; in the near
future, we will probably want to introduce a "structured error"
mechanism in the gRPC interface for "transactional errors"; that is,
errors for which the server was able to recover to a safe checkpoint,
which can be interpreted as ResourceOK rather than ResourceUnknown.
2017-02-19 19:08:06 +00:00
}
return ""
}
2022-06-11 07:52:24 +00:00
func ( x * DeleteRequest ) GetProperties ( ) * structpb . Struct {
if x != nil {
return x . Properties
2017-07-19 14:57:22 +00:00
}
return nil
}
2022-06-11 07:52:24 +00:00
func ( x * DeleteRequest ) GetTimeout ( ) float64 {
if x != nil {
return x . Timeout
Addition of Custom Timeouts (#2885)
* Plumbing the custom timeouts from the engine to the providers
* Plumbing the CustomTimeouts through to the engine and adding test to show this
* Change the provider proto to include individual timeouts
* Plumbing the CustomTimeouts from the engine through to the Provider RPC interface
* Change how the CustomTimeouts are sent across RPC
These errors were spotted in testing. We can now see that the timeout
information is arriving in the RegisterResourceRequest
```
req=&pulumirpc.RegisterResourceRequest{
Type: "aws:s3/bucket:Bucket",
Name: "my-bucket",
Parent: "urn:pulumi:dev::aws-vpc::pulumi:pulumi:Stack::aws-vpc-dev",
Custom: true,
Object: &structpb.Struct{},
Protect: false,
Dependencies: nil,
Provider: "",
PropertyDependencies: {},
DeleteBeforeReplace: false,
Version: "",
IgnoreChanges: nil,
AcceptSecrets: true,
AdditionalSecretOutputs: nil,
Aliases: nil,
CustomTimeouts: &pulumirpc.RegisterResourceRequest_CustomTimeouts{
Create: 300,
Update: 400,
Delete: 500,
XXX_NoUnkeyedLiteral: struct {}{},
XXX_unrecognized: nil,
XXX_sizecache: 0,
},
XXX_NoUnkeyedLiteral: struct {}{},
XXX_unrecognized: nil,
XXX_sizecache: 0,
}
```
* Changing the design to use strings
* CHANGELOG entry to include the CustomTimeouts work
* Changing custom timeouts to be passed around the engine as converted value
We don't want to pass around strings - the user can provide it but we want
to make the engine aware of the timeout in seconds as a float64
2019-07-15 21:26:28 +00:00
}
return 0
}
2023-10-13 14:12:26 +00:00
func ( x * DeleteRequest ) GetOldInputs ( ) * structpb . Struct {
if x != nil {
return x . OldInputs
}
return nil
}
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
type ConstructRequest struct {
2022-06-11 07:52:24 +00:00
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
2022-06-11 07:52:24 +00:00
Project string ` protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty" ` // the project name.
Stack string ` protobuf:"bytes,2,opt,name=stack,proto3" json:"stack,omitempty" ` // the name of the stack being deployed into.
Config map [ string ] string ` protobuf:"bytes,3,rep,name=config,proto3" json:"config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" ` // the configuration variables to apply before running.
DryRun bool ` protobuf:"varint,4,opt,name=dryRun,proto3" json:"dryRun,omitempty" ` // true if we're only doing a dryrun (preview).
Parallel int32 ` protobuf:"varint,5,opt,name=parallel,proto3" json:"parallel,omitempty" ` // the degree of parallelism for resource operations (<=1 for serial).
MonitorEndpoint string ` protobuf:"bytes,6,opt,name=monitorEndpoint,proto3" json:"monitorEndpoint,omitempty" ` // the address for communicating back to the resource monitor.
Type string ` protobuf:"bytes,7,opt,name=type,proto3" json:"type,omitempty" ` // the type of the object allocated.
Name string ` protobuf:"bytes,8,opt,name=name,proto3" json:"name,omitempty" ` // the name, for URN purposes, of the object.
Parent string ` protobuf:"bytes,9,opt,name=parent,proto3" json:"parent,omitempty" ` // an optional parent URN that this child resource belongs to.
Inputs * structpb . Struct ` protobuf:"bytes,10,opt,name=inputs,proto3" json:"inputs,omitempty" ` // the inputs to the resource constructor.
InputDependencies map [ string ] * ConstructRequest_PropertyDependencies ` protobuf:"bytes,11,rep,name=inputDependencies,proto3" json:"inputDependencies,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" ` // a map from property keys to the dependencies of the property.
Providers map [ string ] string ` protobuf:"bytes,13,rep,name=providers,proto3" json:"providers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" ` // the map of providers to use for this resource's children.
Dependencies [ ] string ` protobuf:"bytes,15,rep,name=dependencies,proto3" json:"dependencies,omitempty" ` // a list of URNs that this resource depends on, as observed by the language host.
ConfigSecretKeys [ ] string ` protobuf:"bytes,16,rep,name=configSecretKeys,proto3" json:"configSecretKeys,omitempty" ` // the configuration keys that have secret values.
2022-08-31 09:33:29 +00:00
Organization string ` protobuf:"bytes,17,opt,name=organization,proto3" json:"organization,omitempty" ` // the organization of the stack being deployed into.
2023-03-06 23:08:13 +00:00
// Resource options:
// Do not change field IDs. Add new fields at the end.
2024-02-14 08:15:24 +00:00
Protect bool ` protobuf:"varint,12,opt,name=protect,proto3" json:"protect,omitempty" ` // true if the resource should be marked protected.
Aliases [ ] string ` protobuf:"bytes,14,rep,name=aliases,proto3" json:"aliases,omitempty" ` // a list of additional URNs that shoud be considered the same.
AdditionalSecretOutputs [ ] string ` protobuf:"bytes,18,rep,name=additionalSecretOutputs,proto3" json:"additionalSecretOutputs,omitempty" ` // additional output properties that should be treated as secrets.
CustomTimeouts * ConstructRequest_CustomTimeouts ` protobuf:"bytes,19,opt,name=customTimeouts,proto3" json:"customTimeouts,omitempty" ` // default timeouts for CRUD operations on this resource.
DeletedWith string ` protobuf:"bytes,20,opt,name=deletedWith,proto3" json:"deletedWith,omitempty" ` // URN of a resource that, if deleted, also deletes this resource.
DeleteBeforeReplace bool ` protobuf:"varint,21,opt,name=deleteBeforeReplace,proto3" json:"deleteBeforeReplace,omitempty" ` // whether to delete the resource before replacing it.
IgnoreChanges [ ] string ` protobuf:"bytes,22,rep,name=ignoreChanges,proto3" json:"ignoreChanges,omitempty" ` // properties that should be ignored during a diff
ReplaceOnChanges [ ] string ` protobuf:"bytes,23,rep,name=replaceOnChanges,proto3" json:"replaceOnChanges,omitempty" ` // properties that, when changed, trigger a replacement
RetainOnDelete bool ` protobuf:"varint,24,opt,name=retainOnDelete,proto3" json:"retainOnDelete,omitempty" ` // whether to retain the resource in the cloud provider when it is deleted
AcceptsOutputValues bool ` protobuf:"varint,25,opt,name=accepts_output_values,json=acceptsOutputValues,proto3" json:"accepts_output_values,omitempty" ` // the engine can be passed output values back, stateDependencies can be left blank if returning output values.
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * ConstructRequest ) Reset ( ) {
* x = ConstructRequest { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 24 ]
2022-06-11 07:52:24 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * ConstructRequest ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
2022-06-11 07:52:24 +00:00
func ( * ConstructRequest ) ProtoMessage ( ) { }
func ( x * ConstructRequest ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 24 ]
2022-06-11 07:52:24 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
2022-06-11 07:52:24 +00:00
// Deprecated: Use ConstructRequest.ProtoReflect.Descriptor instead.
func ( * ConstructRequest ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 24 }
2022-06-11 07:52:24 +00:00
}
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
2022-06-11 07:52:24 +00:00
func ( x * ConstructRequest ) GetProject ( ) string {
if x != nil {
return x . Project
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
return ""
}
2022-06-11 07:52:24 +00:00
func ( x * ConstructRequest ) GetStack ( ) string {
if x != nil {
return x . Stack
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
return ""
}
2022-06-11 07:52:24 +00:00
func ( x * ConstructRequest ) GetConfig ( ) map [ string ] string {
if x != nil {
return x . Config
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
return nil
}
2022-06-11 07:52:24 +00:00
func ( x * ConstructRequest ) GetDryRun ( ) bool {
if x != nil {
return x . DryRun
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
return false
}
2022-06-11 07:52:24 +00:00
func ( x * ConstructRequest ) GetParallel ( ) int32 {
if x != nil {
return x . Parallel
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
return 0
}
2022-06-11 07:52:24 +00:00
func ( x * ConstructRequest ) GetMonitorEndpoint ( ) string {
if x != nil {
return x . MonitorEndpoint
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
return ""
}
2022-06-11 07:52:24 +00:00
func ( x * ConstructRequest ) GetType ( ) string {
if x != nil {
return x . Type
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
return ""
}
2022-06-11 07:52:24 +00:00
func ( x * ConstructRequest ) GetName ( ) string {
if x != nil {
return x . Name
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
return ""
}
2022-06-11 07:52:24 +00:00
func ( x * ConstructRequest ) GetParent ( ) string {
if x != nil {
return x . Parent
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
return ""
}
2022-06-11 07:52:24 +00:00
func ( x * ConstructRequest ) GetInputs ( ) * structpb . Struct {
if x != nil {
return x . Inputs
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
return nil
}
2022-06-11 07:52:24 +00:00
func ( x * ConstructRequest ) GetInputDependencies ( ) map [ string ] * ConstructRequest_PropertyDependencies {
if x != nil {
return x . InputDependencies
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
return nil
}
2023-03-06 23:08:13 +00:00
func ( x * ConstructRequest ) GetProviders ( ) map [ string ] string {
2022-06-11 07:52:24 +00:00
if x != nil {
2023-03-06 23:08:13 +00:00
return x . Providers
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
2023-03-06 23:08:13 +00:00
return nil
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
2023-03-06 23:08:13 +00:00
func ( x * ConstructRequest ) GetDependencies ( ) [ ] string {
2022-06-11 07:52:24 +00:00
if x != nil {
2023-03-06 23:08:13 +00:00
return x . Dependencies
}
return nil
}
func ( x * ConstructRequest ) GetConfigSecretKeys ( ) [ ] string {
if x != nil {
return x . ConfigSecretKeys
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
return nil
}
2023-03-06 23:08:13 +00:00
func ( x * ConstructRequest ) GetOrganization ( ) string {
if x != nil {
return x . Organization
}
return ""
}
func ( x * ConstructRequest ) GetProtect ( ) bool {
if x != nil {
return x . Protect
}
return false
}
2022-06-11 07:52:24 +00:00
func ( x * ConstructRequest ) GetAliases ( ) [ ] string {
if x != nil {
return x . Aliases
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
return nil
}
2023-03-06 23:08:13 +00:00
func ( x * ConstructRequest ) GetAdditionalSecretOutputs ( ) [ ] string {
2022-06-11 07:52:24 +00:00
if x != nil {
2023-03-06 23:08:13 +00:00
return x . AdditionalSecretOutputs
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
return nil
}
2023-03-06 23:08:13 +00:00
func ( x * ConstructRequest ) GetCustomTimeouts ( ) * ConstructRequest_CustomTimeouts {
2022-06-11 07:52:24 +00:00
if x != nil {
2023-03-06 23:08:13 +00:00
return x . CustomTimeouts
2021-06-24 22:38:01 +00:00
}
return nil
}
2023-03-06 23:08:13 +00:00
func ( x * ConstructRequest ) GetDeletedWith ( ) string {
2022-08-31 09:33:29 +00:00
if x != nil {
2023-03-06 23:08:13 +00:00
return x . DeletedWith
2022-08-31 09:33:29 +00:00
}
return ""
}
2023-03-06 23:08:13 +00:00
func ( x * ConstructRequest ) GetDeleteBeforeReplace ( ) bool {
if x != nil {
return x . DeleteBeforeReplace
}
return false
}
func ( x * ConstructRequest ) GetIgnoreChanges ( ) [ ] string {
if x != nil {
return x . IgnoreChanges
}
return nil
}
func ( x * ConstructRequest ) GetReplaceOnChanges ( ) [ ] string {
if x != nil {
return x . ReplaceOnChanges
}
return nil
}
func ( x * ConstructRequest ) GetRetainOnDelete ( ) bool {
if x != nil {
return x . RetainOnDelete
}
return false
}
2024-02-14 08:15:24 +00:00
func ( x * ConstructRequest ) GetAcceptsOutputValues ( ) bool {
if x != nil {
return x . AcceptsOutputValues
}
return false
}
2022-06-11 07:52:24 +00:00
type ConstructResponse struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
2022-06-11 07:52:24 +00:00
Urn string ` protobuf:"bytes,1,opt,name=urn,proto3" json:"urn,omitempty" ` // the URN of the component resource.
State * structpb . Struct ` protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty" ` // any properties that were computed during construction.
StateDependencies map [ string ] * ConstructResponse_PropertyDependencies ` protobuf:"bytes,3,rep,name=stateDependencies,proto3" json:"stateDependencies,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" ` // a map from property keys to the dependencies of the property.
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * ConstructResponse ) Reset ( ) {
* x = ConstructResponse { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 25 ]
2022-06-11 07:52:24 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * ConstructResponse ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
2022-06-11 07:52:24 +00:00
func ( * ConstructResponse ) ProtoMessage ( ) { }
func ( x * ConstructResponse ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 25 ]
2022-06-11 07:52:24 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
2022-06-11 07:52:24 +00:00
// Deprecated: Use ConstructResponse.ProtoReflect.Descriptor instead.
func ( * ConstructResponse ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 25 }
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * ConstructResponse ) GetUrn ( ) string {
if x != nil {
return x . Urn
}
return ""
}
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
2022-06-11 07:52:24 +00:00
func ( x * ConstructResponse ) GetState ( ) * structpb . Struct {
if x != nil {
return x . State
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
return nil
}
2022-06-11 07:52:24 +00:00
func ( x * ConstructResponse ) GetStateDependencies ( ) map [ string ] * ConstructResponse_PropertyDependencies {
if x != nil {
return x . StateDependencies
}
return nil
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
2022-06-11 07:52:24 +00:00
// ErrorResourceInitFailed is sent as a Detail `ResourceProvider.{Create, Update}` fail because a
// resource was created successfully, but failed to initialize.
type ErrorResourceInitFailed struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
2022-06-11 07:52:24 +00:00
Id string ` protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" ` // the ID of the created resource.
Properties * structpb . Struct ` protobuf:"bytes,2,opt,name=properties,proto3" json:"properties,omitempty" ` // any properties that were computed during updating.
Reasons [ ] string ` protobuf:"bytes,3,rep,name=reasons,proto3" json:"reasons,omitempty" ` // error messages associated with initialization failure.
Inputs * structpb . Struct ` protobuf:"bytes,4,opt,name=inputs,proto3" json:"inputs,omitempty" ` // the current inputs to this resource (only applicable for Read)
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * ErrorResourceInitFailed ) Reset ( ) {
* x = ErrorResourceInitFailed { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 26 ]
2022-06-11 07:52:24 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * ErrorResourceInitFailed ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
2022-06-11 07:52:24 +00:00
func ( * ErrorResourceInitFailed ) ProtoMessage ( ) { }
func ( x * ErrorResourceInitFailed ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 26 ]
2022-06-11 07:52:24 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
2022-06-11 07:52:24 +00:00
// Deprecated: Use ErrorResourceInitFailed.ProtoReflect.Descriptor instead.
func ( * ErrorResourceInitFailed ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 26 }
2022-06-11 07:52:24 +00:00
}
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
2022-06-11 07:52:24 +00:00
func ( x * ErrorResourceInitFailed ) GetId ( ) string {
if x != nil {
return x . Id
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
return ""
}
2022-06-11 07:52:24 +00:00
func ( x * ErrorResourceInitFailed ) GetProperties ( ) * structpb . Struct {
if x != nil {
return x . Properties
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
return nil
}
2022-06-11 07:52:24 +00:00
func ( x * ErrorResourceInitFailed ) GetReasons ( ) [ ] string {
if x != nil {
return x . Reasons
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
return nil
}
2022-06-11 07:52:24 +00:00
func ( x * ErrorResourceInitFailed ) GetInputs ( ) * structpb . Struct {
if x != nil {
return x . Inputs
}
return nil
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
2022-11-16 17:22:47 +00:00
// GetMappingRequest allows providers to return ecosystem specific information to allow the provider to be
// converted from a source markup to Pulumi. It's expected that provider bridges that target a given ecosystem
// (e.g. Terraform, Kubernetes) would also publish a conversion plugin to convert markup from that ecosystem
// to Pulumi, using the bridged providers.
type GetMappingRequest struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
// the conversion key for the mapping being requested.
Key string ` protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty" `
2023-09-21 11:45:07 +00:00
// the optional provider key for the mapping being requested, if this is empty the provider should assume this
// request is from an old engine from before GetMappings and should return it's "primary" mapping. If this is set
// then the `provider` field in GetMappingResponse should be the same.
Provider string ` protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty" `
2022-11-16 17:22:47 +00:00
}
func ( x * GetMappingRequest ) Reset ( ) {
* x = GetMappingRequest { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 27 ]
2022-11-16 17:22:47 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
}
func ( x * GetMappingRequest ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
}
func ( * GetMappingRequest ) ProtoMessage ( ) { }
func ( x * GetMappingRequest ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 27 ]
2022-11-16 17:22:47 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
}
// Deprecated: Use GetMappingRequest.ProtoReflect.Descriptor instead.
func ( * GetMappingRequest ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 27 }
2022-11-16 17:22:47 +00:00
}
func ( x * GetMappingRequest ) GetKey ( ) string {
if x != nil {
return x . Key
}
return ""
}
2023-09-21 11:45:07 +00:00
func ( x * GetMappingRequest ) GetProvider ( ) string {
if x != nil {
return x . Provider
}
return ""
}
2022-11-16 17:22:47 +00:00
// GetMappingResponse returns convert plugin specific data for this provider. This will normally be human
// readable JSON, but the engine doesn't mandate any form.
type GetMappingResponse struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
// the provider key this is mapping for. For example the Pulumi provider "terraform-template" would return "template" for this.
Provider string ` protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty" `
// the conversion plugin specific data.
Data [ ] byte ` protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty" `
}
func ( x * GetMappingResponse ) Reset ( ) {
* x = GetMappingResponse { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 28 ]
2022-11-16 17:22:47 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
}
func ( x * GetMappingResponse ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
}
func ( * GetMappingResponse ) ProtoMessage ( ) { }
func ( x * GetMappingResponse ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 28 ]
2022-11-16 17:22:47 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
}
// Deprecated: Use GetMappingResponse.ProtoReflect.Descriptor instead.
func ( * GetMappingResponse ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 28 }
2022-11-16 17:22:47 +00:00
}
func ( x * GetMappingResponse ) GetProvider ( ) string {
if x != nil {
return x . Provider
}
return ""
}
func ( x * GetMappingResponse ) GetData ( ) [ ] byte {
if x != nil {
return x . Data
}
return nil
}
2023-09-21 11:45:07 +00:00
// GetMappingsRequest allows providers to return ecosystem specific information without having to send back large data
// blobs for provider mappings that the engine doesn't then need.
type GetMappingsRequest struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
// the conversion key for the mapping being requested.
Key string ` protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty" `
}
func ( x * GetMappingsRequest ) Reset ( ) {
* x = GetMappingsRequest { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 29 ]
2023-09-21 11:45:07 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
}
func ( x * GetMappingsRequest ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
}
func ( * GetMappingsRequest ) ProtoMessage ( ) { }
func ( x * GetMappingsRequest ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 29 ]
2023-09-21 11:45:07 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
}
// Deprecated: Use GetMappingsRequest.ProtoReflect.Descriptor instead.
func ( * GetMappingsRequest ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 29 }
2023-09-21 11:45:07 +00:00
}
func ( x * GetMappingsRequest ) GetKey ( ) string {
if x != nil {
return x . Key
}
return ""
}
// GetMappingsRequest returns a list of providers that this provider can provide mapping information for.
type GetMappingsResponse struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
// the provider keys this provider can supply mappings for. For example the Pulumi provider "terraform-template"
// would return ["template"] for this.
Providers [ ] string ` protobuf:"bytes,1,rep,name=providers,proto3" json:"providers,omitempty" `
}
func ( x * GetMappingsResponse ) Reset ( ) {
* x = GetMappingsResponse { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 30 ]
2023-09-21 11:45:07 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
}
func ( x * GetMappingsResponse ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
}
func ( * GetMappingsResponse ) ProtoMessage ( ) { }
func ( x * GetMappingsResponse ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 30 ]
2023-09-21 11:45:07 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
}
// Deprecated: Use GetMappingsResponse.ProtoReflect.Descriptor instead.
func ( * GetMappingsResponse ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 30 }
2023-09-21 11:45:07 +00:00
}
func ( x * GetMappingsResponse ) GetProviders ( ) [ ] string {
if x != nil {
return x . Providers
}
return nil
}
2024-05-15 16:22:39 +00:00
type ParameterizeRequest_ParametersArgs struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
Args [ ] string ` protobuf:"bytes,1,rep,name=args,proto3" json:"args,omitempty" `
}
func ( x * ParameterizeRequest_ParametersArgs ) Reset ( ) {
* x = ParameterizeRequest_ParametersArgs { }
if protoimpl . UnsafeEnabled {
mi := & file_pulumi_provider_proto_msgTypes [ 31 ]
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
}
func ( x * ParameterizeRequest_ParametersArgs ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
}
func ( * ParameterizeRequest_ParametersArgs ) ProtoMessage ( ) { }
func ( x * ParameterizeRequest_ParametersArgs ) ProtoReflect ( ) protoreflect . Message {
mi := & file_pulumi_provider_proto_msgTypes [ 31 ]
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
}
// Deprecated: Use ParameterizeRequest_ParametersArgs.ProtoReflect.Descriptor instead.
func ( * ParameterizeRequest_ParametersArgs ) Descriptor ( ) ( [ ] byte , [ ] int ) {
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 0 , 0 }
}
func ( x * ParameterizeRequest_ParametersArgs ) GetArgs ( ) [ ] string {
if x != nil {
return x . Args
}
return nil
}
type ParameterizeRequest_ParametersValue struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
// The sub-package name for this sub-schema parameterization.
Name string ` protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty" `
// The sub-package version for this sub-schema parameterization.
Version string ` protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty" `
// The embedded value from the sub-package.
Value * structpb . Value ` protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty" `
}
func ( x * ParameterizeRequest_ParametersValue ) Reset ( ) {
* x = ParameterizeRequest_ParametersValue { }
if protoimpl . UnsafeEnabled {
mi := & file_pulumi_provider_proto_msgTypes [ 32 ]
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
}
func ( x * ParameterizeRequest_ParametersValue ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
}
func ( * ParameterizeRequest_ParametersValue ) ProtoMessage ( ) { }
func ( x * ParameterizeRequest_ParametersValue ) ProtoReflect ( ) protoreflect . Message {
mi := & file_pulumi_provider_proto_msgTypes [ 32 ]
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
}
// Deprecated: Use ParameterizeRequest_ParametersValue.ProtoReflect.Descriptor instead.
func ( * ParameterizeRequest_ParametersValue ) Descriptor ( ) ( [ ] byte , [ ] int ) {
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 0 , 1 }
}
func ( x * ParameterizeRequest_ParametersValue ) GetName ( ) string {
if x != nil {
return x . Name
}
return ""
}
func ( x * ParameterizeRequest_ParametersValue ) GetVersion ( ) string {
if x != nil {
return x . Version
}
return ""
}
func ( x * ParameterizeRequest_ParametersValue ) GetValue ( ) * structpb . Value {
if x != nil {
return x . Value
}
return nil
}
2022-06-11 07:52:24 +00:00
type ConfigureErrorMissingKeys_MissingKey struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
Name string ` protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty" ` // the Pulumi name (not the provider name!) of the missing config key.
Description string ` protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty" ` // a description of the missing config key, as reported by the provider.
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * ConfigureErrorMissingKeys_MissingKey ) Reset ( ) {
* x = ConfigureErrorMissingKeys_MissingKey { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 34 ]
2022-06-11 07:52:24 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * ConfigureErrorMissingKeys_MissingKey ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
2022-06-11 07:52:24 +00:00
func ( * ConfigureErrorMissingKeys_MissingKey ) ProtoMessage ( ) { }
func ( x * ConfigureErrorMissingKeys_MissingKey ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 34 ]
2022-06-11 07:52:24 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
2022-06-11 07:52:24 +00:00
// Deprecated: Use ConfigureErrorMissingKeys_MissingKey.ProtoReflect.Descriptor instead.
func ( * ConfigureErrorMissingKeys_MissingKey ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 6 , 0 }
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * ConfigureErrorMissingKeys_MissingKey ) GetName ( ) string {
if x != nil {
return x . Name
}
return ""
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * ConfigureErrorMissingKeys_MissingKey ) GetDescription ( ) string {
if x != nil {
return x . Description
}
return ""
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
2022-06-11 07:52:24 +00:00
// ArgumentDependencies describes the resources that a particular argument depends on.
type CallRequest_ArgumentDependencies struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
2022-06-11 07:52:24 +00:00
Urns [ ] string ` protobuf:"bytes,1,rep,name=urns,proto3" json:"urns,omitempty" ` // A list of URNs this argument depends on.
}
func ( x * CallRequest_ArgumentDependencies ) Reset ( ) {
* x = CallRequest_ArgumentDependencies { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 35 ]
2022-06-11 07:52:24 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
Initial support for remote component construction. (#5280)
These changes add initial support for the construction of remote
components. For now, this support is limited to the NodeJS SDK;
follow-up changes will implement support for the other SDKs.
Remote components are component resources that are constructed and
managed by plugins rather than by Pulumi programs. In this sense, they
are a bit like cloud resources, and are supported by the same
distribution and plugin loading mechanisms and described by the same
schema system.
The construction of a remote component is initiated by a
`RegisterResourceRequest` with the new `remote` field set to `true`.
When the resource monitor receives such a request, it loads the plugin
that implements the component resource and calls the `Construct`
method added to the resource provider interface as part of these
changes. This method accepts the information necessary to construct the
component and its children: the component's name, type, resource
options, inputs, and input dependencies. It is responsible for
dispatching to the appropriate component factory to create the
component, then returning its URN, resolved output properties, and
output property dependencies. The dependency information is necessary to
support features such as delete-before-replace, which rely on precise
dependency information for custom resources.
These changes also add initial support for more conveniently
implementing resource providers in NodeJS. The interface used to
implement such a provider is similar to the dynamic provider interface
(and may be unified with that interface in the future).
An example of a NodeJS program constructing a remote component resource
also implemented in NodeJS can be found in
`tests/construct_component/nodejs`.
This is the core of #2430.
2020-09-08 02:33:55 +00:00
}
}
2022-06-11 07:52:24 +00:00
func ( x * CallRequest_ArgumentDependencies ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
}
func ( * CallRequest_ArgumentDependencies ) ProtoMessage ( ) { }
func ( x * CallRequest_ArgumentDependencies ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 35 ]
2022-06-11 07:52:24 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
2018-07-12 01:07:50 +00:00
}
2020-02-28 11:53:47 +00:00
2022-06-11 07:52:24 +00:00
// Deprecated: Use CallRequest_ArgumentDependencies.ProtoReflect.Descriptor instead.
func ( * CallRequest_ArgumentDependencies ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 9 , 0 }
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * CallRequest_ArgumentDependencies ) GetUrns ( ) [ ] string {
if x != nil {
return x . Urns
}
return nil
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
// ReturnDependencies describes the resources that a particular return value depends on.
type CallResponse_ReturnDependencies struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
Urns [ ] string ` protobuf:"bytes,1,rep,name=urns,proto3" json:"urns,omitempty" ` // A list of URNs this return value depends on.
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * CallResponse_ReturnDependencies ) Reset ( ) {
* x = CallResponse_ReturnDependencies { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 38 ]
2022-06-11 07:52:24 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( x * CallResponse_ReturnDependencies ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
2018-07-12 01:07:50 +00:00
}
2022-06-11 07:52:24 +00:00
func ( * CallResponse_ReturnDependencies ) ProtoMessage ( ) { }
2018-06-27 23:08:21 +00:00
2022-06-11 07:52:24 +00:00
func ( x * CallResponse_ReturnDependencies ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 38 ]
2022-06-11 07:52:24 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
2018-06-27 23:08:21 +00:00
}
2022-06-11 07:52:24 +00:00
return mi . MessageOf ( x )
2018-06-27 23:08:21 +00:00
}
2022-06-11 07:52:24 +00:00
// Deprecated: Use CallResponse_ReturnDependencies.ProtoReflect.Descriptor instead.
func ( * CallResponse_ReturnDependencies ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 10 , 0 }
2022-06-11 07:52:24 +00:00
}
func ( x * CallResponse_ReturnDependencies ) GetUrns ( ) [ ] string {
if x != nil {
return x . Urns
2018-06-27 23:08:21 +00:00
}
return nil
}
2022-06-11 07:52:24 +00:00
// PropertyDependencies describes the resources that a particular property depends on.
type ConstructRequest_PropertyDependencies struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
Urns [ ] string ` protobuf:"bytes,1,rep,name=urns,proto3" json:"urns,omitempty" ` // A list of URNs this property depends on.
}
func ( x * ConstructRequest_PropertyDependencies ) Reset ( ) {
* x = ConstructRequest_PropertyDependencies { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 41 ]
2022-06-11 07:52:24 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
}
func ( x * ConstructRequest_PropertyDependencies ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
}
func ( * ConstructRequest_PropertyDependencies ) ProtoMessage ( ) { }
func ( x * ConstructRequest_PropertyDependencies ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 41 ]
2022-06-11 07:52:24 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
}
// Deprecated: Use ConstructRequest_PropertyDependencies.ProtoReflect.Descriptor instead.
func ( * ConstructRequest_PropertyDependencies ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 24 , 0 }
2022-06-11 07:52:24 +00:00
}
func ( x * ConstructRequest_PropertyDependencies ) GetUrns ( ) [ ] string {
if x != nil {
return x . Urns
2018-06-27 23:08:21 +00:00
}
return nil
}
2023-03-06 23:08:13 +00:00
// CustomTimeouts specifies timeouts for resource provisioning operations.
// Use it with the [Timeouts] option when creating new resources
// to override default timeouts.
//
// Each timeout is specified as a duration string such as,
// "5ms" (5 milliseconds), "40s" (40 seconds),
// and "1m30s" (1 minute, 30 seconds).
//
// The following units are accepted.
//
// - ns: nanoseconds
// - us: microseconds
// - µs: microseconds
// - ms: milliseconds
// - s: seconds
// - m: minutes
// - h: hours
type ConstructRequest_CustomTimeouts struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
Create string ` protobuf:"bytes,1,opt,name=create,proto3" json:"create,omitempty" `
Update string ` protobuf:"bytes,2,opt,name=update,proto3" json:"update,omitempty" `
Delete string ` protobuf:"bytes,3,opt,name=delete,proto3" json:"delete,omitempty" `
}
func ( x * ConstructRequest_CustomTimeouts ) Reset ( ) {
* x = ConstructRequest_CustomTimeouts { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 42 ]
2023-03-06 23:08:13 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
}
func ( x * ConstructRequest_CustomTimeouts ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
}
func ( * ConstructRequest_CustomTimeouts ) ProtoMessage ( ) { }
func ( x * ConstructRequest_CustomTimeouts ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 42 ]
2023-03-06 23:08:13 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
}
// Deprecated: Use ConstructRequest_CustomTimeouts.ProtoReflect.Descriptor instead.
func ( * ConstructRequest_CustomTimeouts ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 24 , 1 }
2023-03-06 23:08:13 +00:00
}
func ( x * ConstructRequest_CustomTimeouts ) GetCreate ( ) string {
if x != nil {
return x . Create
}
return ""
}
func ( x * ConstructRequest_CustomTimeouts ) GetUpdate ( ) string {
if x != nil {
return x . Update
}
return ""
}
func ( x * ConstructRequest_CustomTimeouts ) GetDelete ( ) string {
if x != nil {
return x . Delete
}
return ""
}
2022-06-11 07:52:24 +00:00
// PropertyDependencies describes the resources that a particular property depends on.
type ConstructResponse_PropertyDependencies struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
Urns [ ] string ` protobuf:"bytes,1,rep,name=urns,proto3" json:"urns,omitempty" ` // A list of URNs this property depends on.
}
func ( x * ConstructResponse_PropertyDependencies ) Reset ( ) {
* x = ConstructResponse_PropertyDependencies { }
if protoimpl . UnsafeEnabled {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 46 ]
2022-06-11 07:52:24 +00:00
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
}
func ( x * ConstructResponse_PropertyDependencies ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
}
func ( * ConstructResponse_PropertyDependencies ) ProtoMessage ( ) { }
func ( x * ConstructResponse_PropertyDependencies ) ProtoReflect ( ) protoreflect . Message {
2024-05-15 16:22:39 +00:00
mi := & file_pulumi_provider_proto_msgTypes [ 46 ]
2022-06-11 07:52:24 +00:00
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
}
// Deprecated: Use ConstructResponse_PropertyDependencies.ProtoReflect.Descriptor instead.
func ( * ConstructResponse_PropertyDependencies ) Descriptor ( ) ( [ ] byte , [ ] int ) {
2024-05-15 16:22:39 +00:00
return file_pulumi_provider_proto_rawDescGZIP ( ) , [ ] int { 25 , 0 }
2022-06-11 07:52:24 +00:00
}
func ( x * ConstructResponse_PropertyDependencies ) GetUrns ( ) [ ] string {
if x != nil {
return x . Urns
2019-03-05 18:49:24 +00:00
}
return nil
}
2022-07-12 13:45:03 +00:00
var File_pulumi_provider_proto protoreflect . FileDescriptor
var file_pulumi_provider_proto_rawDesc = [ ] byte {
0x0a , 0x15 , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x2f , 0x70 , 0x72 , 0x6f , 0x76 , 0x69 , 0x64 , 0x65 ,
0x72 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x12 , 0x09 , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 ,
0x70 , 0x63 , 0x1a , 0x13 , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x2f , 0x70 , 0x6c , 0x75 , 0x67 , 0x69 ,
0x6e , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x1a , 0x1b , 0x67 , 0x6f , 0x6f , 0x67 , 0x6c , 0x65 , 0x2f ,
0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x62 , 0x75 , 0x66 , 0x2f , 0x65 , 0x6d , 0x70 , 0x74 , 0x79 , 0x2e , 0x70 ,
0x72 , 0x6f , 0x74 , 0x6f , 0x1a , 0x1c , 0x67 , 0x6f , 0x6f , 0x67 , 0x6c , 0x65 , 0x2f , 0x70 , 0x72 , 0x6f ,
0x74 , 0x6f , 0x62 , 0x75 , 0x66 , 0x2f , 0x73 , 0x74 , 0x72 , 0x75 , 0x63 , 0x74 , 0x2e , 0x70 , 0x72 , 0x6f ,
2024-05-15 16:22:39 +00:00
0x74 , 0x6f , 0x22 , 0xc5 , 0x02 , 0x0a , 0x13 , 0x50 , 0x61 , 0x72 , 0x61 , 0x6d , 0x65 , 0x74 , 0x65 , 0x72 ,
0x69 , 0x7a , 0x65 , 0x52 , 0x65 , 0x71 , 0x75 , 0x65 , 0x73 , 0x74 , 0x12 , 0x43 , 0x0a , 0x04 , 0x61 , 0x72 ,
0x67 , 0x73 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 , 0x2d , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d ,
0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x50 , 0x61 , 0x72 , 0x61 , 0x6d , 0x65 , 0x74 , 0x65 , 0x72 , 0x69 , 0x7a ,
0x65 , 0x52 , 0x65 , 0x71 , 0x75 , 0x65 , 0x73 , 0x74 , 0x2e , 0x50 , 0x61 , 0x72 , 0x61 , 0x6d , 0x65 , 0x74 ,
0x65 , 0x72 , 0x73 , 0x41 , 0x72 , 0x67 , 0x73 , 0x48 , 0x00 , 0x52 , 0x04 , 0x61 , 0x72 , 0x67 , 0x73 , 0x12 ,
0x46 , 0x0a , 0x05 , 0x76 , 0x61 , 0x6c , 0x75 , 0x65 , 0x18 , 0x02 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 , 0x2e ,
0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x50 , 0x61 , 0x72 , 0x61 , 0x6d ,
0x65 , 0x74 , 0x65 , 0x72 , 0x69 , 0x7a , 0x65 , 0x52 , 0x65 , 0x71 , 0x75 , 0x65 , 0x73 , 0x74 , 0x2e , 0x50 ,
0x61 , 0x72 , 0x61 , 0x6d , 0x65 , 0x74 , 0x65 , 0x72 , 0x73 , 0x56 , 0x61 , 0x6c , 0x75 , 0x65 , 0x48 , 0x00 ,
0x52 , 0x05 , 0x76 , 0x61 , 0x6c , 0x75 , 0x65 , 0x1a , 0x24 , 0x0a , 0x0e , 0x50 , 0x61 , 0x72 , 0x61 , 0x6d ,
0x65 , 0x74 , 0x65 , 0x72 , 0x73 , 0x41 , 0x72 , 0x67 , 0x73 , 0x12 , 0x12 , 0x0a , 0x04 , 0x61 , 0x72 , 0x67 ,
0x73 , 0x18 , 0x01 , 0x20 , 0x03 , 0x28 , 0x09 , 0x52 , 0x04 , 0x61 , 0x72 , 0x67 , 0x73 , 0x1a , 0x6d , 0x0a ,
0x0f , 0x50 , 0x61 , 0x72 , 0x61 , 0x6d , 0x65 , 0x74 , 0x65 , 0x72 , 0x73 , 0x56 , 0x61 , 0x6c , 0x75 , 0x65 ,
0x12 , 0x12 , 0x0a , 0x04 , 0x6e , 0x61 , 0x6d , 0x65 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x04 ,
0x6e , 0x61 , 0x6d , 0x65 , 0x12 , 0x18 , 0x0a , 0x07 , 0x76 , 0x65 , 0x72 , 0x73 , 0x69 , 0x6f , 0x6e , 0x18 ,
0x02 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x07 , 0x76 , 0x65 , 0x72 , 0x73 , 0x69 , 0x6f , 0x6e , 0x12 , 0x2c ,
0x0a , 0x05 , 0x76 , 0x61 , 0x6c , 0x75 , 0x65 , 0x18 , 0x03 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 , 0x16 , 0x2e ,
0x67 , 0x6f , 0x6f , 0x67 , 0x6c , 0x65 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x62 , 0x75 , 0x66 , 0x2e ,
0x56 , 0x61 , 0x6c , 0x75 , 0x65 , 0x52 , 0x05 , 0x76 , 0x61 , 0x6c , 0x75 , 0x65 , 0x42 , 0x0c , 0x0a , 0x0a ,
0x70 , 0x61 , 0x72 , 0x61 , 0x6d , 0x65 , 0x74 , 0x65 , 0x72 , 0x73 , 0x22 , 0x44 , 0x0a , 0x14 , 0x50 , 0x61 ,
0x72 , 0x61 , 0x6d , 0x65 , 0x74 , 0x65 , 0x72 , 0x69 , 0x7a , 0x65 , 0x52 , 0x65 , 0x73 , 0x70 , 0x6f , 0x6e ,
0x73 , 0x65 , 0x12 , 0x12 , 0x0a , 0x04 , 0x6e , 0x61 , 0x6d , 0x65 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x09 ,
0x52 , 0x04 , 0x6e , 0x61 , 0x6d , 0x65 , 0x12 , 0x18 , 0x0a , 0x07 , 0x76 , 0x65 , 0x72 , 0x73 , 0x69 , 0x6f ,
0x6e , 0x18 , 0x02 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x07 , 0x76 , 0x65 , 0x72 , 0x73 , 0x69 , 0x6f , 0x6e ,
0x22 , 0x84 , 0x01 , 0x0a , 0x10 , 0x47 , 0x65 , 0x74 , 0x53 , 0x63 , 0x68 , 0x65 , 0x6d , 0x61 , 0x52 , 0x65 ,
0x71 , 0x75 , 0x65 , 0x73 , 0x74 , 0x12 , 0x18 , 0x0a , 0x07 , 0x76 , 0x65 , 0x72 , 0x73 , 0x69 , 0x6f , 0x6e ,
0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x07 , 0x76 , 0x65 , 0x72 , 0x73 , 0x69 , 0x6f , 0x6e , 0x12 ,
0x27 , 0x0a , 0x0f , 0x73 , 0x75 , 0x62 , 0x70 , 0x61 , 0x63 , 0x6b , 0x61 , 0x67 , 0x65 , 0x5f , 0x6e , 0x61 ,
0x6d , 0x65 , 0x18 , 0x02 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x0e , 0x73 , 0x75 , 0x62 , 0x70 , 0x61 , 0x63 ,
0x6b , 0x61 , 0x67 , 0x65 , 0x4e , 0x61 , 0x6d , 0x65 , 0x12 , 0x2d , 0x0a , 0x12 , 0x73 , 0x75 , 0x62 , 0x70 ,
0x61 , 0x63 , 0x6b , 0x61 , 0x67 , 0x65 , 0x5f , 0x76 , 0x65 , 0x72 , 0x73 , 0x69 , 0x6f , 0x6e , 0x18 , 0x03 ,
0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x11 , 0x73 , 0x75 , 0x62 , 0x70 , 0x61 , 0x63 , 0x6b , 0x61 , 0x67 , 0x65 ,
0x56 , 0x65 , 0x72 , 0x73 , 0x69 , 0x6f , 0x6e , 0x22 , 0x2b , 0x0a , 0x11 , 0x47 , 0x65 , 0x74 , 0x53 , 0x63 ,
0x68 , 0x65 , 0x6d , 0x61 , 0x52 , 0x65 , 0x73 , 0x70 , 0x6f , 0x6e , 0x73 , 0x65 , 0x12 , 0x16 , 0x0a , 0x06 ,
0x73 , 0x63 , 0x68 , 0x65 , 0x6d , 0x61 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x06 , 0x73 , 0x63 ,
0x68 , 0x65 , 0x6d , 0x61 , 0x22 , 0xfd , 0x02 , 0x0a , 0x10 , 0x43 , 0x6f , 0x6e , 0x66 , 0x69 , 0x67 , 0x75 ,
0x72 , 0x65 , 0x52 , 0x65 , 0x71 , 0x75 , 0x65 , 0x73 , 0x74 , 0x12 , 0x48 , 0x0a , 0x09 , 0x76 , 0x61 , 0x72 ,
0x69 , 0x61 , 0x62 , 0x6c , 0x65 , 0x73 , 0x18 , 0x01 , 0x20 , 0x03 , 0x28 , 0x0b , 0x32 , 0x2a , 0x2e , 0x70 ,
0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x43 , 0x6f , 0x6e , 0x66 , 0x69 , 0x67 , 0x75 ,
0x72 , 0x65 , 0x52 , 0x65 , 0x71 , 0x75 , 0x65 , 0x73 , 0x74 , 0x2e , 0x56 , 0x61 , 0x72 , 0x69 , 0x61 , 0x62 ,
0x6c , 0x65 , 0x73 , 0x45 , 0x6e , 0x74 , 0x72 , 0x79 , 0x52 , 0x09 , 0x76 , 0x61 , 0x72 , 0x69 , 0x61 , 0x62 ,
0x6c , 0x65 , 0x73 , 0x12 , 0x2b , 0x0a , 0x04 , 0x61 , 0x72 , 0x67 , 0x73 , 0x18 , 0x02 , 0x20 , 0x01 , 0x28 ,
0x0b , 0x32 , 0x17 , 0x2e , 0x67 , 0x6f , 0x6f , 0x67 , 0x6c , 0x65 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f ,
0x62 , 0x75 , 0x66 , 0x2e , 0x53 , 0x74 , 0x72 , 0x75 , 0x63 , 0x74 , 0x52 , 0x04 , 0x61 , 0x72 , 0x67 , 0x73 ,
0x12 , 0x24 , 0x0a , 0x0d , 0x61 , 0x63 , 0x63 , 0x65 , 0x70 , 0x74 , 0x53 , 0x65 , 0x63 , 0x72 , 0x65 , 0x74 ,
0x73 , 0x18 , 0x03 , 0x20 , 0x01 , 0x28 , 0x08 , 0x52 , 0x0d , 0x61 , 0x63 , 0x63 , 0x65 , 0x70 , 0x74 , 0x53 ,
0x65 , 0x63 , 0x72 , 0x65 , 0x74 , 0x73 , 0x12 , 0x28 , 0x0a , 0x0f , 0x61 , 0x63 , 0x63 , 0x65 , 0x70 , 0x74 ,
0x52 , 0x65 , 0x73 , 0x6f , 0x75 , 0x72 , 0x63 , 0x65 , 0x73 , 0x18 , 0x04 , 0x20 , 0x01 , 0x28 , 0x08 , 0x52 ,
0x0f , 0x61 , 0x63 , 0x63 , 0x65 , 0x70 , 0x74 , 0x52 , 0x65 , 0x73 , 0x6f , 0x75 , 0x72 , 0x63 , 0x65 , 0x73 ,
0x12 , 0x28 , 0x0a , 0x10 , 0x73 , 0x65 , 0x6e , 0x64 , 0x73 , 0x5f , 0x6f , 0x6c , 0x64 , 0x5f , 0x69 , 0x6e ,
0x70 , 0x75 , 0x74 , 0x73 , 0x18 , 0x05 , 0x20 , 0x01 , 0x28 , 0x08 , 0x52 , 0x0e , 0x73 , 0x65 , 0x6e , 0x64 ,
0x73 , 0x4f , 0x6c , 0x64 , 0x49 , 0x6e , 0x70 , 0x75 , 0x74 , 0x73 , 0x12 , 0x3a , 0x0a , 0x1a , 0x73 , 0x65 ,
0x6e , 0x64 , 0x73 , 0x5f , 0x6f , 0x6c , 0x64 , 0x5f , 0x69 , 0x6e , 0x70 , 0x75 , 0x74 , 0x73 , 0x5f , 0x74 ,
0x6f , 0x5f , 0x64 , 0x65 , 0x6c , 0x65 , 0x74 , 0x65 , 0x18 , 0x06 , 0x20 , 0x01 , 0x28 , 0x08 , 0x52 , 0x16 ,
0x73 , 0x65 , 0x6e , 0x64 , 0x73 , 0x4f , 0x6c , 0x64 , 0x49 , 0x6e , 0x70 , 0x75 , 0x74 , 0x73 , 0x54 , 0x6f ,
0x44 , 0x65 , 0x6c , 0x65 , 0x74 , 0x65 , 0x1a , 0x3c , 0x0a , 0x0e , 0x56 , 0x61 , 0x72 , 0x69 , 0x61 , 0x62 ,
0x6c , 0x65 , 0x73 , 0x45 , 0x6e , 0x74 , 0x72 , 0x79 , 0x12 , 0x10 , 0x0a , 0x03 , 0x6b , 0x65 , 0x79 , 0x18 ,
0x01 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x03 , 0x6b , 0x65 , 0x79 , 0x12 , 0x14 , 0x0a , 0x05 , 0x76 , 0x61 ,
0x6c , 0x75 , 0x65 , 0x18 , 0x02 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x05 , 0x76 , 0x61 , 0x6c , 0x75 , 0x65 ,
0x3a , 0x02 , 0x38 , 0x01 , 0x22 , 0xb3 , 0x01 , 0x0a , 0x11 , 0x43 , 0x6f , 0x6e , 0x66 , 0x69 , 0x67 , 0x75 ,
0x72 , 0x65 , 0x52 , 0x65 , 0x73 , 0x70 , 0x6f , 0x6e , 0x73 , 0x65 , 0x12 , 0x24 , 0x0a , 0x0d , 0x61 , 0x63 ,
0x63 , 0x65 , 0x70 , 0x74 , 0x53 , 0x65 , 0x63 , 0x72 , 0x65 , 0x74 , 0x73 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 ,
0x08 , 0x52 , 0x0d , 0x61 , 0x63 , 0x63 , 0x65 , 0x70 , 0x74 , 0x53 , 0x65 , 0x63 , 0x72 , 0x65 , 0x74 , 0x73 ,
0x12 , 0x28 , 0x0a , 0x0f , 0x73 , 0x75 , 0x70 , 0x70 , 0x6f , 0x72 , 0x74 , 0x73 , 0x50 , 0x72 , 0x65 , 0x76 ,
0x69 , 0x65 , 0x77 , 0x18 , 0x02 , 0x20 , 0x01 , 0x28 , 0x08 , 0x52 , 0x0f , 0x73 , 0x75 , 0x70 , 0x70 , 0x6f ,
0x72 , 0x74 , 0x73 , 0x50 , 0x72 , 0x65 , 0x76 , 0x69 , 0x65 , 0x77 , 0x12 , 0x28 , 0x0a , 0x0f , 0x61 , 0x63 ,
0x63 , 0x65 , 0x70 , 0x74 , 0x52 , 0x65 , 0x73 , 0x6f , 0x75 , 0x72 , 0x63 , 0x65 , 0x73 , 0x18 , 0x03 , 0x20 ,
0x01 , 0x28 , 0x08 , 0x52 , 0x0f , 0x61 , 0x63 , 0x63 , 0x65 , 0x70 , 0x74 , 0x52 , 0x65 , 0x73 , 0x6f , 0x75 ,
0x72 , 0x63 , 0x65 , 0x73 , 0x12 , 0x24 , 0x0a , 0x0d , 0x61 , 0x63 , 0x63 , 0x65 , 0x70 , 0x74 , 0x4f , 0x75 ,
0x74 , 0x70 , 0x75 , 0x74 , 0x73 , 0x18 , 0x04 , 0x20 , 0x01 , 0x28 , 0x08 , 0x52 , 0x0d , 0x61 , 0x63 , 0x63 ,
0x65 , 0x70 , 0x74 , 0x4f , 0x75 , 0x74 , 0x70 , 0x75 , 0x74 , 0x73 , 0x22 , 0xb2 , 0x01 , 0x0a , 0x19 , 0x43 ,
0x6f , 0x6e , 0x66 , 0x69 , 0x67 , 0x75 , 0x72 , 0x65 , 0x45 , 0x72 , 0x72 , 0x6f , 0x72 , 0x4d , 0x69 , 0x73 ,
0x73 , 0x69 , 0x6e , 0x67 , 0x4b , 0x65 , 0x79 , 0x73 , 0x12 , 0x51 , 0x0a , 0x0b , 0x6d , 0x69 , 0x73 , 0x73 ,
0x69 , 0x6e , 0x67 , 0x4b , 0x65 , 0x79 , 0x73 , 0x18 , 0x01 , 0x20 , 0x03 , 0x28 , 0x0b , 0x32 , 0x2f , 0x2e ,
0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x43 , 0x6f , 0x6e , 0x66 , 0x69 , 0x67 ,
0x75 , 0x72 , 0x65 , 0x45 , 0x72 , 0x72 , 0x6f , 0x72 , 0x4d , 0x69 , 0x73 , 0x73 , 0x69 , 0x6e , 0x67 , 0x4b ,
0x65 , 0x79 , 0x73 , 0x2e , 0x4d , 0x69 , 0x73 , 0x73 , 0x69 , 0x6e , 0x67 , 0x4b , 0x65 , 0x79 , 0x52 , 0x0b ,
0x6d , 0x69 , 0x73 , 0x73 , 0x69 , 0x6e , 0x67 , 0x4b , 0x65 , 0x79 , 0x73 , 0x1a , 0x42 , 0x0a , 0x0a , 0x4d ,
0x69 , 0x73 , 0x73 , 0x69 , 0x6e , 0x67 , 0x4b , 0x65 , 0x79 , 0x12 , 0x12 , 0x0a , 0x04 , 0x6e , 0x61 , 0x6d ,
0x65 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x04 , 0x6e , 0x61 , 0x6d , 0x65 , 0x12 , 0x20 , 0x0a ,
0x0b , 0x64 , 0x65 , 0x73 , 0x63 , 0x72 , 0x69 , 0x70 , 0x74 , 0x69 , 0x6f , 0x6e , 0x18 , 0x02 , 0x20 , 0x01 ,
0x28 , 0x09 , 0x52 , 0x0b , 0x64 , 0x65 , 0x73 , 0x63 , 0x72 , 0x69 , 0x70 , 0x74 , 0x69 , 0x6f , 0x6e , 0x22 ,
0x8b , 0x01 , 0x0a , 0x0d , 0x49 , 0x6e , 0x76 , 0x6f , 0x6b , 0x65 , 0x52 , 0x65 , 0x71 , 0x75 , 0x65 , 0x73 ,
0x74 , 0x12 , 0x10 , 0x0a , 0x03 , 0x74 , 0x6f , 0x6b , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x03 ,
0x74 , 0x6f , 0x6b , 0x12 , 0x2b , 0x0a , 0x04 , 0x61 , 0x72 , 0x67 , 0x73 , 0x18 , 0x02 , 0x20 , 0x01 , 0x28 ,
0x0b , 0x32 , 0x17 , 0x2e , 0x67 , 0x6f , 0x6f , 0x67 , 0x6c , 0x65 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f ,
0x62 , 0x75 , 0x66 , 0x2e , 0x53 , 0x74 , 0x72 , 0x75 , 0x63 , 0x74 , 0x52 , 0x04 , 0x61 , 0x72 , 0x67 , 0x73 ,
0x4a , 0x04 , 0x08 , 0x03 , 0x10 , 0x07 , 0x52 , 0x08 , 0x70 , 0x72 , 0x6f , 0x76 , 0x69 , 0x64 , 0x65 , 0x72 ,
0x52 , 0x07 , 0x76 , 0x65 , 0x72 , 0x73 , 0x69 , 0x6f , 0x6e , 0x52 , 0x0f , 0x61 , 0x63 , 0x63 , 0x65 , 0x70 ,
0x74 , 0x52 , 0x65 , 0x73 , 0x6f , 0x75 , 0x72 , 0x63 , 0x65 , 0x73 , 0x52 , 0x11 , 0x70 , 0x6c , 0x75 , 0x67 ,
0x69 , 0x6e , 0x44 , 0x6f , 0x77 , 0x6e , 0x6c , 0x6f , 0x61 , 0x64 , 0x55 , 0x52 , 0x4c , 0x22 , 0x76 , 0x0a ,
0x0e , 0x49 , 0x6e , 0x76 , 0x6f , 0x6b , 0x65 , 0x52 , 0x65 , 0x73 , 0x70 , 0x6f , 0x6e , 0x73 , 0x65 , 0x12 ,
0x2f , 0x0a , 0x06 , 0x72 , 0x65 , 0x74 , 0x75 , 0x72 , 0x6e , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 ,
0x17 , 0x2e , 0x67 , 0x6f , 0x6f , 0x67 , 0x6c , 0x65 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x62 , 0x75 ,
0x66 , 0x2e , 0x53 , 0x74 , 0x72 , 0x75 , 0x63 , 0x74 , 0x52 , 0x06 , 0x72 , 0x65 , 0x74 , 0x75 , 0x72 , 0x6e ,
0x12 , 0x33 , 0x0a , 0x08 , 0x66 , 0x61 , 0x69 , 0x6c , 0x75 , 0x72 , 0x65 , 0x73 , 0x18 , 0x02 , 0x20 , 0x03 ,
0x28 , 0x0b , 0x32 , 0x17 , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x43 ,
0x68 , 0x65 , 0x63 , 0x6b , 0x46 , 0x61 , 0x69 , 0x6c , 0x75 , 0x72 , 0x65 , 0x52 , 0x08 , 0x66 , 0x61 , 0x69 ,
0x6c , 0x75 , 0x72 , 0x65 , 0x73 , 0x22 , 0xae , 0x06 , 0x0a , 0x0b , 0x43 , 0x61 , 0x6c , 0x6c , 0x52 , 0x65 ,
0x71 , 0x75 , 0x65 , 0x73 , 0x74 , 0x12 , 0x10 , 0x0a , 0x03 , 0x74 , 0x6f , 0x6b , 0x18 , 0x01 , 0x20 , 0x01 ,
0x28 , 0x09 , 0x52 , 0x03 , 0x74 , 0x6f , 0x6b , 0x12 , 0x2b , 0x0a , 0x04 , 0x61 , 0x72 , 0x67 , 0x73 , 0x18 ,
2024-03-04 13:01:25 +00:00
0x02 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 , 0x17 , 0x2e , 0x67 , 0x6f , 0x6f , 0x67 , 0x6c , 0x65 , 0x2e , 0x70 ,
0x72 , 0x6f , 0x74 , 0x6f , 0x62 , 0x75 , 0x66 , 0x2e , 0x53 , 0x74 , 0x72 , 0x75 , 0x63 , 0x74 , 0x52 , 0x04 ,
2024-05-15 16:22:39 +00:00
0x61 , 0x72 , 0x67 , 0x73 , 0x12 , 0x55 , 0x0a , 0x0f , 0x61 , 0x72 , 0x67 , 0x44 , 0x65 , 0x70 , 0x65 , 0x6e ,
0x64 , 0x65 , 0x6e , 0x63 , 0x69 , 0x65 , 0x73 , 0x18 , 0x03 , 0x20 , 0x03 , 0x28 , 0x0b , 0x32 , 0x2b , 0x2e ,
0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x43 , 0x61 , 0x6c , 0x6c , 0x52 , 0x65 ,
0x71 , 0x75 , 0x65 , 0x73 , 0x74 , 0x2e , 0x41 , 0x72 , 0x67 , 0x44 , 0x65 , 0x70 , 0x65 , 0x6e , 0x64 , 0x65 ,
0x6e , 0x63 , 0x69 , 0x65 , 0x73 , 0x45 , 0x6e , 0x74 , 0x72 , 0x79 , 0x52 , 0x0f , 0x61 , 0x72 , 0x67 , 0x44 ,
0x65 , 0x70 , 0x65 , 0x6e , 0x64 , 0x65 , 0x6e , 0x63 , 0x69 , 0x65 , 0x73 , 0x12 , 0x18 , 0x0a , 0x07 , 0x70 ,
0x72 , 0x6f , 0x6a , 0x65 , 0x63 , 0x74 , 0x18 , 0x06 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x07 , 0x70 , 0x72 ,
0x6f , 0x6a , 0x65 , 0x63 , 0x74 , 0x12 , 0x14 , 0x0a , 0x05 , 0x73 , 0x74 , 0x61 , 0x63 , 0x6b , 0x18 , 0x07 ,
0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x05 , 0x73 , 0x74 , 0x61 , 0x63 , 0x6b , 0x12 , 0x3a , 0x0a , 0x06 , 0x63 ,
0x6f , 0x6e , 0x66 , 0x69 , 0x67 , 0x18 , 0x08 , 0x20 , 0x03 , 0x28 , 0x0b , 0x32 , 0x22 , 0x2e , 0x70 , 0x75 ,
0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x43 , 0x61 , 0x6c , 0x6c , 0x52 , 0x65 , 0x71 , 0x75 ,
0x65 , 0x73 , 0x74 , 0x2e , 0x43 , 0x6f , 0x6e , 0x66 , 0x69 , 0x67 , 0x45 , 0x6e , 0x74 , 0x72 , 0x79 , 0x52 ,
0x06 , 0x63 , 0x6f , 0x6e , 0x66 , 0x69 , 0x67 , 0x12 , 0x2a , 0x0a , 0x10 , 0x63 , 0x6f , 0x6e , 0x66 , 0x69 ,
0x67 , 0x53 , 0x65 , 0x63 , 0x72 , 0x65 , 0x74 , 0x4b , 0x65 , 0x79 , 0x73 , 0x18 , 0x09 , 0x20 , 0x03 , 0x28 ,
0x09 , 0x52 , 0x10 , 0x63 , 0x6f , 0x6e , 0x66 , 0x69 , 0x67 , 0x53 , 0x65 , 0x63 , 0x72 , 0x65 , 0x74 , 0x4b ,
0x65 , 0x79 , 0x73 , 0x12 , 0x16 , 0x0a , 0x06 , 0x64 , 0x72 , 0x79 , 0x52 , 0x75 , 0x6e , 0x18 , 0x0a , 0x20 ,
0x01 , 0x28 , 0x08 , 0x52 , 0x06 , 0x64 , 0x72 , 0x79 , 0x52 , 0x75 , 0x6e , 0x12 , 0x1a , 0x0a , 0x08 , 0x70 ,
0x61 , 0x72 , 0x61 , 0x6c , 0x6c , 0x65 , 0x6c , 0x18 , 0x0b , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x08 , 0x70 ,
0x61 , 0x72 , 0x61 , 0x6c , 0x6c , 0x65 , 0x6c , 0x12 , 0x28 , 0x0a , 0x0f , 0x6d , 0x6f , 0x6e , 0x69 , 0x74 ,
0x6f , 0x72 , 0x45 , 0x6e , 0x64 , 0x70 , 0x6f , 0x69 , 0x6e , 0x74 , 0x18 , 0x0c , 0x20 , 0x01 , 0x28 , 0x09 ,
0x52 , 0x0f , 0x6d , 0x6f , 0x6e , 0x69 , 0x74 , 0x6f , 0x72 , 0x45 , 0x6e , 0x64 , 0x70 , 0x6f , 0x69 , 0x6e ,
0x74 , 0x12 , 0x22 , 0x0a , 0x0c , 0x6f , 0x72 , 0x67 , 0x61 , 0x6e , 0x69 , 0x7a , 0x61 , 0x74 , 0x69 , 0x6f ,
0x6e , 0x18 , 0x0e , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x0c , 0x6f , 0x72 , 0x67 , 0x61 , 0x6e , 0x69 , 0x7a ,
0x61 , 0x74 , 0x69 , 0x6f , 0x6e , 0x12 , 0x32 , 0x0a , 0x15 , 0x61 , 0x63 , 0x63 , 0x65 , 0x70 , 0x74 , 0x73 ,
0x5f , 0x6f , 0x75 , 0x74 , 0x70 , 0x75 , 0x74 , 0x5f , 0x76 , 0x61 , 0x6c , 0x75 , 0x65 , 0x73 , 0x18 , 0x11 ,
0x20 , 0x01 , 0x28 , 0x08 , 0x52 , 0x13 , 0x61 , 0x63 , 0x63 , 0x65 , 0x70 , 0x74 , 0x73 , 0x4f , 0x75 , 0x74 ,
0x70 , 0x75 , 0x74 , 0x56 , 0x61 , 0x6c , 0x75 , 0x65 , 0x73 , 0x1a , 0x2a , 0x0a , 0x14 , 0x41 , 0x72 , 0x67 ,
0x75 , 0x6d , 0x65 , 0x6e , 0x74 , 0x44 , 0x65 , 0x70 , 0x65 , 0x6e , 0x64 , 0x65 , 0x6e , 0x63 , 0x69 , 0x65 ,
0x73 , 0x12 , 0x12 , 0x0a , 0x04 , 0x75 , 0x72 , 0x6e , 0x73 , 0x18 , 0x01 , 0x20 , 0x03 , 0x28 , 0x09 , 0x52 ,
0x04 , 0x75 , 0x72 , 0x6e , 0x73 , 0x1a , 0x6f , 0x0a , 0x14 , 0x41 , 0x72 , 0x67 , 0x44 , 0x65 , 0x70 , 0x65 ,
0x6e , 0x64 , 0x65 , 0x6e , 0x63 , 0x69 , 0x65 , 0x73 , 0x45 , 0x6e , 0x74 , 0x72 , 0x79 , 0x12 , 0x10 , 0x0a ,
0x03 , 0x6b , 0x65 , 0x79 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x03 , 0x6b , 0x65 , 0x79 , 0x12 ,
0x41 , 0x0a , 0x05 , 0x76 , 0x61 , 0x6c , 0x75 , 0x65 , 0x18 , 0x02 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 , 0x2b ,
0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x43 , 0x61 , 0x6c , 0x6c , 0x52 ,
0x65 , 0x71 , 0x75 , 0x65 , 0x73 , 0x74 , 0x2e , 0x41 , 0x72 , 0x67 , 0x75 , 0x6d , 0x65 , 0x6e , 0x74 , 0x44 ,
0x65 , 0x70 , 0x65 , 0x6e , 0x64 , 0x65 , 0x6e , 0x63 , 0x69 , 0x65 , 0x73 , 0x52 , 0x05 , 0x76 , 0x61 , 0x6c ,
0x75 , 0x65 , 0x3a , 0x02 , 0x38 , 0x01 , 0x1a , 0x39 , 0x0a , 0x0b , 0x43 , 0x6f , 0x6e , 0x66 , 0x69 , 0x67 ,
0x45 , 0x6e , 0x74 , 0x72 , 0x79 , 0x12 , 0x10 , 0x0a , 0x03 , 0x6b , 0x65 , 0x79 , 0x18 , 0x01 , 0x20 , 0x01 ,
0x28 , 0x09 , 0x52 , 0x03 , 0x6b , 0x65 , 0x79 , 0x12 , 0x14 , 0x0a , 0x05 , 0x76 , 0x61 , 0x6c , 0x75 , 0x65 ,
0x18 , 0x02 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x05 , 0x76 , 0x61 , 0x6c , 0x75 , 0x65 , 0x3a , 0x02 , 0x38 ,
0x01 , 0x4a , 0x04 , 0x08 , 0x04 , 0x10 , 0x05 , 0x4a , 0x04 , 0x08 , 0x05 , 0x10 , 0x06 , 0x4a , 0x04 , 0x08 ,
0x0d , 0x10 , 0x0e , 0x4a , 0x04 , 0x08 , 0x10 , 0x10 , 0x11 , 0x4a , 0x04 , 0x08 , 0x0f , 0x10 , 0x10 , 0x52 ,
0x08 , 0x70 , 0x72 , 0x6f , 0x76 , 0x69 , 0x64 , 0x65 , 0x72 , 0x52 , 0x07 , 0x76 , 0x65 , 0x72 , 0x73 , 0x69 ,
0x6f , 0x6e , 0x52 , 0x11 , 0x70 , 0x6c , 0x75 , 0x67 , 0x69 , 0x6e , 0x44 , 0x6f , 0x77 , 0x6e , 0x6c , 0x6f ,
0x61 , 0x64 , 0x55 , 0x52 , 0x4c , 0x52 , 0x0f , 0x70 , 0x6c , 0x75 , 0x67 , 0x69 , 0x6e , 0x43 , 0x68 , 0x65 ,
0x63 , 0x6b , 0x73 , 0x75 , 0x6d , 0x73 , 0x52 , 0x0e , 0x73 , 0x6f , 0x75 , 0x72 , 0x63 , 0x65 , 0x50 , 0x6f ,
0x73 , 0x69 , 0x74 , 0x69 , 0x6f , 0x6e , 0x22 , 0xf2 , 0x02 , 0x0a , 0x0c , 0x43 , 0x61 , 0x6c , 0x6c , 0x52 ,
0x65 , 0x73 , 0x70 , 0x6f , 0x6e , 0x73 , 0x65 , 0x12 , 0x2f , 0x0a , 0x06 , 0x72 , 0x65 , 0x74 , 0x75 , 0x72 ,
0x6e , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 , 0x17 , 0x2e , 0x67 , 0x6f , 0x6f , 0x67 , 0x6c , 0x65 ,
0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x62 , 0x75 , 0x66 , 0x2e , 0x53 , 0x74 , 0x72 , 0x75 , 0x63 , 0x74 ,
0x52 , 0x06 , 0x72 , 0x65 , 0x74 , 0x75 , 0x72 , 0x6e , 0x12 , 0x5f , 0x0a , 0x12 , 0x72 , 0x65 , 0x74 , 0x75 ,
0x72 , 0x6e , 0x44 , 0x65 , 0x70 , 0x65 , 0x6e , 0x64 , 0x65 , 0x6e , 0x63 , 0x69 , 0x65 , 0x73 , 0x18 , 0x02 ,
0x20 , 0x03 , 0x28 , 0x0b , 0x32 , 0x2f , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 ,
0x2e , 0x43 , 0x61 , 0x6c , 0x6c , 0x52 , 0x65 , 0x73 , 0x70 , 0x6f , 0x6e , 0x73 , 0x65 , 0x2e , 0x52 , 0x65 ,
0x74 , 0x75 , 0x72 , 0x6e , 0x44 , 0x65 , 0x70 , 0x65 , 0x6e , 0x64 , 0x65 , 0x6e , 0x63 , 0x69 , 0x65 , 0x73 ,
0x45 , 0x6e , 0x74 , 0x72 , 0x79 , 0x52 , 0x12 , 0x72 , 0x65 , 0x74 , 0x75 , 0x72 , 0x6e , 0x44 , 0x65 , 0x70 ,
0x65 , 0x6e , 0x64 , 0x65 , 0x6e , 0x63 , 0x69 , 0x65 , 0x73 , 0x12 , 0x33 , 0x0a , 0x08 , 0x66 , 0x61 , 0x69 ,
0x6c , 0x75 , 0x72 , 0x65 , 0x73 , 0x18 , 0x03 , 0x20 , 0x03 , 0x28 , 0x0b , 0x32 , 0x17 , 0x2e , 0x70 , 0x75 ,
2024-03-04 13:01:25 +00:00
0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x43 , 0x68 , 0x65 , 0x63 , 0x6b , 0x46 , 0x61 , 0x69 ,
2024-05-15 16:22:39 +00:00
0x6c , 0x75 , 0x72 , 0x65 , 0x52 , 0x08 , 0x66 , 0x61 , 0x69 , 0x6c , 0x75 , 0x72 , 0x65 , 0x73 , 0x1a , 0x28 ,
0x0a , 0x12 , 0x52 , 0x65 , 0x74 , 0x75 , 0x72 , 0x6e , 0x44 , 0x65 , 0x70 , 0x65 , 0x6e , 0x64 , 0x65 , 0x6e ,
0x63 , 0x69 , 0x65 , 0x73 , 0x12 , 0x12 , 0x0a , 0x04 , 0x75 , 0x72 , 0x6e , 0x73 , 0x18 , 0x01 , 0x20 , 0x03 ,
0x28 , 0x09 , 0x52 , 0x04 , 0x75 , 0x72 , 0x6e , 0x73 , 0x1a , 0x71 , 0x0a , 0x17 , 0x52 , 0x65 , 0x74 , 0x75 ,
0x72 , 0x6e , 0x44 , 0x65 , 0x70 , 0x65 , 0x6e , 0x64 , 0x65 , 0x6e , 0x63 , 0x69 , 0x65 , 0x73 , 0x45 , 0x6e ,
0x74 , 0x72 , 0x79 , 0x12 , 0x10 , 0x0a , 0x03 , 0x6b , 0x65 , 0x79 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x09 ,
0x52 , 0x03 , 0x6b , 0x65 , 0x79 , 0x12 , 0x40 , 0x0a , 0x05 , 0x76 , 0x61 , 0x6c , 0x75 , 0x65 , 0x18 , 0x02 ,
0x20 , 0x01 , 0x28 , 0x0b , 0x32 , 0x2a , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 ,
0x2e , 0x43 , 0x61 , 0x6c , 0x6c , 0x52 , 0x65 , 0x73 , 0x70 , 0x6f , 0x6e , 0x73 , 0x65 , 0x2e , 0x52 , 0x65 ,
0x74 , 0x75 , 0x72 , 0x6e , 0x44 , 0x65 , 0x70 , 0x65 , 0x6e , 0x64 , 0x65 , 0x6e , 0x63 , 0x69 , 0x65 , 0x73 ,
0x52 , 0x05 , 0x76 , 0x61 , 0x6c , 0x75 , 0x65 , 0x3a , 0x02 , 0x38 , 0x01 , 0x22 , 0xb0 , 0x01 , 0x0a , 0x0c ,
0x43 , 0x68 , 0x65 , 0x63 , 0x6b , 0x52 , 0x65 , 0x71 , 0x75 , 0x65 , 0x73 , 0x74 , 0x12 , 0x10 , 0x0a , 0x03 ,
0x75 , 0x72 , 0x6e , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x03 , 0x75 , 0x72 , 0x6e , 0x12 , 0x2b ,
0x0a , 0x04 , 0x6f , 0x6c , 0x64 , 0x73 , 0x18 , 0x02 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 , 0x17 , 0x2e , 0x67 ,
0x6f , 0x6f , 0x67 , 0x6c , 0x65 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x62 , 0x75 , 0x66 , 0x2e , 0x53 ,
0x74 , 0x72 , 0x75 , 0x63 , 0x74 , 0x52 , 0x04 , 0x6f , 0x6c , 0x64 , 0x73 , 0x12 , 0x2b , 0x0a , 0x04 , 0x6e ,
0x65 , 0x77 , 0x73 , 0x18 , 0x03 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 , 0x17 , 0x2e , 0x67 , 0x6f , 0x6f , 0x67 ,
0x6c , 0x65 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x62 , 0x75 , 0x66 , 0x2e , 0x53 , 0x74 , 0x72 , 0x75 ,
0x63 , 0x74 , 0x52 , 0x04 , 0x6e , 0x65 , 0x77 , 0x73 , 0x12 , 0x1e , 0x0a , 0x0a , 0x72 , 0x61 , 0x6e , 0x64 ,
0x6f , 0x6d , 0x53 , 0x65 , 0x65 , 0x64 , 0x18 , 0x05 , 0x20 , 0x01 , 0x28 , 0x0c , 0x52 , 0x0a , 0x72 , 0x61 ,
0x6e , 0x64 , 0x6f , 0x6d , 0x53 , 0x65 , 0x65 , 0x64 , 0x4a , 0x04 , 0x08 , 0x04 , 0x10 , 0x05 , 0x52 , 0x0e ,
0x73 , 0x65 , 0x71 , 0x75 , 0x65 , 0x6e , 0x63 , 0x65 , 0x4e , 0x75 , 0x6d , 0x62 , 0x65 , 0x72 , 0x22 , 0x75 ,
0x0a , 0x0d , 0x43 , 0x68 , 0x65 , 0x63 , 0x6b , 0x52 , 0x65 , 0x73 , 0x70 , 0x6f , 0x6e , 0x73 , 0x65 , 0x12 ,
0x2f , 0x0a , 0x06 , 0x69 , 0x6e , 0x70 , 0x75 , 0x74 , 0x73 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 ,
2024-03-04 13:01:25 +00:00
0x17 , 0x2e , 0x67 , 0x6f , 0x6f , 0x67 , 0x6c , 0x65 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x62 , 0x75 ,
2024-05-15 16:22:39 +00:00
0x66 , 0x2e , 0x53 , 0x74 , 0x72 , 0x75 , 0x63 , 0x74 , 0x52 , 0x06 , 0x69 , 0x6e , 0x70 , 0x75 , 0x74 , 0x73 ,
0x12 , 0x33 , 0x0a , 0x08 , 0x66 , 0x61 , 0x69 , 0x6c , 0x75 , 0x72 , 0x65 , 0x73 , 0x18 , 0x02 , 0x20 , 0x03 ,
0x28 , 0x0b , 0x32 , 0x17 , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x43 ,
0x68 , 0x65 , 0x63 , 0x6b , 0x46 , 0x61 , 0x69 , 0x6c , 0x75 , 0x72 , 0x65 , 0x52 , 0x08 , 0x66 , 0x61 , 0x69 ,
0x6c , 0x75 , 0x72 , 0x65 , 0x73 , 0x22 , 0x42 , 0x0a , 0x0c , 0x43 , 0x68 , 0x65 , 0x63 , 0x6b , 0x46 , 0x61 ,
0x69 , 0x6c , 0x75 , 0x72 , 0x65 , 0x12 , 0x1a , 0x0a , 0x08 , 0x70 , 0x72 , 0x6f , 0x70 , 0x65 , 0x72 , 0x74 ,
0x79 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x08 , 0x70 , 0x72 , 0x6f , 0x70 , 0x65 , 0x72 , 0x74 ,
0x79 , 0x12 , 0x16 , 0x0a , 0x06 , 0x72 , 0x65 , 0x61 , 0x73 , 0x6f , 0x6e , 0x18 , 0x02 , 0x20 , 0x01 , 0x28 ,
0x09 , 0x52 , 0x06 , 0x72 , 0x65 , 0x61 , 0x73 , 0x6f , 0x6e , 0x22 , 0xe7 , 0x01 , 0x0a , 0x0b , 0x44 , 0x69 ,
0x66 , 0x66 , 0x52 , 0x65 , 0x71 , 0x75 , 0x65 , 0x73 , 0x74 , 0x12 , 0x0e , 0x0a , 0x02 , 0x69 , 0x64 , 0x18 ,
0x01 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x02 , 0x69 , 0x64 , 0x12 , 0x10 , 0x0a , 0x03 , 0x75 , 0x72 , 0x6e ,
0x18 , 0x02 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x03 , 0x75 , 0x72 , 0x6e , 0x12 , 0x2b , 0x0a , 0x04 , 0x6f ,
0x6c , 0x64 , 0x73 , 0x18 , 0x03 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 , 0x17 , 0x2e , 0x67 , 0x6f , 0x6f , 0x67 ,
0x6c , 0x65 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x62 , 0x75 , 0x66 , 0x2e , 0x53 , 0x74 , 0x72 , 0x75 ,
0x63 , 0x74 , 0x52 , 0x04 , 0x6f , 0x6c , 0x64 , 0x73 , 0x12 , 0x2b , 0x0a , 0x04 , 0x6e , 0x65 , 0x77 , 0x73 ,
2024-02-14 08:15:24 +00:00
0x18 , 0x04 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 , 0x17 , 0x2e , 0x67 , 0x6f , 0x6f , 0x67 , 0x6c , 0x65 , 0x2e ,
0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x62 , 0x75 , 0x66 , 0x2e , 0x53 , 0x74 , 0x72 , 0x75 , 0x63 , 0x74 , 0x52 ,
2024-05-15 16:22:39 +00:00
0x04 , 0x6e , 0x65 , 0x77 , 0x73 , 0x12 , 0x24 , 0x0a , 0x0d , 0x69 , 0x67 , 0x6e , 0x6f , 0x72 , 0x65 , 0x43 ,
0x68 , 0x61 , 0x6e , 0x67 , 0x65 , 0x73 , 0x18 , 0x05 , 0x20 , 0x03 , 0x28 , 0x09 , 0x52 , 0x0d , 0x69 , 0x67 ,
0x6e , 0x6f , 0x72 , 0x65 , 0x43 , 0x68 , 0x61 , 0x6e , 0x67 , 0x65 , 0x73 , 0x12 , 0x36 , 0x0a , 0x0a , 0x6f ,
0x6c , 0x64 , 0x5f , 0x69 , 0x6e , 0x70 , 0x75 , 0x74 , 0x73 , 0x18 , 0x06 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 ,
0x17 , 0x2e , 0x67 , 0x6f , 0x6f , 0x67 , 0x6c , 0x65 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x62 , 0x75 ,
0x66 , 0x2e , 0x53 , 0x74 , 0x72 , 0x75 , 0x63 , 0x74 , 0x52 , 0x09 , 0x6f , 0x6c , 0x64 , 0x49 , 0x6e , 0x70 ,
0x75 , 0x74 , 0x73 , 0x22 , 0xc0 , 0x01 , 0x0a , 0x0c , 0x50 , 0x72 , 0x6f , 0x70 , 0x65 , 0x72 , 0x74 , 0x79 ,
0x44 , 0x69 , 0x66 , 0x66 , 0x12 , 0x30 , 0x0a , 0x04 , 0x6b , 0x69 , 0x6e , 0x64 , 0x18 , 0x01 , 0x20 , 0x01 ,
0x28 , 0x0e , 0x32 , 0x1c , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x50 ,
0x72 , 0x6f , 0x70 , 0x65 , 0x72 , 0x74 , 0x79 , 0x44 , 0x69 , 0x66 , 0x66 , 0x2e , 0x4b , 0x69 , 0x6e , 0x64 ,
0x52 , 0x04 , 0x6b , 0x69 , 0x6e , 0x64 , 0x12 , 0x1c , 0x0a , 0x09 , 0x69 , 0x6e , 0x70 , 0x75 , 0x74 , 0x44 ,
0x69 , 0x66 , 0x66 , 0x18 , 0x02 , 0x20 , 0x01 , 0x28 , 0x08 , 0x52 , 0x09 , 0x69 , 0x6e , 0x70 , 0x75 , 0x74 ,
0x44 , 0x69 , 0x66 , 0x66 , 0x22 , 0x60 , 0x0a , 0x04 , 0x4b , 0x69 , 0x6e , 0x64 , 0x12 , 0x07 , 0x0a , 0x03 ,
0x41 , 0x44 , 0x44 , 0x10 , 0x00 , 0x12 , 0x0f , 0x0a , 0x0b , 0x41 , 0x44 , 0x44 , 0x5f , 0x52 , 0x45 , 0x50 ,
0x4c , 0x41 , 0x43 , 0x45 , 0x10 , 0x01 , 0x12 , 0x0a , 0x0a , 0x06 , 0x44 , 0x45 , 0x4c , 0x45 , 0x54 , 0x45 ,
0x10 , 0x02 , 0x12 , 0x12 , 0x0a , 0x0e , 0x44 , 0x45 , 0x4c , 0x45 , 0x54 , 0x45 , 0x5f , 0x52 , 0x45 , 0x50 ,
0x4c , 0x41 , 0x43 , 0x45 , 0x10 , 0x03 , 0x12 , 0x0a , 0x0a , 0x06 , 0x55 , 0x50 , 0x44 , 0x41 , 0x54 , 0x45 ,
0x10 , 0x04 , 0x12 , 0x12 , 0x0a , 0x0e , 0x55 , 0x50 , 0x44 , 0x41 , 0x54 , 0x45 , 0x5f , 0x52 , 0x45 , 0x50 ,
0x4c , 0x41 , 0x43 , 0x45 , 0x10 , 0x05 , 0x22 , 0xdd , 0x03 , 0x0a , 0x0c , 0x44 , 0x69 , 0x66 , 0x66 , 0x52 ,
0x65 , 0x73 , 0x70 , 0x6f , 0x6e , 0x73 , 0x65 , 0x12 , 0x1a , 0x0a , 0x08 , 0x72 , 0x65 , 0x70 , 0x6c , 0x61 ,
0x63 , 0x65 , 0x73 , 0x18 , 0x01 , 0x20 , 0x03 , 0x28 , 0x09 , 0x52 , 0x08 , 0x72 , 0x65 , 0x70 , 0x6c , 0x61 ,
0x63 , 0x65 , 0x73 , 0x12 , 0x18 , 0x0a , 0x07 , 0x73 , 0x74 , 0x61 , 0x62 , 0x6c , 0x65 , 0x73 , 0x18 , 0x02 ,
0x20 , 0x03 , 0x28 , 0x09 , 0x52 , 0x07 , 0x73 , 0x74 , 0x61 , 0x62 , 0x6c , 0x65 , 0x73 , 0x12 , 0x30 , 0x0a ,
0x13 , 0x64 , 0x65 , 0x6c , 0x65 , 0x74 , 0x65 , 0x42 , 0x65 , 0x66 , 0x6f , 0x72 , 0x65 , 0x52 , 0x65 , 0x70 ,
0x6c , 0x61 , 0x63 , 0x65 , 0x18 , 0x03 , 0x20 , 0x01 , 0x28 , 0x08 , 0x52 , 0x13 , 0x64 , 0x65 , 0x6c , 0x65 ,
0x74 , 0x65 , 0x42 , 0x65 , 0x66 , 0x6f , 0x72 , 0x65 , 0x52 , 0x65 , 0x70 , 0x6c , 0x61 , 0x63 , 0x65 , 0x12 ,
0x3d , 0x0a , 0x07 , 0x63 , 0x68 , 0x61 , 0x6e , 0x67 , 0x65 , 0x73 , 0x18 , 0x04 , 0x20 , 0x01 , 0x28 , 0x0e ,
0x32 , 0x23 , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x44 , 0x69 , 0x66 ,
0x66 , 0x52 , 0x65 , 0x73 , 0x70 , 0x6f , 0x6e , 0x73 , 0x65 , 0x2e , 0x44 , 0x69 , 0x66 , 0x66 , 0x43 , 0x68 ,
0x61 , 0x6e , 0x67 , 0x65 , 0x73 , 0x52 , 0x07 , 0x63 , 0x68 , 0x61 , 0x6e , 0x67 , 0x65 , 0x73 , 0x12 , 0x14 ,
0x0a , 0x05 , 0x64 , 0x69 , 0x66 , 0x66 , 0x73 , 0x18 , 0x05 , 0x20 , 0x03 , 0x28 , 0x09 , 0x52 , 0x05 , 0x64 ,
0x69 , 0x66 , 0x66 , 0x73 , 0x12 , 0x4d , 0x0a , 0x0c , 0x64 , 0x65 , 0x74 , 0x61 , 0x69 , 0x6c , 0x65 , 0x64 ,
0x44 , 0x69 , 0x66 , 0x66 , 0x18 , 0x06 , 0x20 , 0x03 , 0x28 , 0x0b , 0x32 , 0x29 , 0x2e , 0x70 , 0x75 , 0x6c ,
0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x44 , 0x69 , 0x66 , 0x66 , 0x52 , 0x65 , 0x73 , 0x70 , 0x6f ,
0x6e , 0x73 , 0x65 , 0x2e , 0x44 , 0x65 , 0x74 , 0x61 , 0x69 , 0x6c , 0x65 , 0x64 , 0x44 , 0x69 , 0x66 , 0x66 ,
0x45 , 0x6e , 0x74 , 0x72 , 0x79 , 0x52 , 0x0c , 0x64 , 0x65 , 0x74 , 0x61 , 0x69 , 0x6c , 0x65 , 0x64 , 0x44 ,
0x69 , 0x66 , 0x66 , 0x12 , 0x28 , 0x0a , 0x0f , 0x68 , 0x61 , 0x73 , 0x44 , 0x65 , 0x74 , 0x61 , 0x69 , 0x6c ,
0x65 , 0x64 , 0x44 , 0x69 , 0x66 , 0x66 , 0x18 , 0x07 , 0x20 , 0x01 , 0x28 , 0x08 , 0x52 , 0x0f , 0x68 , 0x61 ,
0x73 , 0x44 , 0x65 , 0x74 , 0x61 , 0x69 , 0x6c , 0x65 , 0x64 , 0x44 , 0x69 , 0x66 , 0x66 , 0x1a , 0x58 , 0x0a ,
0x11 , 0x44 , 0x65 , 0x74 , 0x61 , 0x69 , 0x6c , 0x65 , 0x64 , 0x44 , 0x69 , 0x66 , 0x66 , 0x45 , 0x6e , 0x74 ,
0x72 , 0x79 , 0x12 , 0x10 , 0x0a , 0x03 , 0x6b , 0x65 , 0x79 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 ,
0x03 , 0x6b , 0x65 , 0x79 , 0x12 , 0x2d , 0x0a , 0x05 , 0x76 , 0x61 , 0x6c , 0x75 , 0x65 , 0x18 , 0x02 , 0x20 ,
0x01 , 0x28 , 0x0b , 0x32 , 0x17 , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e ,
0x50 , 0x72 , 0x6f , 0x70 , 0x65 , 0x72 , 0x74 , 0x79 , 0x44 , 0x69 , 0x66 , 0x66 , 0x52 , 0x05 , 0x76 , 0x61 ,
0x6c , 0x75 , 0x65 , 0x3a , 0x02 , 0x38 , 0x01 , 0x22 , 0x3d , 0x0a , 0x0b , 0x44 , 0x69 , 0x66 , 0x66 , 0x43 ,
0x68 , 0x61 , 0x6e , 0x67 , 0x65 , 0x73 , 0x12 , 0x10 , 0x0a , 0x0c , 0x44 , 0x49 , 0x46 , 0x46 , 0x5f , 0x55 ,
0x4e , 0x4b , 0x4e , 0x4f , 0x57 , 0x4e , 0x10 , 0x00 , 0x12 , 0x0d , 0x0a , 0x09 , 0x44 , 0x49 , 0x46 , 0x46 ,
0x5f , 0x4e , 0x4f , 0x4e , 0x45 , 0x10 , 0x01 , 0x12 , 0x0d , 0x0a , 0x09 , 0x44 , 0x49 , 0x46 , 0x46 , 0x5f ,
0x53 , 0x4f , 0x4d , 0x45 , 0x10 , 0x02 , 0x22 , 0x8e , 0x01 , 0x0a , 0x0d , 0x43 , 0x72 , 0x65 , 0x61 , 0x74 ,
0x65 , 0x52 , 0x65 , 0x71 , 0x75 , 0x65 , 0x73 , 0x74 , 0x12 , 0x10 , 0x0a , 0x03 , 0x75 , 0x72 , 0x6e , 0x18 ,
0x01 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x03 , 0x75 , 0x72 , 0x6e , 0x12 , 0x37 , 0x0a , 0x0a , 0x70 , 0x72 ,
0x6f , 0x70 , 0x65 , 0x72 , 0x74 , 0x69 , 0x65 , 0x73 , 0x18 , 0x02 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 , 0x17 ,
2024-03-04 13:01:25 +00:00
0x2e , 0x67 , 0x6f , 0x6f , 0x67 , 0x6c , 0x65 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x62 , 0x75 , 0x66 ,
2024-05-15 16:22:39 +00:00
0x2e , 0x53 , 0x74 , 0x72 , 0x75 , 0x63 , 0x74 , 0x52 , 0x0a , 0x70 , 0x72 , 0x6f , 0x70 , 0x65 , 0x72 , 0x74 ,
0x69 , 0x65 , 0x73 , 0x12 , 0x18 , 0x0a , 0x07 , 0x74 , 0x69 , 0x6d , 0x65 , 0x6f , 0x75 , 0x74 , 0x18 , 0x03 ,
0x20 , 0x01 , 0x28 , 0x01 , 0x52 , 0x07 , 0x74 , 0x69 , 0x6d , 0x65 , 0x6f , 0x75 , 0x74 , 0x12 , 0x18 , 0x0a ,
0x07 , 0x70 , 0x72 , 0x65 , 0x76 , 0x69 , 0x65 , 0x77 , 0x18 , 0x04 , 0x20 , 0x01 , 0x28 , 0x08 , 0x52 , 0x07 ,
0x70 , 0x72 , 0x65 , 0x76 , 0x69 , 0x65 , 0x77 , 0x22 , 0x59 , 0x0a , 0x0e , 0x43 , 0x72 , 0x65 , 0x61 , 0x74 ,
0x65 , 0x52 , 0x65 , 0x73 , 0x70 , 0x6f , 0x6e , 0x73 , 0x65 , 0x12 , 0x0e , 0x0a , 0x02 , 0x69 , 0x64 , 0x18 ,
0x01 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x02 , 0x69 , 0x64 , 0x12 , 0x37 , 0x0a , 0x0a , 0x70 , 0x72 , 0x6f ,
0x70 , 0x65 , 0x72 , 0x74 , 0x69 , 0x65 , 0x73 , 0x18 , 0x02 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 , 0x17 , 0x2e ,
0x67 , 0x6f , 0x6f , 0x67 , 0x6c , 0x65 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x62 , 0x75 , 0x66 , 0x2e ,
0x53 , 0x74 , 0x72 , 0x75 , 0x63 , 0x74 , 0x52 , 0x0a , 0x70 , 0x72 , 0x6f , 0x70 , 0x65 , 0x72 , 0x74 , 0x69 ,
0x65 , 0x73 , 0x22 , 0x99 , 0x01 , 0x0a , 0x0b , 0x52 , 0x65 , 0x61 , 0x64 , 0x52 , 0x65 , 0x71 , 0x75 , 0x65 ,
0x73 , 0x74 , 0x12 , 0x0e , 0x0a , 0x02 , 0x69 , 0x64 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x02 ,
0x69 , 0x64 , 0x12 , 0x10 , 0x0a , 0x03 , 0x75 , 0x72 , 0x6e , 0x18 , 0x02 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 ,
0x03 , 0x75 , 0x72 , 0x6e , 0x12 , 0x37 , 0x0a , 0x0a , 0x70 , 0x72 , 0x6f , 0x70 , 0x65 , 0x72 , 0x74 , 0x69 ,
0x65 , 0x73 , 0x18 , 0x03 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 , 0x17 , 0x2e , 0x67 , 0x6f , 0x6f , 0x67 , 0x6c ,
2024-03-04 13:01:25 +00:00
0x65 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x62 , 0x75 , 0x66 , 0x2e , 0x53 , 0x74 , 0x72 , 0x75 , 0x63 ,
2024-05-15 16:22:39 +00:00
0x74 , 0x52 , 0x0a , 0x70 , 0x72 , 0x6f , 0x70 , 0x65 , 0x72 , 0x74 , 0x69 , 0x65 , 0x73 , 0x12 , 0x2f , 0x0a ,
0x06 , 0x69 , 0x6e , 0x70 , 0x75 , 0x74 , 0x73 , 0x18 , 0x04 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 , 0x17 , 0x2e ,
0x67 , 0x6f , 0x6f , 0x67 , 0x6c , 0x65 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x62 , 0x75 , 0x66 , 0x2e ,
0x53 , 0x74 , 0x72 , 0x75 , 0x63 , 0x74 , 0x52 , 0x06 , 0x69 , 0x6e , 0x70 , 0x75 , 0x74 , 0x73 , 0x22 , 0x88 ,
0x01 , 0x0a , 0x0c , 0x52 , 0x65 , 0x61 , 0x64 , 0x52 , 0x65 , 0x73 , 0x70 , 0x6f , 0x6e , 0x73 , 0x65 , 0x12 ,
2024-03-04 13:01:25 +00:00
0x0e , 0x0a , 0x02 , 0x69 , 0x64 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x02 , 0x69 , 0x64 , 0x12 ,
2024-05-15 16:22:39 +00:00
0x37 , 0x0a , 0x0a , 0x70 , 0x72 , 0x6f , 0x70 , 0x65 , 0x72 , 0x74 , 0x69 , 0x65 , 0x73 , 0x18 , 0x02 , 0x20 ,
0x01 , 0x28 , 0x0b , 0x32 , 0x17 , 0x2e , 0x67 , 0x6f , 0x6f , 0x67 , 0x6c , 0x65 , 0x2e , 0x70 , 0x72 , 0x6f ,
0x74 , 0x6f , 0x62 , 0x75 , 0x66 , 0x2e , 0x53 , 0x74 , 0x72 , 0x75 , 0x63 , 0x74 , 0x52 , 0x0a , 0x70 , 0x72 ,
0x6f , 0x70 , 0x65 , 0x72 , 0x74 , 0x69 , 0x65 , 0x73 , 0x12 , 0x2f , 0x0a , 0x06 , 0x69 , 0x6e , 0x70 , 0x75 ,
0x74 , 0x73 , 0x18 , 0x03 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 , 0x17 , 0x2e , 0x67 , 0x6f , 0x6f , 0x67 , 0x6c ,
2024-03-04 13:01:25 +00:00
0x65 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x62 , 0x75 , 0x66 , 0x2e , 0x53 , 0x74 , 0x72 , 0x75 , 0x63 ,
2024-05-15 16:22:39 +00:00
0x74 , 0x52 , 0x06 , 0x69 , 0x6e , 0x70 , 0x75 , 0x74 , 0x73 , 0x22 , 0x9d , 0x02 , 0x0a , 0x0d , 0x55 , 0x70 ,
0x64 , 0x61 , 0x74 , 0x65 , 0x52 , 0x65 , 0x71 , 0x75 , 0x65 , 0x73 , 0x74 , 0x12 , 0x0e , 0x0a , 0x02 , 0x69 ,
0x64 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x02 , 0x69 , 0x64 , 0x12 , 0x10 , 0x0a , 0x03 , 0x75 ,
0x72 , 0x6e , 0x18 , 0x02 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x03 , 0x75 , 0x72 , 0x6e , 0x12 , 0x2b , 0x0a ,
0x04 , 0x6f , 0x6c , 0x64 , 0x73 , 0x18 , 0x03 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 , 0x17 , 0x2e , 0x67 , 0x6f ,
0x6f , 0x67 , 0x6c , 0x65 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x62 , 0x75 , 0x66 , 0x2e , 0x53 , 0x74 ,
0x72 , 0x75 , 0x63 , 0x74 , 0x52 , 0x04 , 0x6f , 0x6c , 0x64 , 0x73 , 0x12 , 0x2b , 0x0a , 0x04 , 0x6e , 0x65 ,
0x77 , 0x73 , 0x18 , 0x04 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 , 0x17 , 0x2e , 0x67 , 0x6f , 0x6f , 0x67 , 0x6c ,
0x65 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x62 , 0x75 , 0x66 , 0x2e , 0x53 , 0x74 , 0x72 , 0x75 , 0x63 ,
0x74 , 0x52 , 0x04 , 0x6e , 0x65 , 0x77 , 0x73 , 0x12 , 0x18 , 0x0a , 0x07 , 0x74 , 0x69 , 0x6d , 0x65 , 0x6f ,
0x75 , 0x74 , 0x18 , 0x05 , 0x20 , 0x01 , 0x28 , 0x01 , 0x52 , 0x07 , 0x74 , 0x69 , 0x6d , 0x65 , 0x6f , 0x75 ,
0x74 , 0x12 , 0x24 , 0x0a , 0x0d , 0x69 , 0x67 , 0x6e , 0x6f , 0x72 , 0x65 , 0x43 , 0x68 , 0x61 , 0x6e , 0x67 ,
0x65 , 0x73 , 0x18 , 0x06 , 0x20 , 0x03 , 0x28 , 0x09 , 0x52 , 0x0d , 0x69 , 0x67 , 0x6e , 0x6f , 0x72 , 0x65 ,
0x43 , 0x68 , 0x61 , 0x6e , 0x67 , 0x65 , 0x73 , 0x12 , 0x18 , 0x0a , 0x07 , 0x70 , 0x72 , 0x65 , 0x76 , 0x69 ,
0x65 , 0x77 , 0x18 , 0x07 , 0x20 , 0x01 , 0x28 , 0x08 , 0x52 , 0x07 , 0x70 , 0x72 , 0x65 , 0x76 , 0x69 , 0x65 ,
0x77 , 0x12 , 0x36 , 0x0a , 0x0a , 0x6f , 0x6c , 0x64 , 0x5f , 0x69 , 0x6e , 0x70 , 0x75 , 0x74 , 0x73 , 0x18 ,
0x08 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 , 0x17 , 0x2e , 0x67 , 0x6f , 0x6f , 0x67 , 0x6c , 0x65 , 0x2e , 0x70 ,
0x72 , 0x6f , 0x74 , 0x6f , 0x62 , 0x75 , 0x66 , 0x2e , 0x53 , 0x74 , 0x72 , 0x75 , 0x63 , 0x74 , 0x52 , 0x09 ,
0x6f , 0x6c , 0x64 , 0x49 , 0x6e , 0x70 , 0x75 , 0x74 , 0x73 , 0x22 , 0x49 , 0x0a , 0x0e , 0x55 , 0x70 , 0x64 ,
0x61 , 0x74 , 0x65 , 0x52 , 0x65 , 0x73 , 0x70 , 0x6f , 0x6e , 0x73 , 0x65 , 0x12 , 0x37 , 0x0a , 0x0a , 0x70 ,
0x72 , 0x6f , 0x70 , 0x65 , 0x72 , 0x74 , 0x69 , 0x65 , 0x73 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 ,
0x17 , 0x2e , 0x67 , 0x6f , 0x6f , 0x67 , 0x6c , 0x65 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x62 , 0x75 ,
0x66 , 0x2e , 0x53 , 0x74 , 0x72 , 0x75 , 0x63 , 0x74 , 0x52 , 0x0a , 0x70 , 0x72 , 0x6f , 0x70 , 0x65 , 0x72 ,
0x74 , 0x69 , 0x65 , 0x73 , 0x22 , 0xbc , 0x01 , 0x0a , 0x0d , 0x44 , 0x65 , 0x6c , 0x65 , 0x74 , 0x65 , 0x52 ,
0x65 , 0x71 , 0x75 , 0x65 , 0x73 , 0x74 , 0x12 , 0x0e , 0x0a , 0x02 , 0x69 , 0x64 , 0x18 , 0x01 , 0x20 , 0x01 ,
0x28 , 0x09 , 0x52 , 0x02 , 0x69 , 0x64 , 0x12 , 0x10 , 0x0a , 0x03 , 0x75 , 0x72 , 0x6e , 0x18 , 0x02 , 0x20 ,
0x01 , 0x28 , 0x09 , 0x52 , 0x03 , 0x75 , 0x72 , 0x6e , 0x12 , 0x37 , 0x0a , 0x0a , 0x70 , 0x72 , 0x6f , 0x70 ,
0x65 , 0x72 , 0x74 , 0x69 , 0x65 , 0x73 , 0x18 , 0x03 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 , 0x17 , 0x2e , 0x67 ,
0x6f , 0x6f , 0x67 , 0x6c , 0x65 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x62 , 0x75 , 0x66 , 0x2e , 0x53 ,
0x74 , 0x72 , 0x75 , 0x63 , 0x74 , 0x52 , 0x0a , 0x70 , 0x72 , 0x6f , 0x70 , 0x65 , 0x72 , 0x74 , 0x69 , 0x65 ,
0x73 , 0x12 , 0x18 , 0x0a , 0x07 , 0x74 , 0x69 , 0x6d , 0x65 , 0x6f , 0x75 , 0x74 , 0x18 , 0x04 , 0x20 , 0x01 ,
0x28 , 0x01 , 0x52 , 0x07 , 0x74 , 0x69 , 0x6d , 0x65 , 0x6f , 0x75 , 0x74 , 0x12 , 0x36 , 0x0a , 0x0a , 0x6f ,
0x6c , 0x64 , 0x5f , 0x69 , 0x6e , 0x70 , 0x75 , 0x74 , 0x73 , 0x18 , 0x05 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 ,
0x17 , 0x2e , 0x67 , 0x6f , 0x6f , 0x67 , 0x6c , 0x65 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x62 , 0x75 ,
0x66 , 0x2e , 0x53 , 0x74 , 0x72 , 0x75 , 0x63 , 0x74 , 0x52 , 0x09 , 0x6f , 0x6c , 0x64 , 0x49 , 0x6e , 0x70 ,
0x75 , 0x74 , 0x73 , 0x22 , 0xad , 0x0b , 0x0a , 0x10 , 0x43 , 0x6f , 0x6e , 0x73 , 0x74 , 0x72 , 0x75 , 0x63 ,
0x74 , 0x52 , 0x65 , 0x71 , 0x75 , 0x65 , 0x73 , 0x74 , 0x12 , 0x18 , 0x0a , 0x07 , 0x70 , 0x72 , 0x6f , 0x6a ,
0x65 , 0x63 , 0x74 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x07 , 0x70 , 0x72 , 0x6f , 0x6a , 0x65 ,
0x63 , 0x74 , 0x12 , 0x14 , 0x0a , 0x05 , 0x73 , 0x74 , 0x61 , 0x63 , 0x6b , 0x18 , 0x02 , 0x20 , 0x01 , 0x28 ,
0x09 , 0x52 , 0x05 , 0x73 , 0x74 , 0x61 , 0x63 , 0x6b , 0x12 , 0x3f , 0x0a , 0x06 , 0x63 , 0x6f , 0x6e , 0x66 ,
0x69 , 0x67 , 0x18 , 0x03 , 0x20 , 0x03 , 0x28 , 0x0b , 0x32 , 0x27 , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d ,
0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x43 , 0x6f , 0x6e , 0x73 , 0x74 , 0x72 , 0x75 , 0x63 , 0x74 , 0x52 , 0x65 ,
0x71 , 0x75 , 0x65 , 0x73 , 0x74 , 0x2e , 0x43 , 0x6f , 0x6e , 0x66 , 0x69 , 0x67 , 0x45 , 0x6e , 0x74 , 0x72 ,
0x79 , 0x52 , 0x06 , 0x63 , 0x6f , 0x6e , 0x66 , 0x69 , 0x67 , 0x12 , 0x16 , 0x0a , 0x06 , 0x64 , 0x72 , 0x79 ,
0x52 , 0x75 , 0x6e , 0x18 , 0x04 , 0x20 , 0x01 , 0x28 , 0x08 , 0x52 , 0x06 , 0x64 , 0x72 , 0x79 , 0x52 , 0x75 ,
0x6e , 0x12 , 0x1a , 0x0a , 0x08 , 0x70 , 0x61 , 0x72 , 0x61 , 0x6c , 0x6c , 0x65 , 0x6c , 0x18 , 0x05 , 0x20 ,
0x01 , 0x28 , 0x05 , 0x52 , 0x08 , 0x70 , 0x61 , 0x72 , 0x61 , 0x6c , 0x6c , 0x65 , 0x6c , 0x12 , 0x28 , 0x0a ,
2024-03-04 13:01:25 +00:00
0x0f , 0x6d , 0x6f , 0x6e , 0x69 , 0x74 , 0x6f , 0x72 , 0x45 , 0x6e , 0x64 , 0x70 , 0x6f , 0x69 , 0x6e , 0x74 ,
2024-05-15 16:22:39 +00:00
0x18 , 0x06 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x0f , 0x6d , 0x6f , 0x6e , 0x69 , 0x74 , 0x6f , 0x72 , 0x45 ,
0x6e , 0x64 , 0x70 , 0x6f , 0x69 , 0x6e , 0x74 , 0x12 , 0x12 , 0x0a , 0x04 , 0x74 , 0x79 , 0x70 , 0x65 , 0x18 ,
0x07 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x04 , 0x74 , 0x79 , 0x70 , 0x65 , 0x12 , 0x12 , 0x0a , 0x04 , 0x6e ,
0x61 , 0x6d , 0x65 , 0x18 , 0x08 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x04 , 0x6e , 0x61 , 0x6d , 0x65 , 0x12 ,
0x16 , 0x0a , 0x06 , 0x70 , 0x61 , 0x72 , 0x65 , 0x6e , 0x74 , 0x18 , 0x09 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 ,
0x06 , 0x70 , 0x61 , 0x72 , 0x65 , 0x6e , 0x74 , 0x12 , 0x2f , 0x0a , 0x06 , 0x69 , 0x6e , 0x70 , 0x75 , 0x74 ,
0x73 , 0x18 , 0x0a , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 , 0x17 , 0x2e , 0x67 , 0x6f , 0x6f , 0x67 , 0x6c , 0x65 ,
0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x62 , 0x75 , 0x66 , 0x2e , 0x53 , 0x74 , 0x72 , 0x75 , 0x63 , 0x74 ,
0x52 , 0x06 , 0x69 , 0x6e , 0x70 , 0x75 , 0x74 , 0x73 , 0x12 , 0x60 , 0x0a , 0x11 , 0x69 , 0x6e , 0x70 , 0x75 ,
0x74 , 0x44 , 0x65 , 0x70 , 0x65 , 0x6e , 0x64 , 0x65 , 0x6e , 0x63 , 0x69 , 0x65 , 0x73 , 0x18 , 0x0b , 0x20 ,
0x03 , 0x28 , 0x0b , 0x32 , 0x32 , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e ,
0x43 , 0x6f , 0x6e , 0x73 , 0x74 , 0x72 , 0x75 , 0x63 , 0x74 , 0x52 , 0x65 , 0x71 , 0x75 , 0x65 , 0x73 , 0x74 ,
0x2e , 0x49 , 0x6e , 0x70 , 0x75 , 0x74 , 0x44 , 0x65 , 0x70 , 0x65 , 0x6e , 0x64 , 0x65 , 0x6e , 0x63 , 0x69 ,
0x65 , 0x73 , 0x45 , 0x6e , 0x74 , 0x72 , 0x79 , 0x52 , 0x11 , 0x69 , 0x6e , 0x70 , 0x75 , 0x74 , 0x44 , 0x65 ,
0x70 , 0x65 , 0x6e , 0x64 , 0x65 , 0x6e , 0x63 , 0x69 , 0x65 , 0x73 , 0x12 , 0x48 , 0x0a , 0x09 , 0x70 , 0x72 ,
0x6f , 0x76 , 0x69 , 0x64 , 0x65 , 0x72 , 0x73 , 0x18 , 0x0d , 0x20 , 0x03 , 0x28 , 0x0b , 0x32 , 0x2a , 0x2e ,
2024-03-04 13:01:25 +00:00
0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x43 , 0x6f , 0x6e , 0x73 , 0x74 , 0x72 ,
2024-05-15 16:22:39 +00:00
0x75 , 0x63 , 0x74 , 0x52 , 0x65 , 0x71 , 0x75 , 0x65 , 0x73 , 0x74 , 0x2e , 0x50 , 0x72 , 0x6f , 0x76 , 0x69 ,
0x64 , 0x65 , 0x72 , 0x73 , 0x45 , 0x6e , 0x74 , 0x72 , 0x79 , 0x52 , 0x09 , 0x70 , 0x72 , 0x6f , 0x76 , 0x69 ,
0x64 , 0x65 , 0x72 , 0x73 , 0x12 , 0x22 , 0x0a , 0x0c , 0x64 , 0x65 , 0x70 , 0x65 , 0x6e , 0x64 , 0x65 , 0x6e ,
0x63 , 0x69 , 0x65 , 0x73 , 0x18 , 0x0f , 0x20 , 0x03 , 0x28 , 0x09 , 0x52 , 0x0c , 0x64 , 0x65 , 0x70 , 0x65 ,
0x6e , 0x64 , 0x65 , 0x6e , 0x63 , 0x69 , 0x65 , 0x73 , 0x12 , 0x2a , 0x0a , 0x10 , 0x63 , 0x6f , 0x6e , 0x66 ,
0x69 , 0x67 , 0x53 , 0x65 , 0x63 , 0x72 , 0x65 , 0x74 , 0x4b , 0x65 , 0x79 , 0x73 , 0x18 , 0x10 , 0x20 , 0x03 ,
0x28 , 0x09 , 0x52 , 0x10 , 0x63 , 0x6f , 0x6e , 0x66 , 0x69 , 0x67 , 0x53 , 0x65 , 0x63 , 0x72 , 0x65 , 0x74 ,
0x4b , 0x65 , 0x79 , 0x73 , 0x12 , 0x22 , 0x0a , 0x0c , 0x6f , 0x72 , 0x67 , 0x61 , 0x6e , 0x69 , 0x7a , 0x61 ,
0x74 , 0x69 , 0x6f , 0x6e , 0x18 , 0x11 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x0c , 0x6f , 0x72 , 0x67 , 0x61 ,
0x6e , 0x69 , 0x7a , 0x61 , 0x74 , 0x69 , 0x6f , 0x6e , 0x12 , 0x18 , 0x0a , 0x07 , 0x70 , 0x72 , 0x6f , 0x74 ,
0x65 , 0x63 , 0x74 , 0x18 , 0x0c , 0x20 , 0x01 , 0x28 , 0x08 , 0x52 , 0x07 , 0x70 , 0x72 , 0x6f , 0x74 , 0x65 ,
0x63 , 0x74 , 0x12 , 0x18 , 0x0a , 0x07 , 0x61 , 0x6c , 0x69 , 0x61 , 0x73 , 0x65 , 0x73 , 0x18 , 0x0e , 0x20 ,
0x03 , 0x28 , 0x09 , 0x52 , 0x07 , 0x61 , 0x6c , 0x69 , 0x61 , 0x73 , 0x65 , 0x73 , 0x12 , 0x38 , 0x0a , 0x17 ,
0x61 , 0x64 , 0x64 , 0x69 , 0x74 , 0x69 , 0x6f , 0x6e , 0x61 , 0x6c , 0x53 , 0x65 , 0x63 , 0x72 , 0x65 , 0x74 ,
0x4f , 0x75 , 0x74 , 0x70 , 0x75 , 0x74 , 0x73 , 0x18 , 0x12 , 0x20 , 0x03 , 0x28 , 0x09 , 0x52 , 0x17 , 0x61 ,
0x64 , 0x64 , 0x69 , 0x74 , 0x69 , 0x6f , 0x6e , 0x61 , 0x6c , 0x53 , 0x65 , 0x63 , 0x72 , 0x65 , 0x74 , 0x4f ,
0x75 , 0x74 , 0x70 , 0x75 , 0x74 , 0x73 , 0x12 , 0x52 , 0x0a , 0x0e , 0x63 , 0x75 , 0x73 , 0x74 , 0x6f , 0x6d ,
0x54 , 0x69 , 0x6d , 0x65 , 0x6f , 0x75 , 0x74 , 0x73 , 0x18 , 0x13 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 , 0x2a ,
0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x43 , 0x6f , 0x6e , 0x73 , 0x74 ,
0x72 , 0x75 , 0x63 , 0x74 , 0x52 , 0x65 , 0x71 , 0x75 , 0x65 , 0x73 , 0x74 , 0x2e , 0x43 , 0x75 , 0x73 , 0x74 ,
0x6f , 0x6d , 0x54 , 0x69 , 0x6d , 0x65 , 0x6f , 0x75 , 0x74 , 0x73 , 0x52 , 0x0e , 0x63 , 0x75 , 0x73 , 0x74 ,
0x6f , 0x6d , 0x54 , 0x69 , 0x6d , 0x65 , 0x6f , 0x75 , 0x74 , 0x73 , 0x12 , 0x20 , 0x0a , 0x0b , 0x64 , 0x65 ,
0x6c , 0x65 , 0x74 , 0x65 , 0x64 , 0x57 , 0x69 , 0x74 , 0x68 , 0x18 , 0x14 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 ,
0x0b , 0x64 , 0x65 , 0x6c , 0x65 , 0x74 , 0x65 , 0x64 , 0x57 , 0x69 , 0x74 , 0x68 , 0x12 , 0x30 , 0x0a , 0x13 ,
0x64 , 0x65 , 0x6c , 0x65 , 0x74 , 0x65 , 0x42 , 0x65 , 0x66 , 0x6f , 0x72 , 0x65 , 0x52 , 0x65 , 0x70 , 0x6c ,
0x61 , 0x63 , 0x65 , 0x18 , 0x15 , 0x20 , 0x01 , 0x28 , 0x08 , 0x52 , 0x13 , 0x64 , 0x65 , 0x6c , 0x65 , 0x74 ,
0x65 , 0x42 , 0x65 , 0x66 , 0x6f , 0x72 , 0x65 , 0x52 , 0x65 , 0x70 , 0x6c , 0x61 , 0x63 , 0x65 , 0x12 , 0x24 ,
0x0a , 0x0d , 0x69 , 0x67 , 0x6e , 0x6f , 0x72 , 0x65 , 0x43 , 0x68 , 0x61 , 0x6e , 0x67 , 0x65 , 0x73 , 0x18 ,
0x16 , 0x20 , 0x03 , 0x28 , 0x09 , 0x52 , 0x0d , 0x69 , 0x67 , 0x6e , 0x6f , 0x72 , 0x65 , 0x43 , 0x68 , 0x61 ,
0x6e , 0x67 , 0x65 , 0x73 , 0x12 , 0x2a , 0x0a , 0x10 , 0x72 , 0x65 , 0x70 , 0x6c , 0x61 , 0x63 , 0x65 , 0x4f ,
0x6e , 0x43 , 0x68 , 0x61 , 0x6e , 0x67 , 0x65 , 0x73 , 0x18 , 0x17 , 0x20 , 0x03 , 0x28 , 0x09 , 0x52 , 0x10 ,
0x72 , 0x65 , 0x70 , 0x6c , 0x61 , 0x63 , 0x65 , 0x4f , 0x6e , 0x43 , 0x68 , 0x61 , 0x6e , 0x67 , 0x65 , 0x73 ,
0x12 , 0x26 , 0x0a , 0x0e , 0x72 , 0x65 , 0x74 , 0x61 , 0x69 , 0x6e , 0x4f , 0x6e , 0x44 , 0x65 , 0x6c , 0x65 ,
0x74 , 0x65 , 0x18 , 0x18 , 0x20 , 0x01 , 0x28 , 0x08 , 0x52 , 0x0e , 0x72 , 0x65 , 0x74 , 0x61 , 0x69 , 0x6e ,
0x4f , 0x6e , 0x44 , 0x65 , 0x6c , 0x65 , 0x74 , 0x65 , 0x12 , 0x32 , 0x0a , 0x15 , 0x61 , 0x63 , 0x63 , 0x65 ,
0x70 , 0x74 , 0x73 , 0x5f , 0x6f , 0x75 , 0x74 , 0x70 , 0x75 , 0x74 , 0x5f , 0x76 , 0x61 , 0x6c , 0x75 , 0x65 ,
0x73 , 0x18 , 0x19 , 0x20 , 0x01 , 0x28 , 0x08 , 0x52 , 0x13 , 0x61 , 0x63 , 0x63 , 0x65 , 0x70 , 0x74 , 0x73 ,
0x4f , 0x75 , 0x74 , 0x70 , 0x75 , 0x74 , 0x56 , 0x61 , 0x6c , 0x75 , 0x65 , 0x73 , 0x1a , 0x2a , 0x0a , 0x14 ,
0x50 , 0x72 , 0x6f , 0x70 , 0x65 , 0x72 , 0x74 , 0x79 , 0x44 , 0x65 , 0x70 , 0x65 , 0x6e , 0x64 , 0x65 , 0x6e ,
0x63 , 0x69 , 0x65 , 0x73 , 0x12 , 0x12 , 0x0a , 0x04 , 0x75 , 0x72 , 0x6e , 0x73 , 0x18 , 0x01 , 0x20 , 0x03 ,
0x28 , 0x09 , 0x52 , 0x04 , 0x75 , 0x72 , 0x6e , 0x73 , 0x1a , 0x58 , 0x0a , 0x0e , 0x43 , 0x75 , 0x73 , 0x74 ,
0x6f , 0x6d , 0x54 , 0x69 , 0x6d , 0x65 , 0x6f , 0x75 , 0x74 , 0x73 , 0x12 , 0x16 , 0x0a , 0x06 , 0x63 , 0x72 ,
0x65 , 0x61 , 0x74 , 0x65 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x06 , 0x63 , 0x72 , 0x65 , 0x61 ,
0x74 , 0x65 , 0x12 , 0x16 , 0x0a , 0x06 , 0x75 , 0x70 , 0x64 , 0x61 , 0x74 , 0x65 , 0x18 , 0x02 , 0x20 , 0x01 ,
0x28 , 0x09 , 0x52 , 0x06 , 0x75 , 0x70 , 0x64 , 0x61 , 0x74 , 0x65 , 0x12 , 0x16 , 0x0a , 0x06 , 0x64 , 0x65 ,
0x6c , 0x65 , 0x74 , 0x65 , 0x18 , 0x03 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x06 , 0x64 , 0x65 , 0x6c , 0x65 ,
0x74 , 0x65 , 0x1a , 0x39 , 0x0a , 0x0b , 0x43 , 0x6f , 0x6e , 0x66 , 0x69 , 0x67 , 0x45 , 0x6e , 0x74 , 0x72 ,
0x79 , 0x12 , 0x10 , 0x0a , 0x03 , 0x6b , 0x65 , 0x79 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x03 ,
0x6b , 0x65 , 0x79 , 0x12 , 0x14 , 0x0a , 0x05 , 0x76 , 0x61 , 0x6c , 0x75 , 0x65 , 0x18 , 0x02 , 0x20 , 0x01 ,
0x28 , 0x09 , 0x52 , 0x05 , 0x76 , 0x61 , 0x6c , 0x75 , 0x65 , 0x3a , 0x02 , 0x38 , 0x01 , 0x1a , 0x76 , 0x0a ,
0x16 , 0x49 , 0x6e , 0x70 , 0x75 , 0x74 , 0x44 , 0x65 , 0x70 , 0x65 , 0x6e , 0x64 , 0x65 , 0x6e , 0x63 , 0x69 ,
0x65 , 0x73 , 0x45 , 0x6e , 0x74 , 0x72 , 0x79 , 0x12 , 0x10 , 0x0a , 0x03 , 0x6b , 0x65 , 0x79 , 0x18 , 0x01 ,
0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x03 , 0x6b , 0x65 , 0x79 , 0x12 , 0x46 , 0x0a , 0x05 , 0x76 , 0x61 , 0x6c ,
0x75 , 0x65 , 0x18 , 0x02 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 , 0x30 , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d ,
0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x43 , 0x6f , 0x6e , 0x73 , 0x74 , 0x72 , 0x75 , 0x63 , 0x74 , 0x52 , 0x65 ,
0x71 , 0x75 , 0x65 , 0x73 , 0x74 , 0x2e , 0x50 , 0x72 , 0x6f , 0x70 , 0x65 , 0x72 , 0x74 , 0x79 , 0x44 , 0x65 ,
0x70 , 0x65 , 0x6e , 0x64 , 0x65 , 0x6e , 0x63 , 0x69 , 0x65 , 0x73 , 0x52 , 0x05 , 0x76 , 0x61 , 0x6c , 0x75 ,
0x65 , 0x3a , 0x02 , 0x38 , 0x01 , 0x1a , 0x3c , 0x0a , 0x0e , 0x50 , 0x72 , 0x6f , 0x76 , 0x69 , 0x64 , 0x65 ,
0x72 , 0x73 , 0x45 , 0x6e , 0x74 , 0x72 , 0x79 , 0x12 , 0x10 , 0x0a , 0x03 , 0x6b , 0x65 , 0x79 , 0x18 , 0x01 ,
0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x03 , 0x6b , 0x65 , 0x79 , 0x12 , 0x14 , 0x0a , 0x05 , 0x76 , 0x61 , 0x6c ,
0x75 , 0x65 , 0x18 , 0x02 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x05 , 0x76 , 0x61 , 0x6c , 0x75 , 0x65 , 0x3a ,
0x02 , 0x38 , 0x01 , 0x22 , 0xdc , 0x02 , 0x0a , 0x11 , 0x43 , 0x6f , 0x6e , 0x73 , 0x74 , 0x72 , 0x75 , 0x63 ,
0x74 , 0x52 , 0x65 , 0x73 , 0x70 , 0x6f , 0x6e , 0x73 , 0x65 , 0x12 , 0x10 , 0x0a , 0x03 , 0x75 , 0x72 , 0x6e ,
0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x03 , 0x75 , 0x72 , 0x6e , 0x12 , 0x2d , 0x0a , 0x05 , 0x73 ,
0x74 , 0x61 , 0x74 , 0x65 , 0x18 , 0x02 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 , 0x17 , 0x2e , 0x67 , 0x6f , 0x6f ,
2024-03-04 13:01:25 +00:00
0x67 , 0x6c , 0x65 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x62 , 0x75 , 0x66 , 0x2e , 0x53 , 0x74 , 0x72 ,
2024-05-15 16:22:39 +00:00
0x75 , 0x63 , 0x74 , 0x52 , 0x05 , 0x73 , 0x74 , 0x61 , 0x74 , 0x65 , 0x12 , 0x61 , 0x0a , 0x11 , 0x73 , 0x74 ,
0x61 , 0x74 , 0x65 , 0x44 , 0x65 , 0x70 , 0x65 , 0x6e , 0x64 , 0x65 , 0x6e , 0x63 , 0x69 , 0x65 , 0x73 , 0x18 ,
0x03 , 0x20 , 0x03 , 0x28 , 0x0b , 0x32 , 0x33 , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 ,
0x63 , 0x2e , 0x43 , 0x6f , 0x6e , 0x73 , 0x74 , 0x72 , 0x75 , 0x63 , 0x74 , 0x52 , 0x65 , 0x73 , 0x70 , 0x6f ,
0x6e , 0x73 , 0x65 , 0x2e , 0x53 , 0x74 , 0x61 , 0x74 , 0x65 , 0x44 , 0x65 , 0x70 , 0x65 , 0x6e , 0x64 , 0x65 ,
0x6e , 0x63 , 0x69 , 0x65 , 0x73 , 0x45 , 0x6e , 0x74 , 0x72 , 0x79 , 0x52 , 0x11 , 0x73 , 0x74 , 0x61 , 0x74 ,
0x65 , 0x44 , 0x65 , 0x70 , 0x65 , 0x6e , 0x64 , 0x65 , 0x6e , 0x63 , 0x69 , 0x65 , 0x73 , 0x1a , 0x2a , 0x0a ,
0x14 , 0x50 , 0x72 , 0x6f , 0x70 , 0x65 , 0x72 , 0x74 , 0x79 , 0x44 , 0x65 , 0x70 , 0x65 , 0x6e , 0x64 , 0x65 ,
0x6e , 0x63 , 0x69 , 0x65 , 0x73 , 0x12 , 0x12 , 0x0a , 0x04 , 0x75 , 0x72 , 0x6e , 0x73 , 0x18 , 0x01 , 0x20 ,
0x03 , 0x28 , 0x09 , 0x52 , 0x04 , 0x75 , 0x72 , 0x6e , 0x73 , 0x1a , 0x77 , 0x0a , 0x16 , 0x53 , 0x74 , 0x61 ,
0x74 , 0x65 , 0x44 , 0x65 , 0x70 , 0x65 , 0x6e , 0x64 , 0x65 , 0x6e , 0x63 , 0x69 , 0x65 , 0x73 , 0x45 , 0x6e ,
0x74 , 0x72 , 0x79 , 0x12 , 0x10 , 0x0a , 0x03 , 0x6b , 0x65 , 0x79 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x09 ,
0x52 , 0x03 , 0x6b , 0x65 , 0x79 , 0x12 , 0x47 , 0x0a , 0x05 , 0x76 , 0x61 , 0x6c , 0x75 , 0x65 , 0x18 , 0x02 ,
0x20 , 0x01 , 0x28 , 0x0b , 0x32 , 0x31 , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 ,
0x2e , 0x43 , 0x6f , 0x6e , 0x73 , 0x74 , 0x72 , 0x75 , 0x63 , 0x74 , 0x52 , 0x65 , 0x73 , 0x70 , 0x6f , 0x6e ,
0x73 , 0x65 , 0x2e , 0x50 , 0x72 , 0x6f , 0x70 , 0x65 , 0x72 , 0x74 , 0x79 , 0x44 , 0x65 , 0x70 , 0x65 , 0x6e ,
0x64 , 0x65 , 0x6e , 0x63 , 0x69 , 0x65 , 0x73 , 0x52 , 0x05 , 0x76 , 0x61 , 0x6c , 0x75 , 0x65 , 0x3a , 0x02 ,
0x38 , 0x01 , 0x22 , 0xad , 0x01 , 0x0a , 0x17 , 0x45 , 0x72 , 0x72 , 0x6f , 0x72 , 0x52 , 0x65 , 0x73 , 0x6f ,
0x75 , 0x72 , 0x63 , 0x65 , 0x49 , 0x6e , 0x69 , 0x74 , 0x46 , 0x61 , 0x69 , 0x6c , 0x65 , 0x64 , 0x12 , 0x0e ,
0x0a , 0x02 , 0x69 , 0x64 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x02 , 0x69 , 0x64 , 0x12 , 0x37 ,
0x0a , 0x0a , 0x70 , 0x72 , 0x6f , 0x70 , 0x65 , 0x72 , 0x74 , 0x69 , 0x65 , 0x73 , 0x18 , 0x02 , 0x20 , 0x01 ,
0x28 , 0x0b , 0x32 , 0x17 , 0x2e , 0x67 , 0x6f , 0x6f , 0x67 , 0x6c , 0x65 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 ,
0x6f , 0x62 , 0x75 , 0x66 , 0x2e , 0x53 , 0x74 , 0x72 , 0x75 , 0x63 , 0x74 , 0x52 , 0x0a , 0x70 , 0x72 , 0x6f ,
0x70 , 0x65 , 0x72 , 0x74 , 0x69 , 0x65 , 0x73 , 0x12 , 0x18 , 0x0a , 0x07 , 0x72 , 0x65 , 0x61 , 0x73 , 0x6f ,
0x6e , 0x73 , 0x18 , 0x03 , 0x20 , 0x03 , 0x28 , 0x09 , 0x52 , 0x07 , 0x72 , 0x65 , 0x61 , 0x73 , 0x6f , 0x6e ,
0x73 , 0x12 , 0x2f , 0x0a , 0x06 , 0x69 , 0x6e , 0x70 , 0x75 , 0x74 , 0x73 , 0x18 , 0x04 , 0x20 , 0x01 , 0x28 ,
0x0b , 0x32 , 0x17 , 0x2e , 0x67 , 0x6f , 0x6f , 0x67 , 0x6c , 0x65 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f ,
0x62 , 0x75 , 0x66 , 0x2e , 0x53 , 0x74 , 0x72 , 0x75 , 0x63 , 0x74 , 0x52 , 0x06 , 0x69 , 0x6e , 0x70 , 0x75 ,
0x74 , 0x73 , 0x22 , 0x41 , 0x0a , 0x11 , 0x47 , 0x65 , 0x74 , 0x4d , 0x61 , 0x70 , 0x70 , 0x69 , 0x6e , 0x67 ,
0x52 , 0x65 , 0x71 , 0x75 , 0x65 , 0x73 , 0x74 , 0x12 , 0x10 , 0x0a , 0x03 , 0x6b , 0x65 , 0x79 , 0x18 , 0x01 ,
0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x03 , 0x6b , 0x65 , 0x79 , 0x12 , 0x1a , 0x0a , 0x08 , 0x70 , 0x72 , 0x6f ,
0x76 , 0x69 , 0x64 , 0x65 , 0x72 , 0x18 , 0x02 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x08 , 0x70 , 0x72 , 0x6f ,
0x76 , 0x69 , 0x64 , 0x65 , 0x72 , 0x22 , 0x44 , 0x0a , 0x12 , 0x47 , 0x65 , 0x74 , 0x4d , 0x61 , 0x70 , 0x70 ,
0x69 , 0x6e , 0x67 , 0x52 , 0x65 , 0x73 , 0x70 , 0x6f , 0x6e , 0x73 , 0x65 , 0x12 , 0x1a , 0x0a , 0x08 , 0x70 ,
0x72 , 0x6f , 0x76 , 0x69 , 0x64 , 0x65 , 0x72 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x08 , 0x70 ,
0x72 , 0x6f , 0x76 , 0x69 , 0x64 , 0x65 , 0x72 , 0x12 , 0x12 , 0x0a , 0x04 , 0x64 , 0x61 , 0x74 , 0x61 , 0x18 ,
0x02 , 0x20 , 0x01 , 0x28 , 0x0c , 0x52 , 0x04 , 0x64 , 0x61 , 0x74 , 0x61 , 0x22 , 0x26 , 0x0a , 0x12 , 0x47 ,
0x65 , 0x74 , 0x4d , 0x61 , 0x70 , 0x70 , 0x69 , 0x6e , 0x67 , 0x73 , 0x52 , 0x65 , 0x71 , 0x75 , 0x65 , 0x73 ,
0x74 , 0x12 , 0x10 , 0x0a , 0x03 , 0x6b , 0x65 , 0x79 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x03 ,
0x6b , 0x65 , 0x79 , 0x22 , 0x33 , 0x0a , 0x13 , 0x47 , 0x65 , 0x74 , 0x4d , 0x61 , 0x70 , 0x70 , 0x69 , 0x6e ,
0x67 , 0x73 , 0x52 , 0x65 , 0x73 , 0x70 , 0x6f , 0x6e , 0x73 , 0x65 , 0x12 , 0x1c , 0x0a , 0x09 , 0x70 , 0x72 ,
0x6f , 0x76 , 0x69 , 0x64 , 0x65 , 0x72 , 0x73 , 0x18 , 0x01 , 0x20 , 0x03 , 0x28 , 0x09 , 0x52 , 0x09 , 0x70 ,
0x72 , 0x6f , 0x76 , 0x69 , 0x64 , 0x65 , 0x72 , 0x73 , 0x32 , 0xd9 , 0x0a , 0x0a , 0x10 , 0x52 , 0x65 , 0x73 ,
0x6f , 0x75 , 0x72 , 0x63 , 0x65 , 0x50 , 0x72 , 0x6f , 0x76 , 0x69 , 0x64 , 0x65 , 0x72 , 0x12 , 0x51 , 0x0a ,
0x0c , 0x50 , 0x61 , 0x72 , 0x61 , 0x6d , 0x65 , 0x74 , 0x65 , 0x72 , 0x69 , 0x7a , 0x65 , 0x12 , 0x1e , 0x2e ,
0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x50 , 0x61 , 0x72 , 0x61 , 0x6d , 0x65 ,
0x74 , 0x65 , 0x72 , 0x69 , 0x7a , 0x65 , 0x52 , 0x65 , 0x71 , 0x75 , 0x65 , 0x73 , 0x74 , 0x1a , 0x1f , 0x2e ,
0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x50 , 0x61 , 0x72 , 0x61 , 0x6d , 0x65 ,
0x74 , 0x65 , 0x72 , 0x69 , 0x7a , 0x65 , 0x52 , 0x65 , 0x73 , 0x70 , 0x6f , 0x6e , 0x73 , 0x65 , 0x22 , 0x00 ,
0x12 , 0x48 , 0x0a , 0x09 , 0x47 , 0x65 , 0x74 , 0x53 , 0x63 , 0x68 , 0x65 , 0x6d , 0x61 , 0x12 , 0x1b , 0x2e ,
0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x47 , 0x65 , 0x74 , 0x53 , 0x63 , 0x68 ,
0x65 , 0x6d , 0x61 , 0x52 , 0x65 , 0x71 , 0x75 , 0x65 , 0x73 , 0x74 , 0x1a , 0x1c , 0x2e , 0x70 , 0x75 , 0x6c ,
0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x47 , 0x65 , 0x74 , 0x53 , 0x63 , 0x68 , 0x65 , 0x6d , 0x61 ,
0x52 , 0x65 , 0x73 , 0x70 , 0x6f , 0x6e , 0x73 , 0x65 , 0x22 , 0x00 , 0x12 , 0x42 , 0x0a , 0x0b , 0x43 , 0x68 ,
0x65 , 0x63 , 0x6b , 0x43 , 0x6f , 0x6e , 0x66 , 0x69 , 0x67 , 0x12 , 0x17 , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 ,
0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x43 , 0x68 , 0x65 , 0x63 , 0x6b , 0x52 , 0x65 , 0x71 , 0x75 , 0x65 ,
0x73 , 0x74 , 0x1a , 0x18 , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x43 ,
0x68 , 0x65 , 0x63 , 0x6b , 0x52 , 0x65 , 0x73 , 0x70 , 0x6f , 0x6e , 0x73 , 0x65 , 0x22 , 0x00 , 0x12 , 0x3f ,
0x0a , 0x0a , 0x44 , 0x69 , 0x66 , 0x66 , 0x43 , 0x6f , 0x6e , 0x66 , 0x69 , 0x67 , 0x12 , 0x16 , 0x2e , 0x70 ,
0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x44 , 0x69 , 0x66 , 0x66 , 0x52 , 0x65 , 0x71 ,
0x75 , 0x65 , 0x73 , 0x74 , 0x1a , 0x17 , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 ,
0x2e , 0x44 , 0x69 , 0x66 , 0x66 , 0x52 , 0x65 , 0x73 , 0x70 , 0x6f , 0x6e , 0x73 , 0x65 , 0x22 , 0x00 , 0x12 ,
0x48 , 0x0a , 0x09 , 0x43 , 0x6f , 0x6e , 0x66 , 0x69 , 0x67 , 0x75 , 0x72 , 0x65 , 0x12 , 0x1b , 0x2e , 0x70 ,
0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x43 , 0x6f , 0x6e , 0x66 , 0x69 , 0x67 , 0x75 ,
0x72 , 0x65 , 0x52 , 0x65 , 0x71 , 0x75 , 0x65 , 0x73 , 0x74 , 0x1a , 0x1c , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 ,
0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x43 , 0x6f , 0x6e , 0x66 , 0x69 , 0x67 , 0x75 , 0x72 , 0x65 , 0x52 ,
0x65 , 0x73 , 0x70 , 0x6f , 0x6e , 0x73 , 0x65 , 0x22 , 0x00 , 0x12 , 0x3f , 0x0a , 0x06 , 0x49 , 0x6e , 0x76 ,
0x6f , 0x6b , 0x65 , 0x12 , 0x18 , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e ,
0x49 , 0x6e , 0x76 , 0x6f , 0x6b , 0x65 , 0x52 , 0x65 , 0x71 , 0x75 , 0x65 , 0x73 , 0x74 , 0x1a , 0x19 , 0x2e ,
0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x49 , 0x6e , 0x76 , 0x6f , 0x6b , 0x65 ,
0x52 , 0x65 , 0x73 , 0x70 , 0x6f , 0x6e , 0x73 , 0x65 , 0x22 , 0x00 , 0x12 , 0x47 , 0x0a , 0x0c , 0x53 , 0x74 ,
0x72 , 0x65 , 0x61 , 0x6d , 0x49 , 0x6e , 0x76 , 0x6f , 0x6b , 0x65 , 0x12 , 0x18 , 0x2e , 0x70 , 0x75 , 0x6c ,
0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x49 , 0x6e , 0x76 , 0x6f , 0x6b , 0x65 , 0x52 , 0x65 , 0x71 ,
0x75 , 0x65 , 0x73 , 0x74 , 0x1a , 0x19 , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 ,
0x2e , 0x49 , 0x6e , 0x76 , 0x6f , 0x6b , 0x65 , 0x52 , 0x65 , 0x73 , 0x70 , 0x6f , 0x6e , 0x73 , 0x65 , 0x22 ,
0x00 , 0x30 , 0x01 , 0x12 , 0x39 , 0x0a , 0x04 , 0x43 , 0x61 , 0x6c , 0x6c , 0x12 , 0x16 , 0x2e , 0x70 , 0x75 ,
0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x43 , 0x61 , 0x6c , 0x6c , 0x52 , 0x65 , 0x71 , 0x75 ,
0x65 , 0x73 , 0x74 , 0x1a , 0x17 , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e ,
0x43 , 0x61 , 0x6c , 0x6c , 0x52 , 0x65 , 0x73 , 0x70 , 0x6f , 0x6e , 0x73 , 0x65 , 0x22 , 0x00 , 0x12 , 0x3c ,
0x0a , 0x05 , 0x43 , 0x68 , 0x65 , 0x63 , 0x6b , 0x12 , 0x17 , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 ,
0x72 , 0x70 , 0x63 , 0x2e , 0x43 , 0x68 , 0x65 , 0x63 , 0x6b , 0x52 , 0x65 , 0x71 , 0x75 , 0x65 , 0x73 , 0x74 ,
0x1a , 0x18 , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x43 , 0x68 , 0x65 ,
0x63 , 0x6b , 0x52 , 0x65 , 0x73 , 0x70 , 0x6f , 0x6e , 0x73 , 0x65 , 0x22 , 0x00 , 0x12 , 0x39 , 0x0a , 0x04 ,
0x44 , 0x69 , 0x66 , 0x66 , 0x12 , 0x16 , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 ,
0x2e , 0x44 , 0x69 , 0x66 , 0x66 , 0x52 , 0x65 , 0x71 , 0x75 , 0x65 , 0x73 , 0x74 , 0x1a , 0x17 , 0x2e , 0x70 ,
0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x44 , 0x69 , 0x66 , 0x66 , 0x52 , 0x65 , 0x73 ,
0x70 , 0x6f , 0x6e , 0x73 , 0x65 , 0x22 , 0x00 , 0x12 , 0x3f , 0x0a , 0x06 , 0x43 , 0x72 , 0x65 , 0x61 , 0x74 ,
0x65 , 0x12 , 0x18 , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x43 , 0x72 ,
0x65 , 0x61 , 0x74 , 0x65 , 0x52 , 0x65 , 0x71 , 0x75 , 0x65 , 0x73 , 0x74 , 0x1a , 0x19 , 0x2e , 0x70 , 0x75 ,
0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x43 , 0x72 , 0x65 , 0x61 , 0x74 , 0x65 , 0x52 , 0x65 ,
0x73 , 0x70 , 0x6f , 0x6e , 0x73 , 0x65 , 0x22 , 0x00 , 0x12 , 0x39 , 0x0a , 0x04 , 0x52 , 0x65 , 0x61 , 0x64 ,
0x12 , 0x16 , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x52 , 0x65 , 0x61 ,
0x64 , 0x52 , 0x65 , 0x71 , 0x75 , 0x65 , 0x73 , 0x74 , 0x1a , 0x17 , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d ,
0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x52 , 0x65 , 0x61 , 0x64 , 0x52 , 0x65 , 0x73 , 0x70 , 0x6f , 0x6e , 0x73 ,
0x65 , 0x22 , 0x00 , 0x12 , 0x3f , 0x0a , 0x06 , 0x55 , 0x70 , 0x64 , 0x61 , 0x74 , 0x65 , 0x12 , 0x18 , 0x2e ,
2024-03-04 13:01:25 +00:00
0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x55 , 0x70 , 0x64 , 0x61 , 0x74 , 0x65 ,
2024-05-15 16:22:39 +00:00
0x52 , 0x65 , 0x71 , 0x75 , 0x65 , 0x73 , 0x74 , 0x1a , 0x19 , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 ,
0x72 , 0x70 , 0x63 , 0x2e , 0x55 , 0x70 , 0x64 , 0x61 , 0x74 , 0x65 , 0x52 , 0x65 , 0x73 , 0x70 , 0x6f , 0x6e ,
0x73 , 0x65 , 0x22 , 0x00 , 0x12 , 0x3c , 0x0a , 0x06 , 0x44 , 0x65 , 0x6c , 0x65 , 0x74 , 0x65 , 0x12 , 0x18 ,
0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x44 , 0x65 , 0x6c , 0x65 , 0x74 ,
0x65 , 0x52 , 0x65 , 0x71 , 0x75 , 0x65 , 0x73 , 0x74 , 0x1a , 0x16 , 0x2e , 0x67 , 0x6f , 0x6f , 0x67 , 0x6c ,
0x65 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x62 , 0x75 , 0x66 , 0x2e , 0x45 , 0x6d , 0x70 , 0x74 , 0x79 ,
0x22 , 0x00 , 0x12 , 0x48 , 0x0a , 0x09 , 0x43 , 0x6f , 0x6e , 0x73 , 0x74 , 0x72 , 0x75 , 0x63 , 0x74 , 0x12 ,
0x1b , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x43 , 0x6f , 0x6e , 0x73 ,
0x74 , 0x72 , 0x75 , 0x63 , 0x74 , 0x52 , 0x65 , 0x71 , 0x75 , 0x65 , 0x73 , 0x74 , 0x1a , 0x1c , 0x2e , 0x70 ,
0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x43 , 0x6f , 0x6e , 0x73 , 0x74 , 0x72 , 0x75 ,
0x63 , 0x74 , 0x52 , 0x65 , 0x73 , 0x70 , 0x6f , 0x6e , 0x73 , 0x65 , 0x22 , 0x00 , 0x12 , 0x3a , 0x0a , 0x06 ,
0x43 , 0x61 , 0x6e , 0x63 , 0x65 , 0x6c , 0x12 , 0x16 , 0x2e , 0x67 , 0x6f , 0x6f , 0x67 , 0x6c , 0x65 , 0x2e ,
0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x62 , 0x75 , 0x66 , 0x2e , 0x45 , 0x6d , 0x70 , 0x74 , 0x79 , 0x1a , 0x16 ,
2024-03-04 13:01:25 +00:00
0x2e , 0x67 , 0x6f , 0x6f , 0x67 , 0x6c , 0x65 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x62 , 0x75 , 0x66 ,
2024-05-15 16:22:39 +00:00
0x2e , 0x45 , 0x6d , 0x70 , 0x74 , 0x79 , 0x22 , 0x00 , 0x12 , 0x40 , 0x0a , 0x0d , 0x47 , 0x65 , 0x74 , 0x50 ,
0x6c , 0x75 , 0x67 , 0x69 , 0x6e , 0x49 , 0x6e , 0x66 , 0x6f , 0x12 , 0x16 , 0x2e , 0x67 , 0x6f , 0x6f , 0x67 ,
0x6c , 0x65 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x62 , 0x75 , 0x66 , 0x2e , 0x45 , 0x6d , 0x70 , 0x74 ,
0x79 , 0x1a , 0x15 , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x50 , 0x6c ,
0x75 , 0x67 , 0x69 , 0x6e , 0x49 , 0x6e , 0x66 , 0x6f , 0x22 , 0x00 , 0x12 , 0x3b , 0x0a , 0x06 , 0x41 , 0x74 ,
0x74 , 0x61 , 0x63 , 0x68 , 0x12 , 0x17 , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 ,
0x2e , 0x50 , 0x6c , 0x75 , 0x67 , 0x69 , 0x6e , 0x41 , 0x74 , 0x74 , 0x61 , 0x63 , 0x68 , 0x1a , 0x16 , 0x2e ,
0x67 , 0x6f , 0x6f , 0x67 , 0x6c , 0x65 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x62 , 0x75 , 0x66 , 0x2e ,
0x45 , 0x6d , 0x70 , 0x74 , 0x79 , 0x22 , 0x00 , 0x12 , 0x4b , 0x0a , 0x0a , 0x47 , 0x65 , 0x74 , 0x4d , 0x61 ,
0x70 , 0x70 , 0x69 , 0x6e , 0x67 , 0x12 , 0x1c , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 ,
0x63 , 0x2e , 0x47 , 0x65 , 0x74 , 0x4d , 0x61 , 0x70 , 0x70 , 0x69 , 0x6e , 0x67 , 0x52 , 0x65 , 0x71 , 0x75 ,
0x65 , 0x73 , 0x74 , 0x1a , 0x1d , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e ,
0x47 , 0x65 , 0x74 , 0x4d , 0x61 , 0x70 , 0x70 , 0x69 , 0x6e , 0x67 , 0x52 , 0x65 , 0x73 , 0x70 , 0x6f , 0x6e ,
0x73 , 0x65 , 0x22 , 0x00 , 0x12 , 0x4e , 0x0a , 0x0b , 0x47 , 0x65 , 0x74 , 0x4d , 0x61 , 0x70 , 0x70 , 0x69 ,
0x6e , 0x67 , 0x73 , 0x12 , 0x1d , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e ,
0x47 , 0x65 , 0x74 , 0x4d , 0x61 , 0x70 , 0x70 , 0x69 , 0x6e , 0x67 , 0x73 , 0x52 , 0x65 , 0x71 , 0x75 , 0x65 ,
0x73 , 0x74 , 0x1a , 0x1e , 0x2e , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x2e , 0x47 ,
0x65 , 0x74 , 0x4d , 0x61 , 0x70 , 0x70 , 0x69 , 0x6e , 0x67 , 0x73 , 0x52 , 0x65 , 0x73 , 0x70 , 0x6f , 0x6e ,
0x73 , 0x65 , 0x22 , 0x00 , 0x42 , 0x34 , 0x5a , 0x32 , 0x67 , 0x69 , 0x74 , 0x68 , 0x75 , 0x62 , 0x2e , 0x63 ,
0x6f , 0x6d , 0x2f , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x2f , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 ,
0x2f , 0x73 , 0x64 , 0x6b , 0x2f , 0x76 , 0x33 , 0x2f , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x2f , 0x67 , 0x6f ,
0x3b , 0x70 , 0x75 , 0x6c , 0x75 , 0x6d , 0x69 , 0x72 , 0x70 , 0x63 , 0x62 , 0x06 , 0x70 , 0x72 , 0x6f , 0x74 ,
0x6f , 0x33 ,
2022-06-11 07:52:24 +00:00
}
var (
2022-07-12 13:45:03 +00:00
file_pulumi_provider_proto_rawDescOnce sync . Once
file_pulumi_provider_proto_rawDescData = file_pulumi_provider_proto_rawDesc
2022-06-11 07:52:24 +00:00
)
2022-07-12 13:45:03 +00:00
func file_pulumi_provider_proto_rawDescGZIP ( ) [ ] byte {
file_pulumi_provider_proto_rawDescOnce . Do ( func ( ) {
file_pulumi_provider_proto_rawDescData = protoimpl . X . CompressGZIP ( file_pulumi_provider_proto_rawDescData )
2022-06-11 07:52:24 +00:00
} )
2022-07-12 13:45:03 +00:00
return file_pulumi_provider_proto_rawDescData
2022-06-11 07:52:24 +00:00
}
2023-03-04 22:11:52 +00:00
var file_pulumi_provider_proto_enumTypes = make ( [ ] protoimpl . EnumInfo , 2 )
2024-05-15 16:22:39 +00:00
var file_pulumi_provider_proto_msgTypes = make ( [ ] protoimpl . MessageInfo , 48 )
2023-03-04 22:11:52 +00:00
var file_pulumi_provider_proto_goTypes = [ ] interface { } {
2024-05-15 16:22:39 +00:00
( PropertyDiff_Kind ) ( 0 ) , // 0: pulumirpc.PropertyDiff.Kind
( DiffResponse_DiffChanges ) ( 0 ) , // 1: pulumirpc.DiffResponse.DiffChanges
( * ParameterizeRequest ) ( nil ) , // 2: pulumirpc.ParameterizeRequest
( * ParameterizeResponse ) ( nil ) , // 3: pulumirpc.ParameterizeResponse
( * GetSchemaRequest ) ( nil ) , // 4: pulumirpc.GetSchemaRequest
( * GetSchemaResponse ) ( nil ) , // 5: pulumirpc.GetSchemaResponse
( * ConfigureRequest ) ( nil ) , // 6: pulumirpc.ConfigureRequest
( * ConfigureResponse ) ( nil ) , // 7: pulumirpc.ConfigureResponse
( * ConfigureErrorMissingKeys ) ( nil ) , // 8: pulumirpc.ConfigureErrorMissingKeys
( * InvokeRequest ) ( nil ) , // 9: pulumirpc.InvokeRequest
( * InvokeResponse ) ( nil ) , // 10: pulumirpc.InvokeResponse
( * CallRequest ) ( nil ) , // 11: pulumirpc.CallRequest
( * CallResponse ) ( nil ) , // 12: pulumirpc.CallResponse
( * CheckRequest ) ( nil ) , // 13: pulumirpc.CheckRequest
( * CheckResponse ) ( nil ) , // 14: pulumirpc.CheckResponse
( * CheckFailure ) ( nil ) , // 15: pulumirpc.CheckFailure
( * DiffRequest ) ( nil ) , // 16: pulumirpc.DiffRequest
( * PropertyDiff ) ( nil ) , // 17: pulumirpc.PropertyDiff
( * DiffResponse ) ( nil ) , // 18: pulumirpc.DiffResponse
( * CreateRequest ) ( nil ) , // 19: pulumirpc.CreateRequest
( * CreateResponse ) ( nil ) , // 20: pulumirpc.CreateResponse
( * ReadRequest ) ( nil ) , // 21: pulumirpc.ReadRequest
( * ReadResponse ) ( nil ) , // 22: pulumirpc.ReadResponse
( * UpdateRequest ) ( nil ) , // 23: pulumirpc.UpdateRequest
( * UpdateResponse ) ( nil ) , // 24: pulumirpc.UpdateResponse
( * DeleteRequest ) ( nil ) , // 25: pulumirpc.DeleteRequest
( * ConstructRequest ) ( nil ) , // 26: pulumirpc.ConstructRequest
( * ConstructResponse ) ( nil ) , // 27: pulumirpc.ConstructResponse
( * ErrorResourceInitFailed ) ( nil ) , // 28: pulumirpc.ErrorResourceInitFailed
( * GetMappingRequest ) ( nil ) , // 29: pulumirpc.GetMappingRequest
( * GetMappingResponse ) ( nil ) , // 30: pulumirpc.GetMappingResponse
( * GetMappingsRequest ) ( nil ) , // 31: pulumirpc.GetMappingsRequest
( * GetMappingsResponse ) ( nil ) , // 32: pulumirpc.GetMappingsResponse
( * ParameterizeRequest_ParametersArgs ) ( nil ) , // 33: pulumirpc.ParameterizeRequest.ParametersArgs
( * ParameterizeRequest_ParametersValue ) ( nil ) , // 34: pulumirpc.ParameterizeRequest.ParametersValue
nil , // 35: pulumirpc.ConfigureRequest.VariablesEntry
( * ConfigureErrorMissingKeys_MissingKey ) ( nil ) , // 36: pulumirpc.ConfigureErrorMissingKeys.MissingKey
( * CallRequest_ArgumentDependencies ) ( nil ) , // 37: pulumirpc.CallRequest.ArgumentDependencies
nil , // 38: pulumirpc.CallRequest.ArgDependenciesEntry
nil , // 39: pulumirpc.CallRequest.ConfigEntry
( * CallResponse_ReturnDependencies ) ( nil ) , // 40: pulumirpc.CallResponse.ReturnDependencies
nil , // 41: pulumirpc.CallResponse.ReturnDependenciesEntry
nil , // 42: pulumirpc.DiffResponse.DetailedDiffEntry
( * ConstructRequest_PropertyDependencies ) ( nil ) , // 43: pulumirpc.ConstructRequest.PropertyDependencies
( * ConstructRequest_CustomTimeouts ) ( nil ) , // 44: pulumirpc.ConstructRequest.CustomTimeouts
nil , // 45: pulumirpc.ConstructRequest.ConfigEntry
nil , // 46: pulumirpc.ConstructRequest.InputDependenciesEntry
nil , // 47: pulumirpc.ConstructRequest.ProvidersEntry
( * ConstructResponse_PropertyDependencies ) ( nil ) , // 48: pulumirpc.ConstructResponse.PropertyDependencies
nil , // 49: pulumirpc.ConstructResponse.StateDependenciesEntry
( * structpb . Struct ) ( nil ) , // 50: google.protobuf.Struct
( * structpb . Value ) ( nil ) , // 51: google.protobuf.Value
( * emptypb . Empty ) ( nil ) , // 52: google.protobuf.Empty
( * PluginAttach ) ( nil ) , // 53: pulumirpc.PluginAttach
( * PluginInfo ) ( nil ) , // 54: pulumirpc.PluginInfo
2023-03-04 22:11:52 +00:00
}
2022-07-12 13:45:03 +00:00
var file_pulumi_provider_proto_depIdxs = [ ] int32 {
2024-05-15 16:22:39 +00:00
33 , // 0: pulumirpc.ParameterizeRequest.args:type_name -> pulumirpc.ParameterizeRequest.ParametersArgs
34 , // 1: pulumirpc.ParameterizeRequest.value:type_name -> pulumirpc.ParameterizeRequest.ParametersValue
35 , // 2: pulumirpc.ConfigureRequest.variables:type_name -> pulumirpc.ConfigureRequest.VariablesEntry
50 , // 3: pulumirpc.ConfigureRequest.args:type_name -> google.protobuf.Struct
36 , // 4: pulumirpc.ConfigureErrorMissingKeys.missingKeys:type_name -> pulumirpc.ConfigureErrorMissingKeys.MissingKey
50 , // 5: pulumirpc.InvokeRequest.args:type_name -> google.protobuf.Struct
50 , // 6: pulumirpc.InvokeResponse.return:type_name -> google.protobuf.Struct
15 , // 7: pulumirpc.InvokeResponse.failures:type_name -> pulumirpc.CheckFailure
50 , // 8: pulumirpc.CallRequest.args:type_name -> google.protobuf.Struct
38 , // 9: pulumirpc.CallRequest.argDependencies:type_name -> pulumirpc.CallRequest.ArgDependenciesEntry
39 , // 10: pulumirpc.CallRequest.config:type_name -> pulumirpc.CallRequest.ConfigEntry
50 , // 11: pulumirpc.CallResponse.return:type_name -> google.protobuf.Struct
41 , // 12: pulumirpc.CallResponse.returnDependencies:type_name -> pulumirpc.CallResponse.ReturnDependenciesEntry
15 , // 13: pulumirpc.CallResponse.failures:type_name -> pulumirpc.CheckFailure
50 , // 14: pulumirpc.CheckRequest.olds:type_name -> google.protobuf.Struct
50 , // 15: pulumirpc.CheckRequest.news:type_name -> google.protobuf.Struct
50 , // 16: pulumirpc.CheckResponse.inputs:type_name -> google.protobuf.Struct
15 , // 17: pulumirpc.CheckResponse.failures:type_name -> pulumirpc.CheckFailure
50 , // 18: pulumirpc.DiffRequest.olds:type_name -> google.protobuf.Struct
50 , // 19: pulumirpc.DiffRequest.news:type_name -> google.protobuf.Struct
50 , // 20: pulumirpc.DiffRequest.old_inputs:type_name -> google.protobuf.Struct
0 , // 21: pulumirpc.PropertyDiff.kind:type_name -> pulumirpc.PropertyDiff.Kind
1 , // 22: pulumirpc.DiffResponse.changes:type_name -> pulumirpc.DiffResponse.DiffChanges
42 , // 23: pulumirpc.DiffResponse.detailedDiff:type_name -> pulumirpc.DiffResponse.DetailedDiffEntry
50 , // 24: pulumirpc.CreateRequest.properties:type_name -> google.protobuf.Struct
50 , // 25: pulumirpc.CreateResponse.properties:type_name -> google.protobuf.Struct
50 , // 26: pulumirpc.ReadRequest.properties:type_name -> google.protobuf.Struct
50 , // 27: pulumirpc.ReadRequest.inputs:type_name -> google.protobuf.Struct
50 , // 28: pulumirpc.ReadResponse.properties:type_name -> google.protobuf.Struct
50 , // 29: pulumirpc.ReadResponse.inputs:type_name -> google.protobuf.Struct
50 , // 30: pulumirpc.UpdateRequest.olds:type_name -> google.protobuf.Struct
50 , // 31: pulumirpc.UpdateRequest.news:type_name -> google.protobuf.Struct
50 , // 32: pulumirpc.UpdateRequest.old_inputs:type_name -> google.protobuf.Struct
50 , // 33: pulumirpc.UpdateResponse.properties:type_name -> google.protobuf.Struct
50 , // 34: pulumirpc.DeleteRequest.properties:type_name -> google.protobuf.Struct
50 , // 35: pulumirpc.DeleteRequest.old_inputs:type_name -> google.protobuf.Struct
45 , // 36: pulumirpc.ConstructRequest.config:type_name -> pulumirpc.ConstructRequest.ConfigEntry
50 , // 37: pulumirpc.ConstructRequest.inputs:type_name -> google.protobuf.Struct
46 , // 38: pulumirpc.ConstructRequest.inputDependencies:type_name -> pulumirpc.ConstructRequest.InputDependenciesEntry
47 , // 39: pulumirpc.ConstructRequest.providers:type_name -> pulumirpc.ConstructRequest.ProvidersEntry
44 , // 40: pulumirpc.ConstructRequest.customTimeouts:type_name -> pulumirpc.ConstructRequest.CustomTimeouts
50 , // 41: pulumirpc.ConstructResponse.state:type_name -> google.protobuf.Struct
49 , // 42: pulumirpc.ConstructResponse.stateDependencies:type_name -> pulumirpc.ConstructResponse.StateDependenciesEntry
50 , // 43: pulumirpc.ErrorResourceInitFailed.properties:type_name -> google.protobuf.Struct
50 , // 44: pulumirpc.ErrorResourceInitFailed.inputs:type_name -> google.protobuf.Struct
51 , // 45: pulumirpc.ParameterizeRequest.ParametersValue.value:type_name -> google.protobuf.Value
37 , // 46: pulumirpc.CallRequest.ArgDependenciesEntry.value:type_name -> pulumirpc.CallRequest.ArgumentDependencies
40 , // 47: pulumirpc.CallResponse.ReturnDependenciesEntry.value:type_name -> pulumirpc.CallResponse.ReturnDependencies
17 , // 48: pulumirpc.DiffResponse.DetailedDiffEntry.value:type_name -> pulumirpc.PropertyDiff
43 , // 49: pulumirpc.ConstructRequest.InputDependenciesEntry.value:type_name -> pulumirpc.ConstructRequest.PropertyDependencies
48 , // 50: pulumirpc.ConstructResponse.StateDependenciesEntry.value:type_name -> pulumirpc.ConstructResponse.PropertyDependencies
2 , // 51: pulumirpc.ResourceProvider.Parameterize:input_type -> pulumirpc.ParameterizeRequest
4 , // 52: pulumirpc.ResourceProvider.GetSchema:input_type -> pulumirpc.GetSchemaRequest
13 , // 53: pulumirpc.ResourceProvider.CheckConfig:input_type -> pulumirpc.CheckRequest
16 , // 54: pulumirpc.ResourceProvider.DiffConfig:input_type -> pulumirpc.DiffRequest
6 , // 55: pulumirpc.ResourceProvider.Configure:input_type -> pulumirpc.ConfigureRequest
9 , // 56: pulumirpc.ResourceProvider.Invoke:input_type -> pulumirpc.InvokeRequest
9 , // 57: pulumirpc.ResourceProvider.StreamInvoke:input_type -> pulumirpc.InvokeRequest
11 , // 58: pulumirpc.ResourceProvider.Call:input_type -> pulumirpc.CallRequest
13 , // 59: pulumirpc.ResourceProvider.Check:input_type -> pulumirpc.CheckRequest
16 , // 60: pulumirpc.ResourceProvider.Diff:input_type -> pulumirpc.DiffRequest
19 , // 61: pulumirpc.ResourceProvider.Create:input_type -> pulumirpc.CreateRequest
21 , // 62: pulumirpc.ResourceProvider.Read:input_type -> pulumirpc.ReadRequest
23 , // 63: pulumirpc.ResourceProvider.Update:input_type -> pulumirpc.UpdateRequest
25 , // 64: pulumirpc.ResourceProvider.Delete:input_type -> pulumirpc.DeleteRequest
26 , // 65: pulumirpc.ResourceProvider.Construct:input_type -> pulumirpc.ConstructRequest
52 , // 66: pulumirpc.ResourceProvider.Cancel:input_type -> google.protobuf.Empty
52 , // 67: pulumirpc.ResourceProvider.GetPluginInfo:input_type -> google.protobuf.Empty
53 , // 68: pulumirpc.ResourceProvider.Attach:input_type -> pulumirpc.PluginAttach
29 , // 69: pulumirpc.ResourceProvider.GetMapping:input_type -> pulumirpc.GetMappingRequest
31 , // 70: pulumirpc.ResourceProvider.GetMappings:input_type -> pulumirpc.GetMappingsRequest
3 , // 71: pulumirpc.ResourceProvider.Parameterize:output_type -> pulumirpc.ParameterizeResponse
5 , // 72: pulumirpc.ResourceProvider.GetSchema:output_type -> pulumirpc.GetSchemaResponse
14 , // 73: pulumirpc.ResourceProvider.CheckConfig:output_type -> pulumirpc.CheckResponse
18 , // 74: pulumirpc.ResourceProvider.DiffConfig:output_type -> pulumirpc.DiffResponse
7 , // 75: pulumirpc.ResourceProvider.Configure:output_type -> pulumirpc.ConfigureResponse
10 , // 76: pulumirpc.ResourceProvider.Invoke:output_type -> pulumirpc.InvokeResponse
10 , // 77: pulumirpc.ResourceProvider.StreamInvoke:output_type -> pulumirpc.InvokeResponse
12 , // 78: pulumirpc.ResourceProvider.Call:output_type -> pulumirpc.CallResponse
14 , // 79: pulumirpc.ResourceProvider.Check:output_type -> pulumirpc.CheckResponse
18 , // 80: pulumirpc.ResourceProvider.Diff:output_type -> pulumirpc.DiffResponse
20 , // 81: pulumirpc.ResourceProvider.Create:output_type -> pulumirpc.CreateResponse
22 , // 82: pulumirpc.ResourceProvider.Read:output_type -> pulumirpc.ReadResponse
24 , // 83: pulumirpc.ResourceProvider.Update:output_type -> pulumirpc.UpdateResponse
52 , // 84: pulumirpc.ResourceProvider.Delete:output_type -> google.protobuf.Empty
27 , // 85: pulumirpc.ResourceProvider.Construct:output_type -> pulumirpc.ConstructResponse
52 , // 86: pulumirpc.ResourceProvider.Cancel:output_type -> google.protobuf.Empty
54 , // 87: pulumirpc.ResourceProvider.GetPluginInfo:output_type -> pulumirpc.PluginInfo
52 , // 88: pulumirpc.ResourceProvider.Attach:output_type -> google.protobuf.Empty
30 , // 89: pulumirpc.ResourceProvider.GetMapping:output_type -> pulumirpc.GetMappingResponse
32 , // 90: pulumirpc.ResourceProvider.GetMappings:output_type -> pulumirpc.GetMappingsResponse
71 , // [71:91] is the sub-list for method output_type
51 , // [51:71] is the sub-list for method input_type
51 , // [51:51] is the sub-list for extension type_name
51 , // [51:51] is the sub-list for extension extendee
0 , // [0:51] is the sub-list for field type_name
2022-06-11 07:52:24 +00:00
}
2022-07-12 13:45:03 +00:00
func init ( ) { file_pulumi_provider_proto_init ( ) }
func file_pulumi_provider_proto_init ( ) {
if File_pulumi_provider_proto != nil {
2022-06-11 07:52:24 +00:00
return
}
2022-07-12 13:45:03 +00:00
file_pulumi_plugin_proto_init ( )
2022-06-11 07:52:24 +00:00
if ! protoimpl . UnsafeEnabled {
2022-07-12 13:45:03 +00:00
file_pulumi_provider_proto_msgTypes [ 0 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * ParameterizeRequest ) ; i {
2022-06-11 07:52:24 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2022-07-12 13:45:03 +00:00
file_pulumi_provider_proto_msgTypes [ 1 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * ParameterizeResponse ) ; i {
2022-06-11 07:52:24 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2022-07-12 13:45:03 +00:00
file_pulumi_provider_proto_msgTypes [ 2 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * GetSchemaRequest ) ; i {
2022-06-11 07:52:24 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2022-07-12 13:45:03 +00:00
file_pulumi_provider_proto_msgTypes [ 3 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * GetSchemaResponse ) ; i {
2022-06-11 07:52:24 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2022-07-12 13:45:03 +00:00
file_pulumi_provider_proto_msgTypes [ 4 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * ConfigureRequest ) ; i {
2022-06-11 07:52:24 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2022-07-12 13:45:03 +00:00
file_pulumi_provider_proto_msgTypes [ 5 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * ConfigureResponse ) ; i {
2022-06-11 07:52:24 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2022-07-12 13:45:03 +00:00
file_pulumi_provider_proto_msgTypes [ 6 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * ConfigureErrorMissingKeys ) ; i {
2022-06-11 07:52:24 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2022-07-12 13:45:03 +00:00
file_pulumi_provider_proto_msgTypes [ 7 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * InvokeRequest ) ; i {
2022-06-11 07:52:24 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2022-07-12 13:45:03 +00:00
file_pulumi_provider_proto_msgTypes [ 8 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * InvokeResponse ) ; i {
2022-06-11 07:52:24 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2022-07-12 13:45:03 +00:00
file_pulumi_provider_proto_msgTypes [ 9 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * CallRequest ) ; i {
2022-06-11 07:52:24 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2022-07-12 13:45:03 +00:00
file_pulumi_provider_proto_msgTypes [ 10 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * CallResponse ) ; i {
2022-06-11 07:52:24 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2022-07-12 13:45:03 +00:00
file_pulumi_provider_proto_msgTypes [ 11 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * CheckRequest ) ; i {
2022-06-11 07:52:24 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2022-07-12 13:45:03 +00:00
file_pulumi_provider_proto_msgTypes [ 12 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * CheckResponse ) ; i {
2022-06-11 07:52:24 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2022-07-12 13:45:03 +00:00
file_pulumi_provider_proto_msgTypes [ 13 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * CheckFailure ) ; i {
2022-06-11 07:52:24 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2022-07-12 13:45:03 +00:00
file_pulumi_provider_proto_msgTypes [ 14 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * DiffRequest ) ; i {
2022-06-11 07:52:24 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2022-07-12 13:45:03 +00:00
file_pulumi_provider_proto_msgTypes [ 15 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * PropertyDiff ) ; i {
2022-06-11 07:52:24 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2022-07-12 13:45:03 +00:00
file_pulumi_provider_proto_msgTypes [ 16 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * DiffResponse ) ; i {
2022-06-11 07:52:24 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2022-07-12 13:45:03 +00:00
file_pulumi_provider_proto_msgTypes [ 17 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * CreateRequest ) ; i {
2022-06-11 07:52:24 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2022-07-12 13:45:03 +00:00
file_pulumi_provider_proto_msgTypes [ 18 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * CreateResponse ) ; i {
2022-06-11 07:52:24 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2022-07-12 13:45:03 +00:00
file_pulumi_provider_proto_msgTypes [ 19 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * ReadRequest ) ; i {
2022-06-11 07:52:24 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2022-07-12 13:45:03 +00:00
file_pulumi_provider_proto_msgTypes [ 20 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * ReadResponse ) ; i {
2022-06-11 07:52:24 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2022-07-12 13:45:03 +00:00
file_pulumi_provider_proto_msgTypes [ 21 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * UpdateRequest ) ; i {
2022-06-11 07:52:24 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2022-07-12 13:45:03 +00:00
file_pulumi_provider_proto_msgTypes [ 22 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * UpdateResponse ) ; i {
2022-06-11 07:52:24 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2022-07-12 13:45:03 +00:00
file_pulumi_provider_proto_msgTypes [ 23 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * DeleteRequest ) ; i {
2022-06-11 07:52:24 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2022-07-12 13:45:03 +00:00
file_pulumi_provider_proto_msgTypes [ 24 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * ConstructRequest ) ; i {
2022-06-11 07:52:24 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2022-11-16 17:22:47 +00:00
file_pulumi_provider_proto_msgTypes [ 25 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * ConstructResponse ) ; i {
2022-11-16 17:22:47 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2022-07-12 13:45:03 +00:00
file_pulumi_provider_proto_msgTypes [ 26 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * ErrorResourceInitFailed ) ; i {
2022-11-16 17:22:47 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2023-09-21 11:45:07 +00:00
file_pulumi_provider_proto_msgTypes [ 27 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * GetMappingRequest ) ; i {
2023-09-21 11:45:07 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2022-11-16 17:22:47 +00:00
file_pulumi_provider_proto_msgTypes [ 28 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * GetMappingResponse ) ; i {
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
file_pulumi_provider_proto_msgTypes [ 29 ] . Exporter = func ( v interface { } , i int ) interface { } {
switch v := v . ( * GetMappingsRequest ) ; i {
2023-09-21 11:45:07 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
file_pulumi_provider_proto_msgTypes [ 30 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * GetMappingsResponse ) ; i {
2022-06-11 07:52:24 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2023-09-21 11:45:07 +00:00
file_pulumi_provider_proto_msgTypes [ 31 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * ParameterizeRequest_ParametersArgs ) ; i {
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
file_pulumi_provider_proto_msgTypes [ 32 ] . Exporter = func ( v interface { } , i int ) interface { } {
switch v := v . ( * ParameterizeRequest_ParametersValue ) ; i {
2022-06-11 07:52:24 +00:00
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2024-02-08 13:16:23 +00:00
file_pulumi_provider_proto_msgTypes [ 34 ] . Exporter = func ( v interface { } , i int ) interface { } {
2024-05-15 16:22:39 +00:00
switch v := v . ( * ConfigureErrorMissingKeys_MissingKey ) ; i {
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
file_pulumi_provider_proto_msgTypes [ 35 ] . Exporter = func ( v interface { } , i int ) interface { } {
switch v := v . ( * CallRequest_ArgumentDependencies ) ; i {
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
file_pulumi_provider_proto_msgTypes [ 38 ] . Exporter = func ( v interface { } , i int ) interface { } {
2022-06-11 07:52:24 +00:00
switch v := v . ( * CallResponse_ReturnDependencies ) ; i {
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2024-05-15 16:22:39 +00:00
file_pulumi_provider_proto_msgTypes [ 41 ] . Exporter = func ( v interface { } , i int ) interface { } {
2022-06-11 07:52:24 +00:00
switch v := v . ( * ConstructRequest_PropertyDependencies ) ; i {
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2024-05-15 16:22:39 +00:00
file_pulumi_provider_proto_msgTypes [ 42 ] . Exporter = func ( v interface { } , i int ) interface { } {
2023-03-06 23:08:13 +00:00
switch v := v . ( * ConstructRequest_CustomTimeouts ) ; i {
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
2024-05-15 16:22:39 +00:00
file_pulumi_provider_proto_msgTypes [ 46 ] . Exporter = func ( v interface { } , i int ) interface { } {
2022-06-11 07:52:24 +00:00
switch v := v . ( * ConstructResponse_PropertyDependencies ) ; i {
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
}
2024-05-15 16:22:39 +00:00
file_pulumi_provider_proto_msgTypes [ 0 ] . OneofWrappers = [ ] interface { } {
( * ParameterizeRequest_Args ) ( nil ) ,
( * ParameterizeRequest_Value ) ( nil ) ,
}
2022-06-11 07:52:24 +00:00
type x struct { }
out := protoimpl . TypeBuilder {
File : protoimpl . DescBuilder {
GoPackagePath : reflect . TypeOf ( x { } ) . PkgPath ( ) ,
2022-07-12 13:45:03 +00:00
RawDescriptor : file_pulumi_provider_proto_rawDesc ,
2022-06-11 07:52:24 +00:00
NumEnums : 2 ,
2024-05-15 16:22:39 +00:00
NumMessages : 48 ,
2022-06-11 07:52:24 +00:00
NumExtensions : 0 ,
NumServices : 1 ,
} ,
2022-07-12 13:45:03 +00:00
GoTypes : file_pulumi_provider_proto_goTypes ,
DependencyIndexes : file_pulumi_provider_proto_depIdxs ,
EnumInfos : file_pulumi_provider_proto_enumTypes ,
MessageInfos : file_pulumi_provider_proto_msgTypes ,
2022-06-11 07:52:24 +00:00
} . Build ( )
2022-07-12 13:45:03 +00:00
File_pulumi_provider_proto = out . File
file_pulumi_provider_proto_rawDesc = nil
file_pulumi_provider_proto_goTypes = nil
file_pulumi_provider_proto_depIdxs = nil
2017-02-10 17:08:06 +00:00
}