mirror of
https://github.com/coder/coder.git
synced 2025-07-13 21:36:50 +00:00
add support for coder workspace presets in the provisioners
This commit is contained in:
@ -3113,14 +3113,14 @@ func (q *querier) InsertOrganizationMember(ctx context.Context, arg database.Ins
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (q *querier) InsertPreset(ctx context.Context, arg database.InsertPresetParams) (database.TemplateVersionPreset, error) {
|
func (q *querier) InsertPreset(ctx context.Context, arg database.InsertPresetParams) (database.TemplateVersionPreset, error) {
|
||||||
if err := q.authorizeContext(ctx, policy.ActionCreate, rbac.ResourceTemplate); err != nil {
|
if err := q.authorizeContext(ctx, policy.ActionCreate, rbac.ResourceSystem); err != nil {
|
||||||
return database.TemplateVersionPreset{}, err
|
return database.TemplateVersionPreset{}, err
|
||||||
}
|
}
|
||||||
return q.db.InsertPreset(ctx, arg)
|
return q.db.InsertPreset(ctx, arg)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (q *querier) InsertPresetParameters(ctx context.Context, arg database.InsertPresetParametersParams) ([]database.TemplateVersionPresetParameter, error) {
|
func (q *querier) InsertPresetParameters(ctx context.Context, arg database.InsertPresetParametersParams) ([]database.TemplateVersionPresetParameter, error) {
|
||||||
if err := q.authorizeContext(ctx, policy.ActionCreate, rbac.ResourceTemplate); err != nil {
|
if err := q.authorizeContext(ctx, policy.ActionCreate, rbac.ResourceSystem); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return q.db.InsertPresetParameters(ctx, arg)
|
return q.db.InsertPresetParameters(ctx, arg)
|
||||||
|
@ -8123,7 +8123,7 @@ func (q *FakeQuerier) InsertPreset(_ context.Context, arg database.InsertPresetP
|
|||||||
return preset, nil
|
return preset, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (q *FakeQuerier) InsertPresetParameters(ctx context.Context, arg database.InsertPresetParametersParams) ([]database.TemplateVersionPresetParameter, error) {
|
func (q *FakeQuerier) InsertPresetParameters(_ context.Context, arg database.InsertPresetParametersParams) ([]database.TemplateVersionPresetParameter, error) {
|
||||||
err := validateDatabaseType(arg)
|
err := validateDatabaseType(arg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -67,7 +67,7 @@ func (api *API) templateVersionPresetParameters(rw http.ResponseWriter, r *http.
|
|||||||
var res []codersdk.PresetParameter
|
var res []codersdk.PresetParameter
|
||||||
for _, presetParam := range presetParams {
|
for _, presetParam := range presetParams {
|
||||||
res = append(res, codersdk.PresetParameter{
|
res = append(res, codersdk.PresetParameter{
|
||||||
PresetID: presetParam.ID,
|
PresetID: presetParam.TemplateVersionPresetID,
|
||||||
Name: presetParam.Name,
|
Name: presetParam.Name,
|
||||||
Value: presetParam.Value,
|
Value: presetParam.Value,
|
||||||
})
|
})
|
||||||
|
@ -1340,6 +1340,37 @@ func (s *server) CompleteJob(ctx context.Context, completed *proto.CompletedJob)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for _, preset := range jobType.TemplateImport.Presets {
|
||||||
|
s.Logger.Info(ctx, "inserting template import job preset",
|
||||||
|
slog.F("job_id", job.ID.String()),
|
||||||
|
slog.F("preset_name", preset.Name),
|
||||||
|
)
|
||||||
|
|
||||||
|
dbPreset, err := s.Database.InsertPreset(ctx, database.InsertPresetParams{
|
||||||
|
TemplateVersionID: input.TemplateVersionID,
|
||||||
|
Name: preset.Name,
|
||||||
|
CreatedAt: s.timeNow(),
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return nil, xerrors.Errorf("insert preset: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
var presetParameterNames []string
|
||||||
|
var presetParameterValues []string
|
||||||
|
for _, parameter := range preset.Parameters {
|
||||||
|
presetParameterNames = append(presetParameterNames, parameter.Name)
|
||||||
|
presetParameterValues = append(presetParameterValues, parameter.Value)
|
||||||
|
}
|
||||||
|
_, err = s.Database.InsertPresetParameters(ctx, database.InsertPresetParametersParams{
|
||||||
|
TemplateVersionPresetID: dbPreset.ID,
|
||||||
|
Names: presetParameterNames,
|
||||||
|
Values: presetParameterValues,
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return nil, xerrors.Errorf("insert preset parameters: %w", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var completedError sql.NullString
|
var completedError sql.NullString
|
||||||
|
|
||||||
for _, externalAuthProvider := range jobType.TemplateImport.ExternalAuthProviders {
|
for _, externalAuthProvider := range jobType.TemplateImport.ExternalAuthProviders {
|
||||||
|
@ -281,3 +281,19 @@ data "coder_parameter" "force-rebuild" {
|
|||||||
|
|
||||||
order = 4
|
order = 4
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# data "coder_workspace_preset" "coder" {
|
||||||
|
# name = "coder"
|
||||||
|
# parameters = {
|
||||||
|
# project_id = "coder"
|
||||||
|
# apps_dir = "/var/apps/coder"
|
||||||
|
# }
|
||||||
|
# }
|
||||||
|
|
||||||
|
# data "coder_workspace_preset" "envbuilder" {
|
||||||
|
# name = "envbuilder"
|
||||||
|
# parameters = {
|
||||||
|
# project_id = "envbuilder"
|
||||||
|
# apps_dir = "/var/apps/envbuilder"
|
||||||
|
# }
|
||||||
|
# }
|
||||||
|
@ -308,6 +308,7 @@ func (e *executor) plan(ctx, killCtx context.Context, env, vars []string, logr l
|
|||||||
Resources: state.Resources,
|
Resources: state.Resources,
|
||||||
ExternalAuthProviders: state.ExternalAuthProviders,
|
ExternalAuthProviders: state.ExternalAuthProviders,
|
||||||
Timings: append(e.timings.aggregate(), graphTimings.aggregate()...),
|
Timings: append(e.timings.aggregate(), graphTimings.aggregate()...),
|
||||||
|
Presets: state.Presets,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -269,7 +269,8 @@ func provisionEnv(
|
|||||||
env = append(env, provider.ParameterEnvironmentVariable(param.Name)+"="+param.Value)
|
env = append(env, provider.ParameterEnvironmentVariable(param.Name)+"="+param.Value)
|
||||||
}
|
}
|
||||||
for _, extAuth := range externalAuth {
|
for _, extAuth := range externalAuth {
|
||||||
env = append(env, provider.GitAuthAccessTokenEnvironmentVariable(extAuth.Id)+"="+extAuth.AccessToken)
|
// TODO (sasswart): what's going on with provider.GitAuthAccessTokenEnvironmentVariable here?
|
||||||
|
// do we still need it? I've removed it for now.
|
||||||
env = append(env, provider.ExternalAuthAccessTokenEnvironmentVariable(extAuth.Id)+"="+extAuth.AccessToken)
|
env = append(env, provider.ExternalAuthAccessTokenEnvironmentVariable(extAuth.Id)+"="+extAuth.AccessToken)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -149,6 +149,7 @@ type resourceMetadataItem struct {
|
|||||||
type State struct {
|
type State struct {
|
||||||
Resources []*proto.Resource
|
Resources []*proto.Resource
|
||||||
Parameters []*proto.RichParameter
|
Parameters []*proto.RichParameter
|
||||||
|
Presets []*proto.Preset
|
||||||
ExternalAuthProviders []*proto.ExternalAuthProviderResource
|
ExternalAuthProviders []*proto.ExternalAuthProviderResource
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -176,7 +177,7 @@ func ConvertState(ctx context.Context, modules []*tfjson.StateModule, rawGraph s
|
|||||||
|
|
||||||
// Extra array to preserve the order of rich parameters.
|
// Extra array to preserve the order of rich parameters.
|
||||||
tfResourcesRichParameters := make([]*tfjson.StateResource, 0)
|
tfResourcesRichParameters := make([]*tfjson.StateResource, 0)
|
||||||
|
tfResourcesPresets := make([]*tfjson.StateResource, 0)
|
||||||
var findTerraformResources func(mod *tfjson.StateModule)
|
var findTerraformResources func(mod *tfjson.StateModule)
|
||||||
findTerraformResources = func(mod *tfjson.StateModule) {
|
findTerraformResources = func(mod *tfjson.StateModule) {
|
||||||
for _, module := range mod.ChildModules {
|
for _, module := range mod.ChildModules {
|
||||||
@ -186,6 +187,9 @@ func ConvertState(ctx context.Context, modules []*tfjson.StateModule, rawGraph s
|
|||||||
if resource.Type == "coder_parameter" {
|
if resource.Type == "coder_parameter" {
|
||||||
tfResourcesRichParameters = append(tfResourcesRichParameters, resource)
|
tfResourcesRichParameters = append(tfResourcesRichParameters, resource)
|
||||||
}
|
}
|
||||||
|
if resource.Type == "coder_workspace_preset" {
|
||||||
|
tfResourcesPresets = append(tfResourcesPresets, resource)
|
||||||
|
}
|
||||||
|
|
||||||
label := convertAddressToLabel(resource.Address)
|
label := convertAddressToLabel(resource.Address)
|
||||||
if tfResourcesByLabel[label] == nil {
|
if tfResourcesByLabel[label] == nil {
|
||||||
@ -775,6 +779,79 @@ func ConvertState(ctx context.Context, modules []*tfjson.StateModule, rawGraph s
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var duplicatedPresetNames []string
|
||||||
|
presets := make([]*proto.Preset, 0)
|
||||||
|
for _, resource := range tfResourcesPresets {
|
||||||
|
var preset provider.WorkspacePreset
|
||||||
|
err = mapstructure.Decode(resource.AttributeValues, &preset)
|
||||||
|
if err != nil {
|
||||||
|
return nil, xerrors.Errorf("decode preset attributes: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
var duplicatedPresetParameterNames []string
|
||||||
|
var nonExistentParameters []string
|
||||||
|
var presetParameters []*proto.PresetParameter
|
||||||
|
for name, value := range preset.Parameters {
|
||||||
|
presetParameter := &proto.PresetParameter{
|
||||||
|
Name: name,
|
||||||
|
Value: value,
|
||||||
|
}
|
||||||
|
|
||||||
|
formattedName := fmt.Sprintf("%q", name)
|
||||||
|
if !slice.Contains(duplicatedPresetParameterNames, formattedName) &&
|
||||||
|
slice.ContainsCompare(presetParameters, presetParameter, func(a, b *proto.PresetParameter) bool {
|
||||||
|
return a.Name == b.Name
|
||||||
|
}) {
|
||||||
|
duplicatedPresetParameterNames = append(duplicatedPresetParameterNames, formattedName)
|
||||||
|
}
|
||||||
|
if !slice.ContainsCompare(parameters, &proto.RichParameter{Name: name}, func(a, b *proto.RichParameter) bool {
|
||||||
|
return a.Name == b.Name
|
||||||
|
}) {
|
||||||
|
nonExistentParameters = append(nonExistentParameters, name)
|
||||||
|
}
|
||||||
|
|
||||||
|
presetParameters = append(presetParameters, presetParameter)
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(duplicatedPresetParameterNames) > 0 {
|
||||||
|
s := ""
|
||||||
|
if len(duplicatedPresetParameterNames) == 1 {
|
||||||
|
s = "s"
|
||||||
|
}
|
||||||
|
return nil, xerrors.Errorf(
|
||||||
|
"coder_workspace_preset parameters must be unique but %s appear%s multiple times", stringutil.JoinWithConjunction(duplicatedPresetParameterNames), s,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(nonExistentParameters) > 0 {
|
||||||
|
// TODO (sasswart): should this be an error? Or should we just log it?
|
||||||
|
logger.Warn(
|
||||||
|
ctx,
|
||||||
|
"coder_workspace_preset defines preset values for at least one parameter that is not defined by the template",
|
||||||
|
slog.F("parameters", stringutil.JoinWithConjunction(nonExistentParameters)),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
protoPreset := &proto.Preset{
|
||||||
|
Name: preset.Name,
|
||||||
|
Parameters: presetParameters,
|
||||||
|
}
|
||||||
|
if slice.Contains(duplicatedPresetNames, preset.Name) {
|
||||||
|
duplicatedPresetNames = append(duplicatedPresetNames, preset.Name)
|
||||||
|
}
|
||||||
|
presets = append(presets, protoPreset)
|
||||||
|
}
|
||||||
|
if len(duplicatedPresetNames) > 0 {
|
||||||
|
s := ""
|
||||||
|
if len(duplicatedPresetNames) == 1 {
|
||||||
|
s = "s"
|
||||||
|
}
|
||||||
|
return nil, xerrors.Errorf(
|
||||||
|
"coder_workspace_preset names must be unique but %s appear%s multiple times",
|
||||||
|
stringutil.JoinWithConjunction(duplicatedPresetNames), s,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
// A map is used to ensure we don't have duplicates!
|
// A map is used to ensure we don't have duplicates!
|
||||||
externalAuthProvidersMap := map[string]*proto.ExternalAuthProviderResource{}
|
externalAuthProvidersMap := map[string]*proto.ExternalAuthProviderResource{}
|
||||||
for _, tfResources := range tfResourcesByLabel {
|
for _, tfResources := range tfResourcesByLabel {
|
||||||
@ -808,6 +885,7 @@ func ConvertState(ctx context.Context, modules []*tfjson.StateModule, rawGraph s
|
|||||||
return &State{
|
return &State{
|
||||||
Resources: resources,
|
Resources: resources,
|
||||||
Parameters: parameters,
|
Parameters: parameters,
|
||||||
|
Presets: presets,
|
||||||
ExternalAuthProviders: externalAuthProviders,
|
ExternalAuthProviders: externalAuthProviders,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
257
provisionerd/proto/provisionerd.pb.go
generated
257
provisionerd/proto/provisionerd.pb.go
generated
@ -1290,6 +1290,7 @@ type CompletedJob_TemplateImport struct {
|
|||||||
ExternalAuthProviders []*proto.ExternalAuthProviderResource `protobuf:"bytes,5,rep,name=external_auth_providers,json=externalAuthProviders,proto3" json:"external_auth_providers,omitempty"`
|
ExternalAuthProviders []*proto.ExternalAuthProviderResource `protobuf:"bytes,5,rep,name=external_auth_providers,json=externalAuthProviders,proto3" json:"external_auth_providers,omitempty"`
|
||||||
StartModules []*proto.Module `protobuf:"bytes,6,rep,name=start_modules,json=startModules,proto3" json:"start_modules,omitempty"`
|
StartModules []*proto.Module `protobuf:"bytes,6,rep,name=start_modules,json=startModules,proto3" json:"start_modules,omitempty"`
|
||||||
StopModules []*proto.Module `protobuf:"bytes,7,rep,name=stop_modules,json=stopModules,proto3" json:"stop_modules,omitempty"`
|
StopModules []*proto.Module `protobuf:"bytes,7,rep,name=stop_modules,json=stopModules,proto3" json:"stop_modules,omitempty"`
|
||||||
|
Presets []*proto.Preset `protobuf:"bytes,8,rep,name=presets,proto3" json:"presets,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *CompletedJob_TemplateImport) Reset() {
|
func (x *CompletedJob_TemplateImport) Reset() {
|
||||||
@ -1373,6 +1374,13 @@ func (x *CompletedJob_TemplateImport) GetStopModules() []*proto.Module {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *CompletedJob_TemplateImport) GetPresets() []*proto.Preset {
|
||||||
|
if x != nil {
|
||||||
|
return x.Presets
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
type CompletedJob_TemplateDryRun struct {
|
type CompletedJob_TemplateDryRun struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
@ -1556,7 +1564,7 @@ var file_provisionerd_proto_provisionerd_proto_rawDesc = []byte{
|
|||||||
0x2e, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x73,
|
0x2e, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x73,
|
||||||
0x1a, 0x10, 0x0a, 0x0e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x70, 0x6f,
|
0x1a, 0x10, 0x0a, 0x0e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x70, 0x6f,
|
||||||
0x72, 0x74, 0x1a, 0x10, 0x0a, 0x0e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x72,
|
0x72, 0x74, 0x1a, 0x10, 0x0a, 0x0e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x72,
|
||||||
0x79, 0x52, 0x75, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xd0, 0x08, 0x0a,
|
0x79, 0x52, 0x75, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xff, 0x08, 0x0a,
|
||||||
0x0c, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x4a, 0x6f, 0x62, 0x12, 0x15, 0x0a,
|
0x0c, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x4a, 0x6f, 0x62, 0x12, 0x15, 0x0a,
|
||||||
0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a,
|
0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a,
|
||||||
0x6f, 0x62, 0x49, 0x64, 0x12, 0x54, 0x0a, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63,
|
0x6f, 0x62, 0x49, 0x64, 0x12, 0x54, 0x0a, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63,
|
||||||
@ -1587,7 +1595,7 @@ var file_provisionerd_proto_provisionerd_proto_rawDesc = []byte{
|
|||||||
0x69, 0x6e, 0x67, 0x73, 0x12, 0x2d, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18,
|
0x69, 0x6e, 0x67, 0x73, 0x12, 0x2d, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18,
|
||||||
0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f,
|
0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f,
|
||||||
0x6e, 0x65, 0x72, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x75,
|
0x6e, 0x65, 0x72, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x75,
|
||||||
0x6c, 0x65, 0x73, 0x1a, 0xeb, 0x03, 0x0a, 0x0e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
|
0x6c, 0x65, 0x73, 0x1a, 0x9a, 0x04, 0x0a, 0x0e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
|
||||||
0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x3e, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f,
|
0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x3e, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f,
|
||||||
0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||||
0x15, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x52, 0x65,
|
0x15, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x52, 0x65,
|
||||||
@ -1618,108 +1626,111 @@ var file_provisionerd_proto_provisionerd_proto_rawDesc = []byte{
|
|||||||
0x70, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
0x70, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||||
0x13, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x4d, 0x6f,
|
0x13, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x4d, 0x6f,
|
||||||
0x64, 0x75, 0x6c, 0x65, 0x52, 0x0b, 0x73, 0x74, 0x6f, 0x70, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65,
|
0x64, 0x75, 0x6c, 0x65, 0x52, 0x0b, 0x73, 0x74, 0x6f, 0x70, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65,
|
||||||
0x73, 0x1a, 0x74, 0x0a, 0x0e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x72, 0x79,
|
0x73, 0x12, 0x2d, 0x0a, 0x07, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03,
|
||||||
0x52, 0x75, 0x6e, 0x12, 0x33, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73,
|
0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72,
|
||||||
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69,
|
0x2e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x52, 0x07, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x73,
|
||||||
0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x72,
|
0x1a, 0x74, 0x0a, 0x0e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x72, 0x79, 0x52,
|
||||||
0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x75,
|
0x75, 0x6e, 0x12, 0x33, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18,
|
||||||
0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x76,
|
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f,
|
||||||
0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x07,
|
0x6e, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x72, 0x65,
|
||||||
0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22,
|
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x75, 0x6c,
|
||||||
0xb0, 0x01, 0x0a, 0x03, 0x4c, 0x6f, 0x67, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63,
|
0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69,
|
||||||
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73,
|
0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x07, 0x6d,
|
||||||
0x69, 0x6f, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x4c, 0x6f, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
|
0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xb0,
|
||||||
0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65,
|
0x01, 0x0a, 0x03, 0x4c, 0x6f, 0x67, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
|
||||||
0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73,
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69,
|
||||||
0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05,
|
0x6f, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x4c, 0x6f, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52,
|
||||||
0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
|
0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c,
|
||||||
0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74,
|
0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69,
|
||||||
0x65, 0x64, 0x41, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20,
|
0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x6c,
|
||||||
0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75,
|
0x65, 0x76, 0x65, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f,
|
||||||
0x74, 0x70, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70,
|
0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
|
||||||
0x75, 0x74, 0x22, 0xa6, 0x03, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62,
|
0x64, 0x41, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01,
|
||||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69,
|
0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74,
|
||||||
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x25,
|
0x70, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75,
|
||||||
0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70,
|
0x74, 0x22, 0xa6, 0x03, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52,
|
||||||
0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x4c, 0x6f, 0x67, 0x52,
|
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64,
|
||||||
0x04, 0x6c, 0x6f, 0x67, 0x73, 0x12, 0x4c, 0x0a, 0x12, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74,
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x25, 0x0a,
|
||||||
0x65, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
|
0x04, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72,
|
||||||
0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e,
|
0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x4c, 0x6f, 0x67, 0x52, 0x04,
|
||||||
0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65,
|
0x6c, 0x6f, 0x67, 0x73, 0x12, 0x4c, 0x0a, 0x12, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
|
||||||
0x52, 0x11, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62,
|
0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
|
||||||
0x6c, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x14, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x72, 0x69,
|
0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x54,
|
||||||
0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28,
|
0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52,
|
||||||
0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e,
|
0x11, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c,
|
||||||
0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x75,
|
0x65, 0x73, 0x12, 0x4c, 0x0a, 0x14, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61,
|
||||||
0x73, 0x65, 0x72, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65,
|
0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b,
|
||||||
0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
|
0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x56,
|
||||||
0x0c, 0x52, 0x06, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x12, 0x58, 0x0a, 0x0e, 0x77, 0x6f, 0x72,
|
0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x75, 0x73,
|
||||||
0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28,
|
0x65, 0x72, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73,
|
||||||
0x0b, 0x32, 0x31, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x64,
|
0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c,
|
||||||
|
0x52, 0x06, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x12, 0x58, 0x0a, 0x0e, 0x77, 0x6f, 0x72, 0x6b,
|
||||||
|
0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b,
|
||||||
|
0x32, 0x31, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x64, 0x2e,
|
||||||
|
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||||
|
0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e,
|
||||||
|
0x74, 0x72, 0x79, 0x52, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x54, 0x61,
|
||||||
|
0x67, 0x73, 0x1a, 0x40, 0x0a, 0x12, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x54,
|
||||||
|
0x61, 0x67, 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, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0x7a, 0x0a, 0x11, 0x55, 0x70,
|
||||||
|
0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
|
||||||
|
0x1a, 0x0a, 0x08, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||||
|
0x08, 0x52, 0x08, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x65, 0x64, 0x12, 0x43, 0x0a, 0x0f, 0x76,
|
||||||
|
0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03,
|
||||||
|
0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
|
||||||
|
0x65, 0x72, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65,
|
||||||
|
0x52, 0x0e, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73,
|
||||||
|
0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0x4a, 0x0a, 0x12, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
|
||||||
|
0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06,
|
||||||
|
0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f,
|
||||||
|
0x62, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x5f, 0x63, 0x6f, 0x73,
|
||||||
|
0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x43, 0x6f,
|
||||||
|
0x73, 0x74, 0x22, 0x68, 0x0a, 0x13, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x6f, 0x74,
|
||||||
|
0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18,
|
||||||
|
0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x72, 0x65,
|
||||||
|
0x64, 0x69, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x18, 0x02, 0x20,
|
||||||
|
0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x73,
|
||||||
|
0x75, 0x6d, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x18, 0x03,
|
||||||
|
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x22, 0x0f, 0x0a, 0x0d,
|
||||||
|
0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x63, 0x71, 0x75, 0x69, 0x72, 0x65, 0x2a, 0x34, 0x0a,
|
||||||
|
0x09, 0x4c, 0x6f, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x52,
|
||||||
|
0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x45, 0x4d, 0x4f, 0x4e,
|
||||||
|
0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x45,
|
||||||
|
0x52, 0x10, 0x01, 0x32, 0xc5, 0x03, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f,
|
||||||
|
0x6e, 0x65, 0x72, 0x44, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x0a, 0x41, 0x63, 0x71,
|
||||||
|
0x75, 0x69, 0x72, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73,
|
||||||
|
0x69, 0x6f, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x70,
|
||||||
|
0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x41, 0x63, 0x71, 0x75,
|
||||||
|
0x69, 0x72, 0x65, 0x64, 0x4a, 0x6f, 0x62, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x52, 0x0a, 0x14,
|
||||||
|
0x41, 0x63, 0x71, 0x75, 0x69, 0x72, 0x65, 0x4a, 0x6f, 0x62, 0x57, 0x69, 0x74, 0x68, 0x43, 0x61,
|
||||||
|
0x6e, 0x63, 0x65, 0x6c, 0x12, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
|
||||||
|
0x65, 0x72, 0x64, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x63, 0x71, 0x75, 0x69, 0x72,
|
||||||
|
0x65, 0x1a, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x64,
|
||||||
|
0x2e, 0x41, 0x63, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x4a, 0x6f, 0x62, 0x28, 0x01, 0x30, 0x01,
|
||||||
|
0x12, 0x52, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x12,
|
||||||
|
0x20, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x43,
|
||||||
|
0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||||
|
0x74, 0x1a, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x64,
|
||||||
|
0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70,
|
||||||
|
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f,
|
||||||
|
0x62, 0x12, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x64,
|
||||||
0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||||
0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x54, 0x61, 0x67, 0x73, 0x45,
|
0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x64,
|
||||||
0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x54,
|
0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||||
0x61, 0x67, 0x73, 0x1a, 0x40, 0x0a, 0x12, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65,
|
0x73, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x46, 0x61, 0x69, 0x6c, 0x4a, 0x6f, 0x62, 0x12, 0x17, 0x2e,
|
||||||
0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
|
0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x46, 0x61, 0x69,
|
||||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
|
0x6c, 0x65, 0x64, 0x4a, 0x6f, 0x62, 0x1a, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69,
|
||||||
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
|
0x6f, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3e, 0x0a, 0x0b, 0x43,
|
||||||
0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0x7a, 0x0a, 0x11, 0x55,
|
0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x1a, 0x2e, 0x70, 0x72, 0x6f,
|
||||||
0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65,
|
||||||
0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01,
|
0x74, 0x65, 0x64, 0x4a, 0x6f, 0x62, 0x1a, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69,
|
||||||
0x28, 0x08, 0x52, 0x08, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x65, 0x64, 0x12, 0x43, 0x0a, 0x0f,
|
0x6f, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, 0x2e, 0x5a, 0x2c, 0x67,
|
||||||
0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18,
|
0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2f,
|
||||||
0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f,
|
0x63, 0x6f, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69,
|
||||||
0x6e, 0x65, 0x72, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75,
|
0x6f, 0x6e, 0x65, 0x72, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
|
||||||
0x65, 0x52, 0x0e, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65,
|
0x74, 0x6f, 0x33,
|
||||||
0x73, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0x4a, 0x0a, 0x12, 0x43, 0x6f, 0x6d, 0x6d, 0x69,
|
|
||||||
0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a,
|
|
||||||
0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a,
|
|
||||||
0x6f, 0x62, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x5f, 0x63, 0x6f,
|
|
||||||
0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x43,
|
|
||||||
0x6f, 0x73, 0x74, 0x22, 0x68, 0x0a, 0x13, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x6f,
|
|
||||||
0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b,
|
|
||||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x72,
|
|
||||||
0x65, 0x64, 0x69, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x18, 0x02,
|
|
||||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x43, 0x6f, 0x6e,
|
|
||||||
0x73, 0x75, 0x6d, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x18,
|
|
||||||
0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x22, 0x0f, 0x0a,
|
|
||||||
0x0d, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x63, 0x71, 0x75, 0x69, 0x72, 0x65, 0x2a, 0x34,
|
|
||||||
0x0a, 0x09, 0x4c, 0x6f, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x50,
|
|
||||||
0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x45, 0x4d, 0x4f,
|
|
||||||
0x4e, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e,
|
|
||||||
0x45, 0x52, 0x10, 0x01, 0x32, 0xc5, 0x03, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69,
|
|
||||||
0x6f, 0x6e, 0x65, 0x72, 0x44, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x0a, 0x41, 0x63,
|
|
||||||
0x71, 0x75, 0x69, 0x72, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69,
|
|
||||||
0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e,
|
|
||||||
0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x41, 0x63, 0x71,
|
|
||||||
0x75, 0x69, 0x72, 0x65, 0x64, 0x4a, 0x6f, 0x62, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x52, 0x0a,
|
|
||||||
0x14, 0x41, 0x63, 0x71, 0x75, 0x69, 0x72, 0x65, 0x4a, 0x6f, 0x62, 0x57, 0x69, 0x74, 0x68, 0x43,
|
|
||||||
0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f,
|
|
||||||
0x6e, 0x65, 0x72, 0x64, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x63, 0x71, 0x75, 0x69,
|
|
||||||
0x72, 0x65, 0x1a, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72,
|
|
||||||
0x64, 0x2e, 0x41, 0x63, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x4a, 0x6f, 0x62, 0x28, 0x01, 0x30,
|
|
||||||
0x01, 0x12, 0x52, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61,
|
|
||||||
0x12, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x64, 0x2e,
|
|
||||||
0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65,
|
|
||||||
0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72,
|
|
||||||
0x64, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x65, 0x73,
|
|
||||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a,
|
|
||||||
0x6f, 0x62, 0x12, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72,
|
|
||||||
0x64, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65,
|
|
||||||
0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72,
|
|
||||||
0x64, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
|
||||||
0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x46, 0x61, 0x69, 0x6c, 0x4a, 0x6f, 0x62, 0x12, 0x17,
|
|
||||||
0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x46, 0x61,
|
|
||||||
0x69, 0x6c, 0x65, 0x64, 0x4a, 0x6f, 0x62, 0x1a, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73,
|
|
||||||
0x69, 0x6f, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3e, 0x0a, 0x0b,
|
|
||||||
0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x1a, 0x2e, 0x70, 0x72,
|
|
||||||
0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c,
|
|
||||||
0x65, 0x74, 0x65, 0x64, 0x4a, 0x6f, 0x62, 0x1a, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73,
|
|
||||||
0x69, 0x6f, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, 0x2e, 0x5a, 0x2c,
|
|
||||||
0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x72,
|
|
||||||
0x2f, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73,
|
|
||||||
0x69, 0x6f, 0x6e, 0x65, 0x72, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
|
|
||||||
0x6f, 0x74, 0x6f, 0x33,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -1770,6 +1781,7 @@ var file_provisionerd_proto_provisionerd_proto_goTypes = []interface{}{
|
|||||||
(*proto.Module)(nil), // 30: provisioner.Module
|
(*proto.Module)(nil), // 30: provisioner.Module
|
||||||
(*proto.RichParameter)(nil), // 31: provisioner.RichParameter
|
(*proto.RichParameter)(nil), // 31: provisioner.RichParameter
|
||||||
(*proto.ExternalAuthProviderResource)(nil), // 32: provisioner.ExternalAuthProviderResource
|
(*proto.ExternalAuthProviderResource)(nil), // 32: provisioner.ExternalAuthProviderResource
|
||||||
|
(*proto.Preset)(nil), // 33: provisioner.Preset
|
||||||
}
|
}
|
||||||
var file_provisionerd_proto_provisionerd_proto_depIdxs = []int32{
|
var file_provisionerd_proto_provisionerd_proto_depIdxs = []int32{
|
||||||
11, // 0: provisionerd.AcquiredJob.workspace_build:type_name -> provisionerd.AcquiredJob.WorkspaceBuild
|
11, // 0: provisionerd.AcquiredJob.workspace_build:type_name -> provisionerd.AcquiredJob.WorkspaceBuild
|
||||||
@ -1808,25 +1820,26 @@ var file_provisionerd_proto_provisionerd_proto_depIdxs = []int32{
|
|||||||
32, // 33: provisionerd.CompletedJob.TemplateImport.external_auth_providers:type_name -> provisioner.ExternalAuthProviderResource
|
32, // 33: provisionerd.CompletedJob.TemplateImport.external_auth_providers:type_name -> provisioner.ExternalAuthProviderResource
|
||||||
30, // 34: provisionerd.CompletedJob.TemplateImport.start_modules:type_name -> provisioner.Module
|
30, // 34: provisionerd.CompletedJob.TemplateImport.start_modules:type_name -> provisioner.Module
|
||||||
30, // 35: provisionerd.CompletedJob.TemplateImport.stop_modules:type_name -> provisioner.Module
|
30, // 35: provisionerd.CompletedJob.TemplateImport.stop_modules:type_name -> provisioner.Module
|
||||||
29, // 36: provisionerd.CompletedJob.TemplateDryRun.resources:type_name -> provisioner.Resource
|
33, // 36: provisionerd.CompletedJob.TemplateImport.presets:type_name -> provisioner.Preset
|
||||||
30, // 37: provisionerd.CompletedJob.TemplateDryRun.modules:type_name -> provisioner.Module
|
29, // 37: provisionerd.CompletedJob.TemplateDryRun.resources:type_name -> provisioner.Resource
|
||||||
1, // 38: provisionerd.ProvisionerDaemon.AcquireJob:input_type -> provisionerd.Empty
|
30, // 38: provisionerd.CompletedJob.TemplateDryRun.modules:type_name -> provisioner.Module
|
||||||
10, // 39: provisionerd.ProvisionerDaemon.AcquireJobWithCancel:input_type -> provisionerd.CancelAcquire
|
1, // 39: provisionerd.ProvisionerDaemon.AcquireJob:input_type -> provisionerd.Empty
|
||||||
8, // 40: provisionerd.ProvisionerDaemon.CommitQuota:input_type -> provisionerd.CommitQuotaRequest
|
10, // 40: provisionerd.ProvisionerDaemon.AcquireJobWithCancel:input_type -> provisionerd.CancelAcquire
|
||||||
6, // 41: provisionerd.ProvisionerDaemon.UpdateJob:input_type -> provisionerd.UpdateJobRequest
|
8, // 41: provisionerd.ProvisionerDaemon.CommitQuota:input_type -> provisionerd.CommitQuotaRequest
|
||||||
3, // 42: provisionerd.ProvisionerDaemon.FailJob:input_type -> provisionerd.FailedJob
|
6, // 42: provisionerd.ProvisionerDaemon.UpdateJob:input_type -> provisionerd.UpdateJobRequest
|
||||||
4, // 43: provisionerd.ProvisionerDaemon.CompleteJob:input_type -> provisionerd.CompletedJob
|
3, // 43: provisionerd.ProvisionerDaemon.FailJob:input_type -> provisionerd.FailedJob
|
||||||
2, // 44: provisionerd.ProvisionerDaemon.AcquireJob:output_type -> provisionerd.AcquiredJob
|
4, // 44: provisionerd.ProvisionerDaemon.CompleteJob:input_type -> provisionerd.CompletedJob
|
||||||
2, // 45: provisionerd.ProvisionerDaemon.AcquireJobWithCancel:output_type -> provisionerd.AcquiredJob
|
2, // 45: provisionerd.ProvisionerDaemon.AcquireJob:output_type -> provisionerd.AcquiredJob
|
||||||
9, // 46: provisionerd.ProvisionerDaemon.CommitQuota:output_type -> provisionerd.CommitQuotaResponse
|
2, // 46: provisionerd.ProvisionerDaemon.AcquireJobWithCancel:output_type -> provisionerd.AcquiredJob
|
||||||
7, // 47: provisionerd.ProvisionerDaemon.UpdateJob:output_type -> provisionerd.UpdateJobResponse
|
9, // 47: provisionerd.ProvisionerDaemon.CommitQuota:output_type -> provisionerd.CommitQuotaResponse
|
||||||
1, // 48: provisionerd.ProvisionerDaemon.FailJob:output_type -> provisionerd.Empty
|
7, // 48: provisionerd.ProvisionerDaemon.UpdateJob:output_type -> provisionerd.UpdateJobResponse
|
||||||
1, // 49: provisionerd.ProvisionerDaemon.CompleteJob:output_type -> provisionerd.Empty
|
1, // 49: provisionerd.ProvisionerDaemon.FailJob:output_type -> provisionerd.Empty
|
||||||
44, // [44:50] is the sub-list for method output_type
|
1, // 50: provisionerd.ProvisionerDaemon.CompleteJob:output_type -> provisionerd.Empty
|
||||||
38, // [38:44] is the sub-list for method input_type
|
45, // [45:51] is the sub-list for method output_type
|
||||||
38, // [38:38] is the sub-list for extension type_name
|
39, // [39:45] is the sub-list for method input_type
|
||||||
38, // [38:38] is the sub-list for extension extendee
|
39, // [39:39] is the sub-list for extension type_name
|
||||||
0, // [0:38] is the sub-list for field type_name
|
39, // [39:39] is the sub-list for extension extendee
|
||||||
|
0, // [0:39] is the sub-list for field type_name
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { file_provisionerd_proto_provisionerd_proto_init() }
|
func init() { file_provisionerd_proto_provisionerd_proto_init() }
|
||||||
|
@ -84,6 +84,7 @@ message CompletedJob {
|
|||||||
repeated provisioner.ExternalAuthProviderResource external_auth_providers = 5;
|
repeated provisioner.ExternalAuthProviderResource external_auth_providers = 5;
|
||||||
repeated provisioner.Module start_modules = 6;
|
repeated provisioner.Module start_modules = 6;
|
||||||
repeated provisioner.Module stop_modules = 7;
|
repeated provisioner.Module stop_modules = 7;
|
||||||
|
repeated provisioner.Preset presets = 8;
|
||||||
}
|
}
|
||||||
message TemplateDryRun {
|
message TemplateDryRun {
|
||||||
repeated provisioner.Resource resources = 1;
|
repeated provisioner.Resource resources = 1;
|
||||||
|
@ -590,6 +590,7 @@ func (r *Runner) runTemplateImport(ctx context.Context) (*proto.CompletedJob, *p
|
|||||||
ExternalAuthProviders: startProvision.ExternalAuthProviders,
|
ExternalAuthProviders: startProvision.ExternalAuthProviders,
|
||||||
StartModules: startProvision.Modules,
|
StartModules: startProvision.Modules,
|
||||||
StopModules: stopProvision.Modules,
|
StopModules: stopProvision.Modules,
|
||||||
|
Presets: startProvision.Presets,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}, nil
|
}, nil
|
||||||
@ -650,6 +651,7 @@ type templateImportProvision struct {
|
|||||||
Parameters []*sdkproto.RichParameter
|
Parameters []*sdkproto.RichParameter
|
||||||
ExternalAuthProviders []*sdkproto.ExternalAuthProviderResource
|
ExternalAuthProviders []*sdkproto.ExternalAuthProviderResource
|
||||||
Modules []*sdkproto.Module
|
Modules []*sdkproto.Module
|
||||||
|
Presets []*sdkproto.Preset
|
||||||
}
|
}
|
||||||
|
|
||||||
// Performs a dry-run provision when importing a template.
|
// Performs a dry-run provision when importing a template.
|
||||||
@ -742,6 +744,7 @@ func (r *Runner) runTemplateImportProvisionWithRichParameters(
|
|||||||
Parameters: c.Parameters,
|
Parameters: c.Parameters,
|
||||||
ExternalAuthProviders: c.ExternalAuthProviders,
|
ExternalAuthProviders: c.ExternalAuthProviders,
|
||||||
Modules: c.Modules,
|
Modules: c.Modules,
|
||||||
|
Presets: c.Presets,
|
||||||
}, nil
|
}, nil
|
||||||
default:
|
default:
|
||||||
return nil, xerrors.Errorf("invalid message type %q received from provisioner",
|
return nil, xerrors.Errorf("invalid message type %q received from provisioner",
|
||||||
|
1432
provisionersdk/proto/provisioner.pb.go
generated
1432
provisionersdk/proto/provisioner.pb.go
generated
File diff suppressed because it is too large
Load Diff
@ -57,6 +57,17 @@ message RichParameterValue {
|
|||||||
string value = 2;
|
string value = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Preset represents a set of preset parameters for a template version.
|
||||||
|
message Preset {
|
||||||
|
string name = 1;
|
||||||
|
repeated PresetParameter parameters = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
message PresetParameter {
|
||||||
|
string name = 1;
|
||||||
|
string value = 2;
|
||||||
|
}
|
||||||
|
|
||||||
// VariableValue holds the key/value mapping of a Terraform variable.
|
// VariableValue holds the key/value mapping of a Terraform variable.
|
||||||
message VariableValue {
|
message VariableValue {
|
||||||
string name = 1;
|
string name = 1;
|
||||||
@ -303,6 +314,7 @@ message PlanComplete {
|
|||||||
repeated ExternalAuthProviderResource external_auth_providers = 4;
|
repeated ExternalAuthProviderResource external_auth_providers = 4;
|
||||||
repeated Timing timings = 6;
|
repeated Timing timings = 6;
|
||||||
repeated Module modules = 7;
|
repeated Module modules = 7;
|
||||||
|
repeated Preset presets = 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ApplyRequest asks the provisioner to apply the changes. Apply MUST be preceded by a successful plan request/response
|
// ApplyRequest asks the provisioner to apply the changes. Apply MUST be preceded by a successful plan request/response
|
||||||
|
39
site/e2e/provisionerGenerated.ts
generated
39
site/e2e/provisionerGenerated.ts
generated
@ -94,6 +94,17 @@ export interface RichParameterValue {
|
|||||||
value: string;
|
value: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Preset represents a set of preset parameters for a template version. */
|
||||||
|
export interface Preset {
|
||||||
|
name: string;
|
||||||
|
parameters: PresetParameter[];
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface PresetParameter {
|
||||||
|
name: string;
|
||||||
|
value: string;
|
||||||
|
}
|
||||||
|
|
||||||
/** VariableValue holds the key/value mapping of a Terraform variable. */
|
/** VariableValue holds the key/value mapping of a Terraform variable. */
|
||||||
export interface VariableValue {
|
export interface VariableValue {
|
||||||
name: string;
|
name: string;
|
||||||
@ -322,6 +333,7 @@ export interface PlanComplete {
|
|||||||
externalAuthProviders: ExternalAuthProviderResource[];
|
externalAuthProviders: ExternalAuthProviderResource[];
|
||||||
timings: Timing[];
|
timings: Timing[];
|
||||||
modules: Module[];
|
modules: Module[];
|
||||||
|
presets: Preset[];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -485,6 +497,30 @@ export const RichParameterValue = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const Preset = {
|
||||||
|
encode(message: Preset, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
|
||||||
|
if (message.name !== "") {
|
||||||
|
writer.uint32(10).string(message.name);
|
||||||
|
}
|
||||||
|
for (const v of message.parameters) {
|
||||||
|
PresetParameter.encode(v!, writer.uint32(18).fork()).ldelim();
|
||||||
|
}
|
||||||
|
return writer;
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export const PresetParameter = {
|
||||||
|
encode(message: PresetParameter, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
|
||||||
|
if (message.name !== "") {
|
||||||
|
writer.uint32(10).string(message.name);
|
||||||
|
}
|
||||||
|
if (message.value !== "") {
|
||||||
|
writer.uint32(18).string(message.value);
|
||||||
|
}
|
||||||
|
return writer;
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
export const VariableValue = {
|
export const VariableValue = {
|
||||||
encode(message: VariableValue, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
|
encode(message: VariableValue, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
|
||||||
if (message.name !== "") {
|
if (message.name !== "") {
|
||||||
@ -1018,6 +1054,9 @@ export const PlanComplete = {
|
|||||||
for (const v of message.modules) {
|
for (const v of message.modules) {
|
||||||
Module.encode(v!, writer.uint32(58).fork()).ldelim();
|
Module.encode(v!, writer.uint32(58).fork()).ldelim();
|
||||||
}
|
}
|
||||||
|
for (const v of message.presets) {
|
||||||
|
Preset.encode(v!, writer.uint32(66).fork()).ldelim();
|
||||||
|
}
|
||||||
return writer;
|
return writer;
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -161,6 +161,7 @@ export const CreateWorkspacePageView: FC<CreateWorkspacePageViewProps> = ({
|
|||||||
}, [presets]);
|
}, [presets]);
|
||||||
|
|
||||||
const [selectedPresetIndex, setSelectedPresetIndex] = useState(0);
|
const [selectedPresetIndex, setSelectedPresetIndex] = useState(0);
|
||||||
|
const [presetParameterNames, setPresetParameterNames] = useState<string[]>([]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
// TODO (sasswart): test case: what if immutable parameters are used in the preset?
|
// TODO (sasswart): test case: what if immutable parameters are used in the preset?
|
||||||
@ -170,6 +171,7 @@ export const CreateWorkspacePageView: FC<CreateWorkspacePageViewProps> = ({
|
|||||||
// TODO (sasswart): what if we have preset params and autofill params on the same param?
|
// TODO (sasswart): what if we have preset params and autofill params on the same param?
|
||||||
// TODO (sasswart): test case: if we move from preset to no preset, do we reset the params?
|
// TODO (sasswart): test case: if we move from preset to no preset, do we reset the params?
|
||||||
// If so, how should it behave? Reset to initial value? reset to last set value?
|
// If so, how should it behave? Reset to initial value? reset to last set value?
|
||||||
|
// TODO (sasswart): test case: rich parameters
|
||||||
|
|
||||||
if (!presetParameters) {
|
if (!presetParameters) {
|
||||||
return;
|
return;
|
||||||
@ -181,16 +183,24 @@ export const CreateWorkspacePageView: FC<CreateWorkspacePageViewProps> = ({
|
|||||||
(param) => param.PresetID === selectedPreset.value,
|
(param) => param.PresetID === selectedPreset.value,
|
||||||
);
|
);
|
||||||
|
|
||||||
for (const param of selectedPresetParameters) {
|
setPresetParameterNames(selectedPresetParameters.map((p) => p.Name));
|
||||||
const paramIndex = parameters.findIndex((p) => p.name === param.Name);
|
|
||||||
if (paramIndex !== -1) {
|
const updatedValues = {
|
||||||
form.setFieldValue(`rich_parameter_values.${paramIndex}`, {
|
...form.values,
|
||||||
name: param.Name,
|
rich_parameter_values: form.values.rich_parameter_values?.map((param) => {
|
||||||
value: param.Value,
|
const presetParam = selectedPresetParameters.find((p) => p.Name === param.name);
|
||||||
});
|
if (presetParam) {
|
||||||
}
|
return {
|
||||||
}
|
name: param.name,
|
||||||
}, [selectedPresetIndex, presetParameters, presetOptions, parameters, form]);
|
value: presetParam.Value,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return param;
|
||||||
|
}) ?? [],
|
||||||
|
};
|
||||||
|
|
||||||
|
form.setValues(updatedValues);
|
||||||
|
}, [selectedPresetIndex, presetParameters, presetOptions, form.setValues]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Margins size="medium">
|
<Margins size="medium">
|
||||||
@ -364,7 +374,9 @@ export const CreateWorkspacePageView: FC<CreateWorkspacePageViewProps> = ({
|
|||||||
const isDisabled =
|
const isDisabled =
|
||||||
disabledParams?.includes(
|
disabledParams?.includes(
|
||||||
parameter.name.toLowerCase().replace(/ /g, "_"),
|
parameter.name.toLowerCase().replace(/ /g, "_"),
|
||||||
) || creatingWorkspace;
|
) ||
|
||||||
|
creatingWorkspace ||
|
||||||
|
presetParameterNames.includes(parameter.name);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<RichParameterInput
|
<RichParameterInput
|
||||||
|
Reference in New Issue
Block a user