go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/deploy/api/modelpb/asset.pb.go (about)

     1  // Copyright 2022 The LUCI Authors.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //      http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.31.0
    18  // 	protoc        v3.21.7
    19  // source: go.chromium.org/luci/deploy/api/modelpb/asset.proto
    20  
    21  package modelpb
    22  
    23  import (
    24  	status "google.golang.org/genproto/googleapis/rpc/status"
    25  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    26  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    27  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    28  	reflect "reflect"
    29  	sync "sync"
    30  )
    31  
    32  const (
    33  	// Verify that this generated code is sufficiently up-to-date.
    34  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    35  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    36  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    37  )
    38  
    39  // Traffic splitting method.
    40  type AppengineState_Service_TrafficSplitting int32
    41  
    42  const (
    43  	AppengineState_Service_TRAFFIC_SPLITTING_UNSPECIFIED AppengineState_Service_TrafficSplitting = 0
    44  	AppengineState_Service_COOKIE                        AppengineState_Service_TrafficSplitting = 1
    45  	AppengineState_Service_IP                            AppengineState_Service_TrafficSplitting = 2
    46  	AppengineState_Service_RANDOM                        AppengineState_Service_TrafficSplitting = 3
    47  )
    48  
    49  // Enum value maps for AppengineState_Service_TrafficSplitting.
    50  var (
    51  	AppengineState_Service_TrafficSplitting_name = map[int32]string{
    52  		0: "TRAFFIC_SPLITTING_UNSPECIFIED",
    53  		1: "COOKIE",
    54  		2: "IP",
    55  		3: "RANDOM",
    56  	}
    57  	AppengineState_Service_TrafficSplitting_value = map[string]int32{
    58  		"TRAFFIC_SPLITTING_UNSPECIFIED": 0,
    59  		"COOKIE":                        1,
    60  		"IP":                            2,
    61  		"RANDOM":                        3,
    62  	}
    63  )
    64  
    65  func (x AppengineState_Service_TrafficSplitting) Enum() *AppengineState_Service_TrafficSplitting {
    66  	p := new(AppengineState_Service_TrafficSplitting)
    67  	*p = x
    68  	return p
    69  }
    70  
    71  func (x AppengineState_Service_TrafficSplitting) String() string {
    72  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    73  }
    74  
    75  func (AppengineState_Service_TrafficSplitting) Descriptor() protoreflect.EnumDescriptor {
    76  	return file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_enumTypes[0].Descriptor()
    77  }
    78  
    79  func (AppengineState_Service_TrafficSplitting) Type() protoreflect.EnumType {
    80  	return &file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_enumTypes[0]
    81  }
    82  
    83  func (x AppengineState_Service_TrafficSplitting) Number() protoreflect.EnumNumber {
    84  	return protoreflect.EnumNumber(x)
    85  }
    86  
    87  // Deprecated: Use AppengineState_Service_TrafficSplitting.Descriptor instead.
    88  func (AppengineState_Service_TrafficSplitting) EnumDescriptor() ([]byte, []int) {
    89  	return file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_rawDescGZIP(), []int{4, 0, 0}
    90  }
    91  
    92  // What kind of a database is associated with the app.
    93  type AppengineState_CapturedState_DatabaseType int32
    94  
    95  const (
    96  	AppengineState_CapturedState_DATABASE_TYPE_UNSPECIFIED     AppengineState_CapturedState_DatabaseType = 0
    97  	AppengineState_CapturedState_CLOUD_DATASTORE               AppengineState_CapturedState_DatabaseType = 1
    98  	AppengineState_CapturedState_CLOUD_FIRESTORE               AppengineState_CapturedState_DatabaseType = 2
    99  	AppengineState_CapturedState_CLOUD_DATASTORE_COMPATIBILITY AppengineState_CapturedState_DatabaseType = 3
   100  )
   101  
   102  // Enum value maps for AppengineState_CapturedState_DatabaseType.
   103  var (
   104  	AppengineState_CapturedState_DatabaseType_name = map[int32]string{
   105  		0: "DATABASE_TYPE_UNSPECIFIED",
   106  		1: "CLOUD_DATASTORE",
   107  		2: "CLOUD_FIRESTORE",
   108  		3: "CLOUD_DATASTORE_COMPATIBILITY",
   109  	}
   110  	AppengineState_CapturedState_DatabaseType_value = map[string]int32{
   111  		"DATABASE_TYPE_UNSPECIFIED":     0,
   112  		"CLOUD_DATASTORE":               1,
   113  		"CLOUD_FIRESTORE":               2,
   114  		"CLOUD_DATASTORE_COMPATIBILITY": 3,
   115  	}
   116  )
   117  
   118  func (x AppengineState_CapturedState_DatabaseType) Enum() *AppengineState_CapturedState_DatabaseType {
   119  	p := new(AppengineState_CapturedState_DatabaseType)
   120  	*p = x
   121  	return p
   122  }
   123  
   124  func (x AppengineState_CapturedState_DatabaseType) String() string {
   125  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   126  }
   127  
   128  func (AppengineState_CapturedState_DatabaseType) Descriptor() protoreflect.EnumDescriptor {
   129  	return file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_enumTypes[1].Descriptor()
   130  }
   131  
   132  func (AppengineState_CapturedState_DatabaseType) Type() protoreflect.EnumType {
   133  	return &file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_enumTypes[1]
   134  }
   135  
   136  func (x AppengineState_CapturedState_DatabaseType) Number() protoreflect.EnumNumber {
   137  	return protoreflect.EnumNumber(x)
   138  }
   139  
   140  // Deprecated: Use AppengineState_CapturedState_DatabaseType.Descriptor instead.
   141  func (AppengineState_CapturedState_DatabaseType) EnumDescriptor() ([]byte, []int) {
   142  	return file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_rawDescGZIP(), []int{4, 2, 0}
   143  }
   144  
   145  // Asset represents a Cloud resource (or a bunch of resources) actuated as
   146  // a single unit.
   147  type Asset struct {
   148  	state         protoimpl.MessageState
   149  	sizeCache     protoimpl.SizeCache
   150  	unknownFields protoimpl.UnknownFields
   151  
   152  	// Unique ID of this asset.
   153  	//
   154  	// Defines the asset type (in particular what oneof branch is expected to
   155  	// be populated in AssetState).
   156  	//
   157  	// Matches full resource name of the asset's root resource per Google Cloud
   158  	// API conventions. For now only Appengine services are supported with asset
   159  	// ID being "apps/<app-id>".
   160  	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   161  	// The snapshot of the most recent actuation.
   162  	//
   163  	// This is the most recent actuation. Most of the time it will be an actuation
   164  	// that made SKIP_UPTODATE decision (since most of the time assets are
   165  	// up-to-date).
   166  	//
   167  	// May still be in-flight.
   168  	LastActuation *Actuation `protobuf:"bytes,2,opt,name=last_actuation,json=lastActuation,proto3" json:"last_actuation,omitempty"`
   169  	// The last actuation decision regarding this asset.
   170  	//
   171  	// It is the decision that was made by the `last_actuation` when it started.
   172  	LastDecision *ActuationDecision `protobuf:"bytes,3,opt,name=last_decision,json=lastDecision,proto3" json:"last_decision,omitempty"`
   173  	// The snapshot of the most recent actuation with ACTUATE_* decision.
   174  	//
   175  	// It is the actuation that changed (or attempted to change) this asset the
   176  	// last time.
   177  	//
   178  	// May still be in-flight.
   179  	LastActuateActuation *Actuation `protobuf:"bytes,4,opt,name=last_actuate_actuation,json=lastActuateActuation,proto3" json:"last_actuate_actuation,omitempty"`
   180  	// The last ACTUATE_* actuation decision regarding this asset.
   181  	//
   182  	// It is the decision that was made by the `last_actuate_actuation` when it
   183  	// started.
   184  	LastActuateDecision *ActuationDecision `protobuf:"bytes,5,opt,name=last_actuate_decision,json=lastActuateDecision,proto3" json:"last_actuate_decision,omitempty"`
   185  	// Asset configuration as defined in the IaC repo.
   186  	//
   187  	// It's the configuration consumed the deployment system itself. Actuated
   188  	// resources are configured via `intended_state`.
   189  	Config *AssetConfig `protobuf:"bytes,6,opt,name=config,proto3" json:"config,omitempty"`
   190  	// The intended state of the asset as defined in the IaC repo.
   191  	//
   192  	// It is the intended asset state reported by the actuator during its most
   193  	// recent BeginActuation call. This state is derived purely from the committed
   194  	// configuration. The actuator will try to move the asset into this state.
   195  	//
   196  	// Has its `state` oneof populated according to the asset kind using
   197  	// IntendedState sub-fields. Never contains an erroneous AssetState.
   198  	//
   199  	// May be missing for new assets if they are misconfigured in the IaC repo.
   200  	IntendedState *AssetState `protobuf:"bytes,7,opt,name=intended_state,json=intendedState,proto3" json:"intended_state,omitempty"`
   201  	// The last successfully applied intended state.
   202  	//
   203  	// May be different from `intended_state` for assets being actuated right now
   204  	// of for disabled, locked or broken assets.
   205  	//
   206  	// Has its `state` oneof populated according to the asset kind using
   207  	// IntendedState sub-fields. Never contains an erroneous AssetState.
   208  	//
   209  	// May be missing for new assets if they never had successful actuations.
   210  	AppliedState *AssetState `protobuf:"bytes,8,opt,name=applied_state,json=appliedState,proto3" json:"applied_state,omitempty"`
   211  	// The actual state of the asset as reported by the actuator most recently.
   212  	//
   213  	// It is the captured asset state reported by the actuator during its most
   214  	// BeginActuation or EndActuation calls. Matches some real most recently
   215  	// observed state of the asset, regardless how this state came to be.
   216  	//
   217  	// Has its `state` oneof populated according to the asset kind using
   218  	// CapturedState sub-fields. Never contains an erroneous AssetState.
   219  	//
   220  	// May be missing for new assets if the actuator fails to capture their state.
   221  	ReportedState *AssetState `protobuf:"bytes,9,opt,name=reported_state,json=reportedState,proto3" json:"reported_state,omitempty"`
   222  	// The last state applied by the actuator itself.
   223  	//
   224  	// For up-to-date assets it matches `intended_state` and `reported_state`.
   225  	//
   226  	// If during an actuation cycle the actuator partially updates some resources
   227  	// and then fails, `actuated_state` may be some intermediate state between
   228  	// the intended and the initial pre-actuation states.
   229  	//
   230  	// If some external entity (not the actuator) messes with the asset,
   231  	// `reported_state` may be different from `actuated_state`.
   232  	//
   233  	// Has its `state` oneof populated according to the asset kind using
   234  	// CapturedState sub-fields. Never contains an erroneous AssetState.
   235  	//
   236  	// May be missing for new assets while they are being actuated or if the
   237  	// actuator fails to capture their post-actuation state.
   238  	ActuatedState *AssetState `protobuf:"bytes,10,opt,name=actuated_state,json=actuatedState,proto3" json:"actuated_state,omitempty"`
   239  	// Populated if the actuator failed to capture the post-actuation state.
   240  	//
   241  	// If this field is set then `actuated_state` likely doesn't match reality
   242  	// and the next actuation attempt will likely trigger the anti-stomp
   243  	// protection.
   244  	PostActuationStatus *status.Status `protobuf:"bytes,11,opt,name=post_actuation_status,json=postActuationStatus,proto3" json:"post_actuation_status,omitempty"`
   245  }
   246  
   247  func (x *Asset) Reset() {
   248  	*x = Asset{}
   249  	if protoimpl.UnsafeEnabled {
   250  		mi := &file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[0]
   251  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   252  		ms.StoreMessageInfo(mi)
   253  	}
   254  }
   255  
   256  func (x *Asset) String() string {
   257  	return protoimpl.X.MessageStringOf(x)
   258  }
   259  
   260  func (*Asset) ProtoMessage() {}
   261  
   262  func (x *Asset) ProtoReflect() protoreflect.Message {
   263  	mi := &file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[0]
   264  	if protoimpl.UnsafeEnabled && x != nil {
   265  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   266  		if ms.LoadMessageInfo() == nil {
   267  			ms.StoreMessageInfo(mi)
   268  		}
   269  		return ms
   270  	}
   271  	return mi.MessageOf(x)
   272  }
   273  
   274  // Deprecated: Use Asset.ProtoReflect.Descriptor instead.
   275  func (*Asset) Descriptor() ([]byte, []int) {
   276  	return file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_rawDescGZIP(), []int{0}
   277  }
   278  
   279  func (x *Asset) GetId() string {
   280  	if x != nil {
   281  		return x.Id
   282  	}
   283  	return ""
   284  }
   285  
   286  func (x *Asset) GetLastActuation() *Actuation {
   287  	if x != nil {
   288  		return x.LastActuation
   289  	}
   290  	return nil
   291  }
   292  
   293  func (x *Asset) GetLastDecision() *ActuationDecision {
   294  	if x != nil {
   295  		return x.LastDecision
   296  	}
   297  	return nil
   298  }
   299  
   300  func (x *Asset) GetLastActuateActuation() *Actuation {
   301  	if x != nil {
   302  		return x.LastActuateActuation
   303  	}
   304  	return nil
   305  }
   306  
   307  func (x *Asset) GetLastActuateDecision() *ActuationDecision {
   308  	if x != nil {
   309  		return x.LastActuateDecision
   310  	}
   311  	return nil
   312  }
   313  
   314  func (x *Asset) GetConfig() *AssetConfig {
   315  	if x != nil {
   316  		return x.Config
   317  	}
   318  	return nil
   319  }
   320  
   321  func (x *Asset) GetIntendedState() *AssetState {
   322  	if x != nil {
   323  		return x.IntendedState
   324  	}
   325  	return nil
   326  }
   327  
   328  func (x *Asset) GetAppliedState() *AssetState {
   329  	if x != nil {
   330  		return x.AppliedState
   331  	}
   332  	return nil
   333  }
   334  
   335  func (x *Asset) GetReportedState() *AssetState {
   336  	if x != nil {
   337  		return x.ReportedState
   338  	}
   339  	return nil
   340  }
   341  
   342  func (x *Asset) GetActuatedState() *AssetState {
   343  	if x != nil {
   344  		return x.ActuatedState
   345  	}
   346  	return nil
   347  }
   348  
   349  func (x *Asset) GetPostActuationStatus() *status.Status {
   350  	if x != nil {
   351  		return x.PostActuationStatus
   352  	}
   353  	return nil
   354  }
   355  
   356  // AssetHistory captures an actuation decision made by the backend regarding
   357  // some asset along with all data that led to it, as well as the corresponding
   358  // actuation outcome.
   359  type AssetHistory struct {
   360  	state         protoimpl.MessageState
   361  	sizeCache     protoimpl.SizeCache
   362  	unknownFields protoimpl.UnknownFields
   363  
   364  	// The parent asset ID.
   365  	AssetId string `protobuf:"bytes,1,opt,name=asset_id,json=assetId,proto3" json:"asset_id,omitempty"`
   366  	// Index in the asset's history log, monotonically increasing starting with 1.
   367  	HistoryId int64 `protobuf:"varint,2,opt,name=history_id,json=historyId,proto3" json:"history_id,omitempty"`
   368  	// The decision made by the backend.
   369  	Decision *ActuationDecision `protobuf:"bytes,3,opt,name=decision,proto3" json:"decision,omitempty"`
   370  	// The snapshot of the associated actuation.
   371  	Actuation *Actuation `protobuf:"bytes,4,opt,name=actuation,proto3" json:"actuation,omitempty"`
   372  	// Reported asset configuration as defined in the IaC repo.
   373  	Config *AssetConfig `protobuf:"bytes,5,opt,name=config,proto3" json:"config,omitempty"`
   374  	// Reported intended state of the asset as defined in the IaC repo.
   375  	IntendedState *AssetState `protobuf:"bytes,6,opt,name=intended_state,json=intendedState,proto3" json:"intended_state,omitempty"`
   376  	// Reported actual state of the asset (as scanned by the actuator).
   377  	ReportedState *AssetState `protobuf:"bytes,7,opt,name=reported_state,json=reportedState,proto3" json:"reported_state,omitempty"`
   378  	// The last successfully applied intended state **prior** to the actuation.
   379  	LastAppliedState *AssetState `protobuf:"bytes,8,opt,name=last_applied_state,json=lastAppliedState,proto3" json:"last_applied_state,omitempty"`
   380  	// The reported state **after** the actuation, if it was performed.
   381  	PostActuationState *AssetState `protobuf:"bytes,9,opt,name=post_actuation_state,json=postActuationState,proto3" json:"post_actuation_state,omitempty"`
   382  	// Number of consecutive failures prior to this entry (excluding itself).
   383  	PriorConsecutiveFailures int64 `protobuf:"varint,10,opt,name=prior_consecutive_failures,json=priorConsecutiveFailures,proto3" json:"prior_consecutive_failures,omitempty"`
   384  }
   385  
   386  func (x *AssetHistory) Reset() {
   387  	*x = AssetHistory{}
   388  	if protoimpl.UnsafeEnabled {
   389  		mi := &file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[1]
   390  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   391  		ms.StoreMessageInfo(mi)
   392  	}
   393  }
   394  
   395  func (x *AssetHistory) String() string {
   396  	return protoimpl.X.MessageStringOf(x)
   397  }
   398  
   399  func (*AssetHistory) ProtoMessage() {}
   400  
   401  func (x *AssetHistory) ProtoReflect() protoreflect.Message {
   402  	mi := &file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[1]
   403  	if protoimpl.UnsafeEnabled && x != nil {
   404  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   405  		if ms.LoadMessageInfo() == nil {
   406  			ms.StoreMessageInfo(mi)
   407  		}
   408  		return ms
   409  	}
   410  	return mi.MessageOf(x)
   411  }
   412  
   413  // Deprecated: Use AssetHistory.ProtoReflect.Descriptor instead.
   414  func (*AssetHistory) Descriptor() ([]byte, []int) {
   415  	return file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_rawDescGZIP(), []int{1}
   416  }
   417  
   418  func (x *AssetHistory) GetAssetId() string {
   419  	if x != nil {
   420  		return x.AssetId
   421  	}
   422  	return ""
   423  }
   424  
   425  func (x *AssetHistory) GetHistoryId() int64 {
   426  	if x != nil {
   427  		return x.HistoryId
   428  	}
   429  	return 0
   430  }
   431  
   432  func (x *AssetHistory) GetDecision() *ActuationDecision {
   433  	if x != nil {
   434  		return x.Decision
   435  	}
   436  	return nil
   437  }
   438  
   439  func (x *AssetHistory) GetActuation() *Actuation {
   440  	if x != nil {
   441  		return x.Actuation
   442  	}
   443  	return nil
   444  }
   445  
   446  func (x *AssetHistory) GetConfig() *AssetConfig {
   447  	if x != nil {
   448  		return x.Config
   449  	}
   450  	return nil
   451  }
   452  
   453  func (x *AssetHistory) GetIntendedState() *AssetState {
   454  	if x != nil {
   455  		return x.IntendedState
   456  	}
   457  	return nil
   458  }
   459  
   460  func (x *AssetHistory) GetReportedState() *AssetState {
   461  	if x != nil {
   462  		return x.ReportedState
   463  	}
   464  	return nil
   465  }
   466  
   467  func (x *AssetHistory) GetLastAppliedState() *AssetState {
   468  	if x != nil {
   469  		return x.LastAppliedState
   470  	}
   471  	return nil
   472  }
   473  
   474  func (x *AssetHistory) GetPostActuationState() *AssetState {
   475  	if x != nil {
   476  		return x.PostActuationState
   477  	}
   478  	return nil
   479  }
   480  
   481  func (x *AssetHistory) GetPriorConsecutiveFailures() int64 {
   482  	if x != nil {
   483  		return x.PriorConsecutiveFailures
   484  	}
   485  	return 0
   486  }
   487  
   488  // Asset configuration as defined in the IaC repo.
   489  type AssetConfig struct {
   490  	state         protoimpl.MessageState
   491  	sizeCache     protoimpl.SizeCache
   492  	unknownFields protoimpl.UnknownFields
   493  
   494  	// True to actuate the asset, false to leave it alone.
   495  	EnableAutomation bool `protobuf:"varint,1,opt,name=enable_automation,json=enableAutomation,proto3" json:"enable_automation,omitempty"`
   496  	// How many inactive GAE versions to keep.
   497  	InactiveVersionsToKeep int32 `protobuf:"varint,2,opt,name=inactive_versions_to_keep,json=inactiveVersionsToKeep,proto3" json:"inactive_versions_to_keep,omitempty"`
   498  }
   499  
   500  func (x *AssetConfig) Reset() {
   501  	*x = AssetConfig{}
   502  	if protoimpl.UnsafeEnabled {
   503  		mi := &file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[2]
   504  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   505  		ms.StoreMessageInfo(mi)
   506  	}
   507  }
   508  
   509  func (x *AssetConfig) String() string {
   510  	return protoimpl.X.MessageStringOf(x)
   511  }
   512  
   513  func (*AssetConfig) ProtoMessage() {}
   514  
   515  func (x *AssetConfig) ProtoReflect() protoreflect.Message {
   516  	mi := &file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[2]
   517  	if protoimpl.UnsafeEnabled && x != nil {
   518  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   519  		if ms.LoadMessageInfo() == nil {
   520  			ms.StoreMessageInfo(mi)
   521  		}
   522  		return ms
   523  	}
   524  	return mi.MessageOf(x)
   525  }
   526  
   527  // Deprecated: Use AssetConfig.ProtoReflect.Descriptor instead.
   528  func (*AssetConfig) Descriptor() ([]byte, []int) {
   529  	return file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_rawDescGZIP(), []int{2}
   530  }
   531  
   532  func (x *AssetConfig) GetEnableAutomation() bool {
   533  	if x != nil {
   534  		return x.EnableAutomation
   535  	}
   536  	return false
   537  }
   538  
   539  func (x *AssetConfig) GetInactiveVersionsToKeep() int32 {
   540  	if x != nil {
   541  		return x.InactiveVersionsToKeep
   542  	}
   543  	return 0
   544  }
   545  
   546  // A snapshot of the intended or captured state of an asset.
   547  //
   548  // Also contains information about the actuator and the deployment at the time
   549  // the state was captured. This is useful for the historical log of states.
   550  type AssetState struct {
   551  	state         protoimpl.MessageState
   552  	sizeCache     protoimpl.SizeCache
   553  	unknownFields protoimpl.UnknownFields
   554  
   555  	// When this state was captured.
   556  	Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
   557  	// The deployment configuration at the time the state was captured.
   558  	Deployment *Deployment `protobuf:"bytes,2,opt,name=deployment,proto3" json:"deployment,omitempty"`
   559  	// The actuator that performed the capture.
   560  	Actuator *ActuatorInfo `protobuf:"bytes,3,opt,name=actuator,proto3" json:"actuator,omitempty"`
   561  	// Error details if the asset state could not be captured.
   562  	Status *status.Status `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"`
   563  	// The intended or captured state of the asset if `status` is OK.
   564  	//
   565  	// Types that are assignable to State:
   566  	//
   567  	//	*AssetState_Appengine
   568  	State isAssetState_State `protobuf_oneof:"state"`
   569  }
   570  
   571  func (x *AssetState) Reset() {
   572  	*x = AssetState{}
   573  	if protoimpl.UnsafeEnabled {
   574  		mi := &file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[3]
   575  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   576  		ms.StoreMessageInfo(mi)
   577  	}
   578  }
   579  
   580  func (x *AssetState) String() string {
   581  	return protoimpl.X.MessageStringOf(x)
   582  }
   583  
   584  func (*AssetState) ProtoMessage() {}
   585  
   586  func (x *AssetState) ProtoReflect() protoreflect.Message {
   587  	mi := &file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[3]
   588  	if protoimpl.UnsafeEnabled && x != nil {
   589  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   590  		if ms.LoadMessageInfo() == nil {
   591  			ms.StoreMessageInfo(mi)
   592  		}
   593  		return ms
   594  	}
   595  	return mi.MessageOf(x)
   596  }
   597  
   598  // Deprecated: Use AssetState.ProtoReflect.Descriptor instead.
   599  func (*AssetState) Descriptor() ([]byte, []int) {
   600  	return file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_rawDescGZIP(), []int{3}
   601  }
   602  
   603  func (x *AssetState) GetTimestamp() *timestamppb.Timestamp {
   604  	if x != nil {
   605  		return x.Timestamp
   606  	}
   607  	return nil
   608  }
   609  
   610  func (x *AssetState) GetDeployment() *Deployment {
   611  	if x != nil {
   612  		return x.Deployment
   613  	}
   614  	return nil
   615  }
   616  
   617  func (x *AssetState) GetActuator() *ActuatorInfo {
   618  	if x != nil {
   619  		return x.Actuator
   620  	}
   621  	return nil
   622  }
   623  
   624  func (x *AssetState) GetStatus() *status.Status {
   625  	if x != nil {
   626  		return x.Status
   627  	}
   628  	return nil
   629  }
   630  
   631  func (m *AssetState) GetState() isAssetState_State {
   632  	if m != nil {
   633  		return m.State
   634  	}
   635  	return nil
   636  }
   637  
   638  func (x *AssetState) GetAppengine() *AppengineState {
   639  	if x, ok := x.GetState().(*AssetState_Appengine); ok {
   640  		return x.Appengine
   641  	}
   642  	return nil
   643  }
   644  
   645  type isAssetState_State interface {
   646  	isAssetState_State()
   647  }
   648  
   649  type AssetState_Appengine struct {
   650  	// For assets with ID "apps/<app-id>".
   651  	Appengine *AppengineState `protobuf:"bytes,10,opt,name=appengine,proto3,oneof"`
   652  }
   653  
   654  func (*AssetState_Appengine) isAssetState_State() {}
   655  
   656  // Intended or captured state of an Appengine service.
   657  type AppengineState struct {
   658  	state         protoimpl.MessageState
   659  	sizeCache     protoimpl.SizeCache
   660  	unknownFields protoimpl.UnknownFields
   661  
   662  	Services      []*AppengineState_Service     `protobuf:"bytes,1,rep,name=services,proto3" json:"services,omitempty"`
   663  	IntendedState *AppengineState_IntendedState `protobuf:"bytes,2,opt,name=intended_state,json=intendedState,proto3" json:"intended_state,omitempty"`
   664  	CapturedState *AppengineState_CapturedState `protobuf:"bytes,3,opt,name=captured_state,json=capturedState,proto3" json:"captured_state,omitempty"`
   665  }
   666  
   667  func (x *AppengineState) Reset() {
   668  	*x = AppengineState{}
   669  	if protoimpl.UnsafeEnabled {
   670  		mi := &file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[4]
   671  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   672  		ms.StoreMessageInfo(mi)
   673  	}
   674  }
   675  
   676  func (x *AppengineState) String() string {
   677  	return protoimpl.X.MessageStringOf(x)
   678  }
   679  
   680  func (*AppengineState) ProtoMessage() {}
   681  
   682  func (x *AppengineState) ProtoReflect() protoreflect.Message {
   683  	mi := &file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[4]
   684  	if protoimpl.UnsafeEnabled && x != nil {
   685  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   686  		if ms.LoadMessageInfo() == nil {
   687  			ms.StoreMessageInfo(mi)
   688  		}
   689  		return ms
   690  	}
   691  	return mi.MessageOf(x)
   692  }
   693  
   694  // Deprecated: Use AppengineState.ProtoReflect.Descriptor instead.
   695  func (*AppengineState) Descriptor() ([]byte, []int) {
   696  	return file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_rawDescGZIP(), []int{4}
   697  }
   698  
   699  func (x *AppengineState) GetServices() []*AppengineState_Service {
   700  	if x != nil {
   701  		return x.Services
   702  	}
   703  	return nil
   704  }
   705  
   706  func (x *AppengineState) GetIntendedState() *AppengineState_IntendedState {
   707  	if x != nil {
   708  		return x.IntendedState
   709  	}
   710  	return nil
   711  }
   712  
   713  func (x *AppengineState) GetCapturedState() *AppengineState_CapturedState {
   714  	if x != nil {
   715  		return x.CapturedState
   716  	}
   717  	return nil
   718  }
   719  
   720  // A list of services (sorted by name) with intended or captured state.
   721  type AppengineState_Service struct {
   722  	state         protoimpl.MessageState
   723  	sizeCache     protoimpl.SizeCache
   724  	unknownFields protoimpl.UnknownFields
   725  
   726  	// Name of the service e.g. "default".
   727  	Name             string                                  `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   728  	Versions         []*AppengineState_Service_Version       `protobuf:"bytes,2,rep,name=versions,proto3" json:"versions,omitempty"`
   729  	TrafficSplitting AppengineState_Service_TrafficSplitting `protobuf:"varint,3,opt,name=traffic_splitting,json=trafficSplitting,proto3,enum=deploy.model.AppengineState_Service_TrafficSplitting" json:"traffic_splitting,omitempty"`
   730  	// Traffic allocation as a map from version name to [0, 1000].
   731  	TrafficAllocation map[string]int32 `protobuf:"bytes,4,rep,name=traffic_allocation,json=trafficAllocation,proto3" json:"traffic_allocation,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
   732  }
   733  
   734  func (x *AppengineState_Service) Reset() {
   735  	*x = AppengineState_Service{}
   736  	if protoimpl.UnsafeEnabled {
   737  		mi := &file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[5]
   738  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   739  		ms.StoreMessageInfo(mi)
   740  	}
   741  }
   742  
   743  func (x *AppengineState_Service) String() string {
   744  	return protoimpl.X.MessageStringOf(x)
   745  }
   746  
   747  func (*AppengineState_Service) ProtoMessage() {}
   748  
   749  func (x *AppengineState_Service) ProtoReflect() protoreflect.Message {
   750  	mi := &file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[5]
   751  	if protoimpl.UnsafeEnabled && x != nil {
   752  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   753  		if ms.LoadMessageInfo() == nil {
   754  			ms.StoreMessageInfo(mi)
   755  		}
   756  		return ms
   757  	}
   758  	return mi.MessageOf(x)
   759  }
   760  
   761  // Deprecated: Use AppengineState_Service.ProtoReflect.Descriptor instead.
   762  func (*AppengineState_Service) Descriptor() ([]byte, []int) {
   763  	return file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_rawDescGZIP(), []int{4, 0}
   764  }
   765  
   766  func (x *AppengineState_Service) GetName() string {
   767  	if x != nil {
   768  		return x.Name
   769  	}
   770  	return ""
   771  }
   772  
   773  func (x *AppengineState_Service) GetVersions() []*AppengineState_Service_Version {
   774  	if x != nil {
   775  		return x.Versions
   776  	}
   777  	return nil
   778  }
   779  
   780  func (x *AppengineState_Service) GetTrafficSplitting() AppengineState_Service_TrafficSplitting {
   781  	if x != nil {
   782  		return x.TrafficSplitting
   783  	}
   784  	return AppengineState_Service_TRAFFIC_SPLITTING_UNSPECIFIED
   785  }
   786  
   787  func (x *AppengineState_Service) GetTrafficAllocation() map[string]int32 {
   788  	if x != nil {
   789  		return x.TrafficAllocation
   790  	}
   791  	return nil
   792  }
   793  
   794  // State which is defined in the config and which can't be easily captured
   795  // using Cloud APIs.
   796  //
   797  // This field is populated in `intended_state`.
   798  type AppengineState_IntendedState struct {
   799  	state         protoimpl.MessageState
   800  	sizeCache     protoimpl.SizeCache
   801  	unknownFields protoimpl.UnknownFields
   802  
   803  	DeployableYamls []*AppengineState_IntendedState_DeployableYaml `protobuf:"bytes,1,rep,name=deployable_yamls,json=deployableYamls,proto3" json:"deployable_yamls,omitempty"`
   804  }
   805  
   806  func (x *AppengineState_IntendedState) Reset() {
   807  	*x = AppengineState_IntendedState{}
   808  	if protoimpl.UnsafeEnabled {
   809  		mi := &file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[6]
   810  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   811  		ms.StoreMessageInfo(mi)
   812  	}
   813  }
   814  
   815  func (x *AppengineState_IntendedState) String() string {
   816  	return protoimpl.X.MessageStringOf(x)
   817  }
   818  
   819  func (*AppengineState_IntendedState) ProtoMessage() {}
   820  
   821  func (x *AppengineState_IntendedState) ProtoReflect() protoreflect.Message {
   822  	mi := &file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[6]
   823  	if protoimpl.UnsafeEnabled && x != nil {
   824  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   825  		if ms.LoadMessageInfo() == nil {
   826  			ms.StoreMessageInfo(mi)
   827  		}
   828  		return ms
   829  	}
   830  	return mi.MessageOf(x)
   831  }
   832  
   833  // Deprecated: Use AppengineState_IntendedState.ProtoReflect.Descriptor instead.
   834  func (*AppengineState_IntendedState) Descriptor() ([]byte, []int) {
   835  	return file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_rawDescGZIP(), []int{4, 1}
   836  }
   837  
   838  func (x *AppengineState_IntendedState) GetDeployableYamls() []*AppengineState_IntendedState_DeployableYaml {
   839  	if x != nil {
   840  		return x.DeployableYamls
   841  	}
   842  	return nil
   843  }
   844  
   845  // State which is captured using Cloud APIs and which can't be defined
   846  // in the config (at least not directly).
   847  //
   848  // This field is populated in `reported_state` and `actuated_state`.
   849  //
   850  // See https://cloud.google.com/appengine/docs/admin-api/reference/rpc/google.appengine.v1#google.appengine.v1.Application
   851  type AppengineState_CapturedState struct {
   852  	state         protoimpl.MessageState
   853  	sizeCache     protoimpl.SizeCache
   854  	unknownFields protoimpl.UnknownFields
   855  
   856  	// E.g. "us-central".
   857  	LocationId string `protobuf:"bytes,1,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
   858  	// Default service hostname.
   859  	DefaultHostname string                                    `protobuf:"bytes,2,opt,name=default_hostname,json=defaultHostname,proto3" json:"default_hostname,omitempty"`
   860  	DatabaseType    AppengineState_CapturedState_DatabaseType `protobuf:"varint,3,opt,name=database_type,json=databaseType,proto3,enum=deploy.model.AppengineState_CapturedState_DatabaseType" json:"database_type,omitempty"`
   861  }
   862  
   863  func (x *AppengineState_CapturedState) Reset() {
   864  	*x = AppengineState_CapturedState{}
   865  	if protoimpl.UnsafeEnabled {
   866  		mi := &file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[7]
   867  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   868  		ms.StoreMessageInfo(mi)
   869  	}
   870  }
   871  
   872  func (x *AppengineState_CapturedState) String() string {
   873  	return protoimpl.X.MessageStringOf(x)
   874  }
   875  
   876  func (*AppengineState_CapturedState) ProtoMessage() {}
   877  
   878  func (x *AppengineState_CapturedState) ProtoReflect() protoreflect.Message {
   879  	mi := &file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[7]
   880  	if protoimpl.UnsafeEnabled && x != nil {
   881  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   882  		if ms.LoadMessageInfo() == nil {
   883  			ms.StoreMessageInfo(mi)
   884  		}
   885  		return ms
   886  	}
   887  	return mi.MessageOf(x)
   888  }
   889  
   890  // Deprecated: Use AppengineState_CapturedState.ProtoReflect.Descriptor instead.
   891  func (*AppengineState_CapturedState) Descriptor() ([]byte, []int) {
   892  	return file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_rawDescGZIP(), []int{4, 2}
   893  }
   894  
   895  func (x *AppengineState_CapturedState) GetLocationId() string {
   896  	if x != nil {
   897  		return x.LocationId
   898  	}
   899  	return ""
   900  }
   901  
   902  func (x *AppengineState_CapturedState) GetDefaultHostname() string {
   903  	if x != nil {
   904  		return x.DefaultHostname
   905  	}
   906  	return ""
   907  }
   908  
   909  func (x *AppengineState_CapturedState) GetDatabaseType() AppengineState_CapturedState_DatabaseType {
   910  	if x != nil {
   911  		return x.DatabaseType
   912  	}
   913  	return AppengineState_CapturedState_DATABASE_TYPE_UNSPECIFIED
   914  }
   915  
   916  // A list of service versions sorted by name.
   917  type AppengineState_Service_Version struct {
   918  	state         protoimpl.MessageState
   919  	sizeCache     protoimpl.SizeCache
   920  	unknownFields protoimpl.UnknownFields
   921  
   922  	// Name of the version e.g. "11120-9f81d82".
   923  	Name          string                                        `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   924  	IntendedState *AppengineState_Service_Version_IntendedState `protobuf:"bytes,2,opt,name=intended_state,json=intendedState,proto3" json:"intended_state,omitempty"`
   925  	CapturedState *AppengineState_Service_Version_CapturedState `protobuf:"bytes,3,opt,name=captured_state,json=capturedState,proto3" json:"captured_state,omitempty"`
   926  }
   927  
   928  func (x *AppengineState_Service_Version) Reset() {
   929  	*x = AppengineState_Service_Version{}
   930  	if protoimpl.UnsafeEnabled {
   931  		mi := &file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[8]
   932  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   933  		ms.StoreMessageInfo(mi)
   934  	}
   935  }
   936  
   937  func (x *AppengineState_Service_Version) String() string {
   938  	return protoimpl.X.MessageStringOf(x)
   939  }
   940  
   941  func (*AppengineState_Service_Version) ProtoMessage() {}
   942  
   943  func (x *AppengineState_Service_Version) ProtoReflect() protoreflect.Message {
   944  	mi := &file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[8]
   945  	if protoimpl.UnsafeEnabled && x != nil {
   946  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   947  		if ms.LoadMessageInfo() == nil {
   948  			ms.StoreMessageInfo(mi)
   949  		}
   950  		return ms
   951  	}
   952  	return mi.MessageOf(x)
   953  }
   954  
   955  // Deprecated: Use AppengineState_Service_Version.ProtoReflect.Descriptor instead.
   956  func (*AppengineState_Service_Version) Descriptor() ([]byte, []int) {
   957  	return file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_rawDescGZIP(), []int{4, 0, 0}
   958  }
   959  
   960  func (x *AppengineState_Service_Version) GetName() string {
   961  	if x != nil {
   962  		return x.Name
   963  	}
   964  	return ""
   965  }
   966  
   967  func (x *AppengineState_Service_Version) GetIntendedState() *AppengineState_Service_Version_IntendedState {
   968  	if x != nil {
   969  		return x.IntendedState
   970  	}
   971  	return nil
   972  }
   973  
   974  func (x *AppengineState_Service_Version) GetCapturedState() *AppengineState_Service_Version_CapturedState {
   975  	if x != nil {
   976  		return x.CapturedState
   977  	}
   978  	return nil
   979  }
   980  
   981  // State which is defined in the config and which can't be easily captured
   982  // using Cloud APIs.
   983  //
   984  // This field is populated in `intended_state`.
   985  type AppengineState_Service_Version_IntendedState struct {
   986  	state         protoimpl.MessageState
   987  	sizeCache     protoimpl.SizeCache
   988  	unknownFields protoimpl.UnknownFields
   989  
   990  	// The artifact (GAE tarball) that should be running there.
   991  	Artifact *ArtifactID `protobuf:"bytes,1,opt,name=artifact,proto3" json:"artifact,omitempty"`
   992  	// Path to the service YAML within the tarball.
   993  	YamlPath string `protobuf:"bytes,2,opt,name=yaml_path,json=yamlPath,proto3" json:"yaml_path,omitempty"`
   994  	// Vars passed to `gaedeploy` for substitution in the YAML.
   995  	LuciVars map[string]string `protobuf:"bytes,3,rep,name=luci_vars,json=luciVars,proto3" json:"luci_vars,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   996  }
   997  
   998  func (x *AppengineState_Service_Version_IntendedState) Reset() {
   999  	*x = AppengineState_Service_Version_IntendedState{}
  1000  	if protoimpl.UnsafeEnabled {
  1001  		mi := &file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[10]
  1002  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1003  		ms.StoreMessageInfo(mi)
  1004  	}
  1005  }
  1006  
  1007  func (x *AppengineState_Service_Version_IntendedState) String() string {
  1008  	return protoimpl.X.MessageStringOf(x)
  1009  }
  1010  
  1011  func (*AppengineState_Service_Version_IntendedState) ProtoMessage() {}
  1012  
  1013  func (x *AppengineState_Service_Version_IntendedState) ProtoReflect() protoreflect.Message {
  1014  	mi := &file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[10]
  1015  	if protoimpl.UnsafeEnabled && x != nil {
  1016  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1017  		if ms.LoadMessageInfo() == nil {
  1018  			ms.StoreMessageInfo(mi)
  1019  		}
  1020  		return ms
  1021  	}
  1022  	return mi.MessageOf(x)
  1023  }
  1024  
  1025  // Deprecated: Use AppengineState_Service_Version_IntendedState.ProtoReflect.Descriptor instead.
  1026  func (*AppengineState_Service_Version_IntendedState) Descriptor() ([]byte, []int) {
  1027  	return file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_rawDescGZIP(), []int{4, 0, 0, 0}
  1028  }
  1029  
  1030  func (x *AppengineState_Service_Version_IntendedState) GetArtifact() *ArtifactID {
  1031  	if x != nil {
  1032  		return x.Artifact
  1033  	}
  1034  	return nil
  1035  }
  1036  
  1037  func (x *AppengineState_Service_Version_IntendedState) GetYamlPath() string {
  1038  	if x != nil {
  1039  		return x.YamlPath
  1040  	}
  1041  	return ""
  1042  }
  1043  
  1044  func (x *AppengineState_Service_Version_IntendedState) GetLuciVars() map[string]string {
  1045  	if x != nil {
  1046  		return x.LuciVars
  1047  	}
  1048  	return nil
  1049  }
  1050  
  1051  // State which is captured using Cloud APIs and which can't be defined
  1052  // in the config (at least not directly).
  1053  //
  1054  // This field is populated in `reported_state` and `actuated_state`.
  1055  //
  1056  // See https://cloud.google.com/appengine/docs/admin-api/reference/rpc/google.appengine.v1#google.appengine.v1.Version
  1057  type AppengineState_Service_Version_CapturedState struct {
  1058  	state         protoimpl.MessageState
  1059  	sizeCache     protoimpl.SizeCache
  1060  	unknownFields protoimpl.UnknownFields
  1061  
  1062  	// E.g. "F4".
  1063  	InstanceClass string `protobuf:"bytes,1,opt,name=instance_class,json=instanceClass,proto3" json:"instance_class,omitempty"`
  1064  	// E.g. "standard".
  1065  	Env string `protobuf:"bytes,2,opt,name=env,proto3" json:"env,omitempty"`
  1066  	// E.g. "go116"
  1067  	Runtime string `protobuf:"bytes,3,opt,name=runtime,proto3" json:"runtime,omitempty"`
  1068  	// Some runtimes have channels.
  1069  	RuntimeChannel string `protobuf:"bytes,4,opt,name=runtime_channel,json=runtimeChannel,proto3" json:"runtime_channel,omitempty"`
  1070  	// Some runtimes have API versions.
  1071  	RuntimeApiVersion string `protobuf:"bytes,5,opt,name=runtime_api_version,json=runtimeApiVersion,proto3" json:"runtime_api_version,omitempty"`
  1072  	// Email of who uploaded this version.
  1073  	CreatedBy string `protobuf:"bytes,6,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"`
  1074  	// When it was uploaded.
  1075  	CreateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
  1076  	// Serving URL of this version specifically.
  1077  	VersionUrl string `protobuf:"bytes,8,opt,name=version_url,json=versionUrl,proto3" json:"version_url,omitempty"`
  1078  }
  1079  
  1080  func (x *AppengineState_Service_Version_CapturedState) Reset() {
  1081  	*x = AppengineState_Service_Version_CapturedState{}
  1082  	if protoimpl.UnsafeEnabled {
  1083  		mi := &file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[11]
  1084  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1085  		ms.StoreMessageInfo(mi)
  1086  	}
  1087  }
  1088  
  1089  func (x *AppengineState_Service_Version_CapturedState) String() string {
  1090  	return protoimpl.X.MessageStringOf(x)
  1091  }
  1092  
  1093  func (*AppengineState_Service_Version_CapturedState) ProtoMessage() {}
  1094  
  1095  func (x *AppengineState_Service_Version_CapturedState) ProtoReflect() protoreflect.Message {
  1096  	mi := &file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[11]
  1097  	if protoimpl.UnsafeEnabled && x != nil {
  1098  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1099  		if ms.LoadMessageInfo() == nil {
  1100  			ms.StoreMessageInfo(mi)
  1101  		}
  1102  		return ms
  1103  	}
  1104  	return mi.MessageOf(x)
  1105  }
  1106  
  1107  // Deprecated: Use AppengineState_Service_Version_CapturedState.ProtoReflect.Descriptor instead.
  1108  func (*AppengineState_Service_Version_CapturedState) Descriptor() ([]byte, []int) {
  1109  	return file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_rawDescGZIP(), []int{4, 0, 0, 1}
  1110  }
  1111  
  1112  func (x *AppengineState_Service_Version_CapturedState) GetInstanceClass() string {
  1113  	if x != nil {
  1114  		return x.InstanceClass
  1115  	}
  1116  	return ""
  1117  }
  1118  
  1119  func (x *AppengineState_Service_Version_CapturedState) GetEnv() string {
  1120  	if x != nil {
  1121  		return x.Env
  1122  	}
  1123  	return ""
  1124  }
  1125  
  1126  func (x *AppengineState_Service_Version_CapturedState) GetRuntime() string {
  1127  	if x != nil {
  1128  		return x.Runtime
  1129  	}
  1130  	return ""
  1131  }
  1132  
  1133  func (x *AppengineState_Service_Version_CapturedState) GetRuntimeChannel() string {
  1134  	if x != nil {
  1135  		return x.RuntimeChannel
  1136  	}
  1137  	return ""
  1138  }
  1139  
  1140  func (x *AppengineState_Service_Version_CapturedState) GetRuntimeApiVersion() string {
  1141  	if x != nil {
  1142  		return x.RuntimeApiVersion
  1143  	}
  1144  	return ""
  1145  }
  1146  
  1147  func (x *AppengineState_Service_Version_CapturedState) GetCreatedBy() string {
  1148  	if x != nil {
  1149  		return x.CreatedBy
  1150  	}
  1151  	return ""
  1152  }
  1153  
  1154  func (x *AppengineState_Service_Version_CapturedState) GetCreateTime() *timestamppb.Timestamp {
  1155  	if x != nil {
  1156  		return x.CreateTime
  1157  	}
  1158  	return nil
  1159  }
  1160  
  1161  func (x *AppengineState_Service_Version_CapturedState) GetVersionUrl() string {
  1162  	if x != nil {
  1163  		return x.VersionUrl
  1164  	}
  1165  	return ""
  1166  }
  1167  
  1168  // The list of deployable YAMLs (such as "cron.yaml").
  1169  type AppengineState_IntendedState_DeployableYaml struct {
  1170  	state         protoimpl.MessageState
  1171  	sizeCache     protoimpl.SizeCache
  1172  	unknownFields protoimpl.UnknownFields
  1173  
  1174  	// The artifact (GAE tarball) with the YAML.
  1175  	Artifact *ArtifactID `protobuf:"bytes,1,opt,name=artifact,proto3" json:"artifact,omitempty"`
  1176  	// Path to the YAML within the tarball.
  1177  	YamlPath string `protobuf:"bytes,2,opt,name=yaml_path,json=yamlPath,proto3" json:"yaml_path,omitempty"`
  1178  }
  1179  
  1180  func (x *AppengineState_IntendedState_DeployableYaml) Reset() {
  1181  	*x = AppengineState_IntendedState_DeployableYaml{}
  1182  	if protoimpl.UnsafeEnabled {
  1183  		mi := &file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[13]
  1184  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1185  		ms.StoreMessageInfo(mi)
  1186  	}
  1187  }
  1188  
  1189  func (x *AppengineState_IntendedState_DeployableYaml) String() string {
  1190  	return protoimpl.X.MessageStringOf(x)
  1191  }
  1192  
  1193  func (*AppengineState_IntendedState_DeployableYaml) ProtoMessage() {}
  1194  
  1195  func (x *AppengineState_IntendedState_DeployableYaml) ProtoReflect() protoreflect.Message {
  1196  	mi := &file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[13]
  1197  	if protoimpl.UnsafeEnabled && x != nil {
  1198  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1199  		if ms.LoadMessageInfo() == nil {
  1200  			ms.StoreMessageInfo(mi)
  1201  		}
  1202  		return ms
  1203  	}
  1204  	return mi.MessageOf(x)
  1205  }
  1206  
  1207  // Deprecated: Use AppengineState_IntendedState_DeployableYaml.ProtoReflect.Descriptor instead.
  1208  func (*AppengineState_IntendedState_DeployableYaml) Descriptor() ([]byte, []int) {
  1209  	return file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_rawDescGZIP(), []int{4, 1, 0}
  1210  }
  1211  
  1212  func (x *AppengineState_IntendedState_DeployableYaml) GetArtifact() *ArtifactID {
  1213  	if x != nil {
  1214  		return x.Artifact
  1215  	}
  1216  	return nil
  1217  }
  1218  
  1219  func (x *AppengineState_IntendedState_DeployableYaml) GetYamlPath() string {
  1220  	if x != nil {
  1221  		return x.YamlPath
  1222  	}
  1223  	return ""
  1224  }
  1225  
  1226  var File_go_chromium_org_luci_deploy_api_modelpb_asset_proto protoreflect.FileDescriptor
  1227  
  1228  var file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_rawDesc = []byte{
  1229  	0x0a, 0x33, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
  1230  	0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x2f, 0x61, 0x70,
  1231  	0x69, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x70, 0x62, 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e,
  1232  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x2e, 0x6d, 0x6f,
  1233  	0x64, 0x65, 0x6c, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
  1234  	0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70,
  1235  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63,
  1236  	0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x37, 0x67,
  1237  	0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c,
  1238  	0x75, 0x63, 0x69, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d,
  1239  	0x6f, 0x64, 0x65, 0x6c, 0x70, 0x62, 0x2f, 0x61, 0x63, 0x74, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  1240  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d,
  1241  	0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x64, 0x65, 0x70,
  1242  	0x6c, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x70, 0x62, 0x2f,
  1243  	0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x38,
  1244  	0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f,
  1245  	0x6c, 0x75, 0x63, 0x69, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f,
  1246  	0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x70, 0x62, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65,
  1247  	0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbe, 0x05, 0x0a, 0x05, 0x41, 0x73, 0x73,
  1248  	0x65, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
  1249  	0x69, 0x64, 0x12, 0x3e, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x75, 0x61,
  1250  	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x65, 0x70,
  1251  	0x6c, 0x6f, 0x79, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x63, 0x74, 0x75, 0x61, 0x74,
  1252  	0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x41, 0x63, 0x74, 0x75, 0x61, 0x74, 0x69,
  1253  	0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x64, 0x65, 0x63, 0x69, 0x73,
  1254  	0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x65, 0x70, 0x6c,
  1255  	0x6f, 0x79, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x63, 0x74, 0x75, 0x61, 0x74, 0x69,
  1256  	0x6f, 0x6e, 0x44, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74,
  1257  	0x44, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x16, 0x6c, 0x61, 0x73, 0x74,
  1258  	0x5f, 0x61, 0x63, 0x74, 0x75, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x75, 0x61, 0x74, 0x69,
  1259  	0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f,
  1260  	0x79, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x63, 0x74, 0x75, 0x61, 0x74, 0x69, 0x6f,
  1261  	0x6e, 0x52, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x41, 0x63, 0x74, 0x75, 0x61, 0x74, 0x65, 0x41, 0x63,
  1262  	0x74, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x15, 0x6c, 0x61, 0x73, 0x74, 0x5f,
  1263  	0x61, 0x63, 0x74, 0x75, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e,
  1264  	0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x2e,
  1265  	0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x63, 0x74, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44,
  1266  	0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x41, 0x63, 0x74,
  1267  	0x75, 0x61, 0x74, 0x65, 0x44, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x06,
  1268  	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64,
  1269  	0x65, 0x70, 0x6c, 0x6f, 0x79, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x73, 0x73, 0x65,
  1270  	0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
  1271  	0x3f, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74,
  1272  	0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79,
  1273  	0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74,
  1274  	0x65, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65,
  1275  	0x12, 0x3d, 0x0a, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74,
  1276  	0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79,
  1277  	0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74,
  1278  	0x65, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12,
  1279  	0x3f, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74,
  1280  	0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79,
  1281  	0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74,
  1282  	0x65, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65,
  1283  	0x12, 0x3f, 0x0a, 0x0e, 0x61, 0x63, 0x74, 0x75, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61,
  1284  	0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f,
  1285  	0x79, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61,
  1286  	0x74, 0x65, 0x52, 0x0d, 0x61, 0x63, 0x74, 0x75, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74,
  1287  	0x65, 0x12, 0x46, 0x0a, 0x15, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x75, 0x61, 0x74,
  1288  	0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b,
  1289  	0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74,
  1290  	0x61, 0x74, 0x75, 0x73, 0x52, 0x13, 0x70, 0x6f, 0x73, 0x74, 0x41, 0x63, 0x74, 0x75, 0x61, 0x74,
  1291  	0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xc3, 0x04, 0x0a, 0x0c, 0x41, 0x73,
  1292  	0x73, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x73,
  1293  	0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x73,
  1294  	0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79,
  1295  	0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x68, 0x69, 0x73, 0x74, 0x6f,
  1296  	0x72, 0x79, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x08, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e,
  1297  	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x2e,
  1298  	0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x63, 0x74, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44,
  1299  	0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f,
  1300  	0x6e, 0x12, 0x35, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04,
  1301  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x2e, 0x6d, 0x6f,
  1302  	0x64, 0x65, 0x6c, 0x2e, 0x41, 0x63, 0x74, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x61,
  1303  	0x63, 0x74, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66,
  1304  	0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f,
  1305  	0x79, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e,
  1306  	0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3f, 0x0a, 0x0e, 0x69,
  1307  	0x6e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20,
  1308  	0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x2e, 0x6d, 0x6f, 0x64,
  1309  	0x65, 0x6c, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x69,
  1310  	0x6e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0e,
  1311  	0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07,
  1312  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x2e, 0x6d, 0x6f,
  1313  	0x64, 0x65, 0x6c, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d,
  1314  	0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x46, 0x0a,
  1315  	0x12, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x5f, 0x73, 0x74,
  1316  	0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x65, 0x70, 0x6c,
  1317  	0x6f, 0x79, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x74,
  1318  	0x61, 0x74, 0x65, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64,
  1319  	0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4a, 0x0a, 0x14, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x61, 0x63,
  1320  	0x74, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20,
  1321  	0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x2e, 0x6d, 0x6f, 0x64,
  1322  	0x65, 0x6c, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x12, 0x70,
  1323  	0x6f, 0x73, 0x74, 0x41, 0x63, 0x74, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74,
  1324  	0x65, 0x12, 0x3c, 0x0a, 0x1a, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65,
  1325  	0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x18,
  1326  	0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x18, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x73,
  1327  	0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x22,
  1328  	0x75, 0x0a, 0x0b, 0x41, 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2b,
  1329  	0x0a, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74,
  1330  	0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c,
  1331  	0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x19, 0x69,
  1332  	0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73,
  1333  	0x5f, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16,
  1334  	0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73,
  1335  	0x54, 0x6f, 0x4b, 0x65, 0x65, 0x70, 0x22, 0xab, 0x02, 0x0a, 0x0a, 0x41, 0x73, 0x73, 0x65, 0x74,
  1336  	0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
  1337  	0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  1338  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
  1339  	0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12,
  1340  	0x38, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20,
  1341  	0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x2e, 0x6d, 0x6f, 0x64,
  1342  	0x65, 0x6c, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x64,
  1343  	0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x61, 0x63, 0x74,
  1344  	0x75, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x65,
  1345  	0x70, 0x6c, 0x6f, 0x79, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x63, 0x74, 0x75, 0x61,
  1346  	0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x61, 0x63, 0x74, 0x75, 0x61, 0x74, 0x6f,
  1347  	0x72, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
  1348  	0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53,
  1349  	0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3c, 0x0a,
  1350  	0x09, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b,
  1351  	0x32, 0x1c, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e,
  1352  	0x41, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00,
  1353  	0x52, 0x09, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x73,
  1354  	0x74, 0x61, 0x74, 0x65, 0x22, 0x8e, 0x10, 0x0a, 0x0e, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69,
  1355  	0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x40, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69,
  1356  	0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x64, 0x65, 0x70, 0x6c,
  1357  	0x6f, 0x79, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69,
  1358  	0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52,
  1359  	0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x0e, 0x69, 0x6e, 0x74,
  1360  	0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
  1361  	0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
  1362  	0x2e, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e,
  1363  	0x49, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x69,
  1364  	0x6e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x51, 0x0a, 0x0e,
  1365  	0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03,
  1366  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x2e, 0x6d, 0x6f,
  1367  	0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61,
  1368  	0x74, 0x65, 0x2e, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65,
  1369  	0x52, 0x0d, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x1a,
  1370  	0xfe, 0x09, 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e,
  1371  	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
  1372  	0x48, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
  1373  	0x0b, 0x32, 0x2c, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
  1374  	0x2e, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e,
  1375  	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52,
  1376  	0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x62, 0x0a, 0x11, 0x74, 0x72, 0x61,
  1377  	0x66, 0x66, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03,
  1378  	0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x2e, 0x6d, 0x6f,
  1379  	0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61,
  1380  	0x74, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66,
  1381  	0x69, 0x63, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x74, 0x72, 0x61,
  1382  	0x66, 0x66, 0x69, 0x63, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x6a, 0x0a,
  1383  	0x12, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74,
  1384  	0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x64, 0x65, 0x70, 0x6c,
  1385  	0x6f, 0x79, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69,
  1386  	0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e,
  1387  	0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
  1388  	0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x41,
  1389  	0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xa7, 0x06, 0x0a, 0x07, 0x56, 0x65,
  1390  	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
  1391  	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x61, 0x0a, 0x0e, 0x69, 0x6e, 0x74,
  1392  	0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
  1393  	0x0b, 0x32, 0x3a, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
  1394  	0x2e, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e,
  1395  	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
  1396  	0x49, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x69,
  1397  	0x6e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x61, 0x0a, 0x0e,
  1398  	0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03,
  1399  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x2e, 0x6d, 0x6f,
  1400  	0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61,
  1401  	0x74, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69,
  1402  	0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65,
  1403  	0x52, 0x0d, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x1a,
  1404  	0x86, 0x02, 0x0a, 0x0d, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74,
  1405  	0x65, 0x12, 0x34, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20,
  1406  	0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x2e, 0x6d, 0x6f, 0x64,
  1407  	0x65, 0x6c, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x49, 0x44, 0x52, 0x08, 0x61,
  1408  	0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x79, 0x61, 0x6d, 0x6c, 0x5f,
  1409  	0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x79, 0x61, 0x6d, 0x6c,
  1410  	0x50, 0x61, 0x74, 0x68, 0x12, 0x65, 0x0a, 0x09, 0x6c, 0x75, 0x63, 0x69, 0x5f, 0x76, 0x61, 0x72,
  1411  	0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79,
  1412  	0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65,
  1413  	0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x56, 0x65,
  1414  	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x53, 0x74,
  1415  	0x61, 0x74, 0x65, 0x2e, 0x4c, 0x75, 0x63, 0x69, 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72,
  1416  	0x79, 0x52, 0x08, 0x6c, 0x75, 0x63, 0x69, 0x56, 0x61, 0x72, 0x73, 0x1a, 0x3b, 0x0a, 0x0d, 0x4c,
  1417  	0x75, 0x63, 0x69, 0x56, 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
  1418  	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
  1419  	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
  1420  	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xb8, 0x02, 0x0a, 0x0d, 0x43, 0x61, 0x70,
  1421  	0x74, 0x75, 0x72, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e,
  1422  	0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01,
  1423  	0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73,
  1424  	0x73, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
  1425  	0x65, 0x6e, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03,
  1426  	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a,
  1427  	0x0f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
  1428  	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43,
  1429  	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d,
  1430  	0x65, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20,
  1431  	0x01, 0x28, 0x09, 0x52, 0x11, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x41, 0x70, 0x69, 0x56,
  1432  	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
  1433  	0x64, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61,
  1434  	0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f,
  1435  	0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
  1436  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
  1437  	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69,
  1438  	0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x72,
  1439  	0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
  1440  	0x55, 0x72, 0x6c, 0x1a, 0x44, 0x0a, 0x16, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x41, 0x6c,
  1441  	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
  1442  	0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
  1443  	0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
  1444  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x55, 0x0a, 0x10, 0x54, 0x72, 0x61,
  1445  	0x66, 0x66, 0x69, 0x63, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a,
  1446  	0x1d, 0x54, 0x52, 0x41, 0x46, 0x46, 0x49, 0x43, 0x5f, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x54, 0x49,
  1447  	0x4e, 0x47, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00,
  1448  	0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4f, 0x4f, 0x4b, 0x49, 0x45, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02,
  1449  	0x49, 0x50, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0x03,
  1450  	0x1a, 0xda, 0x01, 0x0a, 0x0d, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x53, 0x74, 0x61,
  1451  	0x74, 0x65, 0x12, 0x64, 0x0a, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x61, 0x62, 0x6c, 0x65,
  1452  	0x5f, 0x79, 0x61, 0x6d, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x64,
  1453  	0x65, 0x70, 0x6c, 0x6f, 0x79, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x65,
  1454  	0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e,
  1455  	0x64, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x61,
  1456  	0x62, 0x6c, 0x65, 0x59, 0x61, 0x6d, 0x6c, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x61,
  1457  	0x62, 0x6c, 0x65, 0x59, 0x61, 0x6d, 0x6c, 0x73, 0x1a, 0x63, 0x0a, 0x0e, 0x44, 0x65, 0x70, 0x6c,
  1458  	0x6f, 0x79, 0x61, 0x62, 0x6c, 0x65, 0x59, 0x61, 0x6d, 0x6c, 0x12, 0x34, 0x0a, 0x08, 0x61, 0x72,
  1459  	0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64,
  1460  	0x65, 0x70, 0x6c, 0x6f, 0x79, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x72, 0x74, 0x69,
  1461  	0x66, 0x61, 0x63, 0x74, 0x49, 0x44, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74,
  1462  	0x12, 0x1b, 0x0a, 0x09, 0x79, 0x61, 0x6d, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20,
  1463  	0x01, 0x28, 0x09, 0x52, 0x08, 0x79, 0x61, 0x6d, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x1a, 0xb5, 0x02,
  1464  	0x0a, 0x0d, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12,
  1465  	0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01,
  1466  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64,
  1467  	0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74,
  1468  	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61,
  1469  	0x75, 0x6c, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5c, 0x0a, 0x0d, 0x64,
  1470  	0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01,
  1471  	0x28, 0x0e, 0x32, 0x37, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x2e, 0x6d, 0x6f, 0x64, 0x65,
  1472  	0x6c, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65,
  1473  	0x2e, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x44,
  1474  	0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x64, 0x61, 0x74,
  1475  	0x61, 0x62, 0x61, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x7a, 0x0a, 0x0c, 0x44, 0x61, 0x74,
  1476  	0x61, 0x62, 0x61, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x41, 0x54,
  1477  	0x41, 0x42, 0x41, 0x53, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
  1478  	0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4c, 0x4f, 0x55,
  1479  	0x44, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x10, 0x01, 0x12, 0x13, 0x0a,
  1480  	0x0f, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x46, 0x49, 0x52, 0x45, 0x53, 0x54, 0x4f, 0x52, 0x45,
  1481  	0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x44, 0x41, 0x54, 0x41,
  1482  	0x53, 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x54, 0x49, 0x42, 0x49, 0x4c,
  1483  	0x49, 0x54, 0x59, 0x10, 0x03, 0x42, 0x29, 0x5a, 0x27, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f,
  1484  	0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x64, 0x65,
  1485  	0x70, 0x6c, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x70, 0x62,
  1486  	0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  1487  }
  1488  
  1489  var (
  1490  	file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_rawDescOnce sync.Once
  1491  	file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_rawDescData = file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_rawDesc
  1492  )
  1493  
  1494  func file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_rawDescGZIP() []byte {
  1495  	file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_rawDescOnce.Do(func() {
  1496  		file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_rawDescData)
  1497  	})
  1498  	return file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_rawDescData
  1499  }
  1500  
  1501  var file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
  1502  var file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes = make([]protoimpl.MessageInfo, 14)
  1503  var file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_goTypes = []interface{}{
  1504  	(AppengineState_Service_TrafficSplitting)(0),   // 0: deploy.model.AppengineState.Service.TrafficSplitting
  1505  	(AppengineState_CapturedState_DatabaseType)(0), // 1: deploy.model.AppengineState.CapturedState.DatabaseType
  1506  	(*Asset)(nil),                          // 2: deploy.model.Asset
  1507  	(*AssetHistory)(nil),                   // 3: deploy.model.AssetHistory
  1508  	(*AssetConfig)(nil),                    // 4: deploy.model.AssetConfig
  1509  	(*AssetState)(nil),                     // 5: deploy.model.AssetState
  1510  	(*AppengineState)(nil),                 // 6: deploy.model.AppengineState
  1511  	(*AppengineState_Service)(nil),         // 7: deploy.model.AppengineState.Service
  1512  	(*AppengineState_IntendedState)(nil),   // 8: deploy.model.AppengineState.IntendedState
  1513  	(*AppengineState_CapturedState)(nil),   // 9: deploy.model.AppengineState.CapturedState
  1514  	(*AppengineState_Service_Version)(nil), // 10: deploy.model.AppengineState.Service.Version
  1515  	nil,                                    // 11: deploy.model.AppengineState.Service.TrafficAllocationEntry
  1516  	(*AppengineState_Service_Version_IntendedState)(nil), // 12: deploy.model.AppengineState.Service.Version.IntendedState
  1517  	(*AppengineState_Service_Version_CapturedState)(nil), // 13: deploy.model.AppengineState.Service.Version.CapturedState
  1518  	nil, // 14: deploy.model.AppengineState.Service.Version.IntendedState.LuciVarsEntry
  1519  	(*AppengineState_IntendedState_DeployableYaml)(nil), // 15: deploy.model.AppengineState.IntendedState.DeployableYaml
  1520  	(*Actuation)(nil),             // 16: deploy.model.Actuation
  1521  	(*ActuationDecision)(nil),     // 17: deploy.model.ActuationDecision
  1522  	(*status.Status)(nil),         // 18: google.rpc.Status
  1523  	(*timestamppb.Timestamp)(nil), // 19: google.protobuf.Timestamp
  1524  	(*Deployment)(nil),            // 20: deploy.model.Deployment
  1525  	(*ActuatorInfo)(nil),          // 21: deploy.model.ActuatorInfo
  1526  	(*ArtifactID)(nil),            // 22: deploy.model.ArtifactID
  1527  }
  1528  var file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_depIdxs = []int32{
  1529  	16, // 0: deploy.model.Asset.last_actuation:type_name -> deploy.model.Actuation
  1530  	17, // 1: deploy.model.Asset.last_decision:type_name -> deploy.model.ActuationDecision
  1531  	16, // 2: deploy.model.Asset.last_actuate_actuation:type_name -> deploy.model.Actuation
  1532  	17, // 3: deploy.model.Asset.last_actuate_decision:type_name -> deploy.model.ActuationDecision
  1533  	4,  // 4: deploy.model.Asset.config:type_name -> deploy.model.AssetConfig
  1534  	5,  // 5: deploy.model.Asset.intended_state:type_name -> deploy.model.AssetState
  1535  	5,  // 6: deploy.model.Asset.applied_state:type_name -> deploy.model.AssetState
  1536  	5,  // 7: deploy.model.Asset.reported_state:type_name -> deploy.model.AssetState
  1537  	5,  // 8: deploy.model.Asset.actuated_state:type_name -> deploy.model.AssetState
  1538  	18, // 9: deploy.model.Asset.post_actuation_status:type_name -> google.rpc.Status
  1539  	17, // 10: deploy.model.AssetHistory.decision:type_name -> deploy.model.ActuationDecision
  1540  	16, // 11: deploy.model.AssetHistory.actuation:type_name -> deploy.model.Actuation
  1541  	4,  // 12: deploy.model.AssetHistory.config:type_name -> deploy.model.AssetConfig
  1542  	5,  // 13: deploy.model.AssetHistory.intended_state:type_name -> deploy.model.AssetState
  1543  	5,  // 14: deploy.model.AssetHistory.reported_state:type_name -> deploy.model.AssetState
  1544  	5,  // 15: deploy.model.AssetHistory.last_applied_state:type_name -> deploy.model.AssetState
  1545  	5,  // 16: deploy.model.AssetHistory.post_actuation_state:type_name -> deploy.model.AssetState
  1546  	19, // 17: deploy.model.AssetState.timestamp:type_name -> google.protobuf.Timestamp
  1547  	20, // 18: deploy.model.AssetState.deployment:type_name -> deploy.model.Deployment
  1548  	21, // 19: deploy.model.AssetState.actuator:type_name -> deploy.model.ActuatorInfo
  1549  	18, // 20: deploy.model.AssetState.status:type_name -> google.rpc.Status
  1550  	6,  // 21: deploy.model.AssetState.appengine:type_name -> deploy.model.AppengineState
  1551  	7,  // 22: deploy.model.AppengineState.services:type_name -> deploy.model.AppengineState.Service
  1552  	8,  // 23: deploy.model.AppengineState.intended_state:type_name -> deploy.model.AppengineState.IntendedState
  1553  	9,  // 24: deploy.model.AppengineState.captured_state:type_name -> deploy.model.AppengineState.CapturedState
  1554  	10, // 25: deploy.model.AppengineState.Service.versions:type_name -> deploy.model.AppengineState.Service.Version
  1555  	0,  // 26: deploy.model.AppengineState.Service.traffic_splitting:type_name -> deploy.model.AppengineState.Service.TrafficSplitting
  1556  	11, // 27: deploy.model.AppengineState.Service.traffic_allocation:type_name -> deploy.model.AppengineState.Service.TrafficAllocationEntry
  1557  	15, // 28: deploy.model.AppengineState.IntendedState.deployable_yamls:type_name -> deploy.model.AppengineState.IntendedState.DeployableYaml
  1558  	1,  // 29: deploy.model.AppengineState.CapturedState.database_type:type_name -> deploy.model.AppengineState.CapturedState.DatabaseType
  1559  	12, // 30: deploy.model.AppengineState.Service.Version.intended_state:type_name -> deploy.model.AppengineState.Service.Version.IntendedState
  1560  	13, // 31: deploy.model.AppengineState.Service.Version.captured_state:type_name -> deploy.model.AppengineState.Service.Version.CapturedState
  1561  	22, // 32: deploy.model.AppengineState.Service.Version.IntendedState.artifact:type_name -> deploy.model.ArtifactID
  1562  	14, // 33: deploy.model.AppengineState.Service.Version.IntendedState.luci_vars:type_name -> deploy.model.AppengineState.Service.Version.IntendedState.LuciVarsEntry
  1563  	19, // 34: deploy.model.AppengineState.Service.Version.CapturedState.create_time:type_name -> google.protobuf.Timestamp
  1564  	22, // 35: deploy.model.AppengineState.IntendedState.DeployableYaml.artifact:type_name -> deploy.model.ArtifactID
  1565  	36, // [36:36] is the sub-list for method output_type
  1566  	36, // [36:36] is the sub-list for method input_type
  1567  	36, // [36:36] is the sub-list for extension type_name
  1568  	36, // [36:36] is the sub-list for extension extendee
  1569  	0,  // [0:36] is the sub-list for field type_name
  1570  }
  1571  
  1572  func init() { file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_init() }
  1573  func file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_init() {
  1574  	if File_go_chromium_org_luci_deploy_api_modelpb_asset_proto != nil {
  1575  		return
  1576  	}
  1577  	file_go_chromium_org_luci_deploy_api_modelpb_actuation_proto_init()
  1578  	file_go_chromium_org_luci_deploy_api_modelpb_artifact_proto_init()
  1579  	file_go_chromium_org_luci_deploy_api_modelpb_deployment_proto_init()
  1580  	if !protoimpl.UnsafeEnabled {
  1581  		file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  1582  			switch v := v.(*Asset); i {
  1583  			case 0:
  1584  				return &v.state
  1585  			case 1:
  1586  				return &v.sizeCache
  1587  			case 2:
  1588  				return &v.unknownFields
  1589  			default:
  1590  				return nil
  1591  			}
  1592  		}
  1593  		file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  1594  			switch v := v.(*AssetHistory); i {
  1595  			case 0:
  1596  				return &v.state
  1597  			case 1:
  1598  				return &v.sizeCache
  1599  			case 2:
  1600  				return &v.unknownFields
  1601  			default:
  1602  				return nil
  1603  			}
  1604  		}
  1605  		file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1606  			switch v := v.(*AssetConfig); i {
  1607  			case 0:
  1608  				return &v.state
  1609  			case 1:
  1610  				return &v.sizeCache
  1611  			case 2:
  1612  				return &v.unknownFields
  1613  			default:
  1614  				return nil
  1615  			}
  1616  		}
  1617  		file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1618  			switch v := v.(*AssetState); i {
  1619  			case 0:
  1620  				return &v.state
  1621  			case 1:
  1622  				return &v.sizeCache
  1623  			case 2:
  1624  				return &v.unknownFields
  1625  			default:
  1626  				return nil
  1627  			}
  1628  		}
  1629  		file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1630  			switch v := v.(*AppengineState); i {
  1631  			case 0:
  1632  				return &v.state
  1633  			case 1:
  1634  				return &v.sizeCache
  1635  			case 2:
  1636  				return &v.unknownFields
  1637  			default:
  1638  				return nil
  1639  			}
  1640  		}
  1641  		file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1642  			switch v := v.(*AppengineState_Service); i {
  1643  			case 0:
  1644  				return &v.state
  1645  			case 1:
  1646  				return &v.sizeCache
  1647  			case 2:
  1648  				return &v.unknownFields
  1649  			default:
  1650  				return nil
  1651  			}
  1652  		}
  1653  		file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1654  			switch v := v.(*AppengineState_IntendedState); i {
  1655  			case 0:
  1656  				return &v.state
  1657  			case 1:
  1658  				return &v.sizeCache
  1659  			case 2:
  1660  				return &v.unknownFields
  1661  			default:
  1662  				return nil
  1663  			}
  1664  		}
  1665  		file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  1666  			switch v := v.(*AppengineState_CapturedState); i {
  1667  			case 0:
  1668  				return &v.state
  1669  			case 1:
  1670  				return &v.sizeCache
  1671  			case 2:
  1672  				return &v.unknownFields
  1673  			default:
  1674  				return nil
  1675  			}
  1676  		}
  1677  		file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  1678  			switch v := v.(*AppengineState_Service_Version); i {
  1679  			case 0:
  1680  				return &v.state
  1681  			case 1:
  1682  				return &v.sizeCache
  1683  			case 2:
  1684  				return &v.unknownFields
  1685  			default:
  1686  				return nil
  1687  			}
  1688  		}
  1689  		file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  1690  			switch v := v.(*AppengineState_Service_Version_IntendedState); i {
  1691  			case 0:
  1692  				return &v.state
  1693  			case 1:
  1694  				return &v.sizeCache
  1695  			case 2:
  1696  				return &v.unknownFields
  1697  			default:
  1698  				return nil
  1699  			}
  1700  		}
  1701  		file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  1702  			switch v := v.(*AppengineState_Service_Version_CapturedState); i {
  1703  			case 0:
  1704  				return &v.state
  1705  			case 1:
  1706  				return &v.sizeCache
  1707  			case 2:
  1708  				return &v.unknownFields
  1709  			default:
  1710  				return nil
  1711  			}
  1712  		}
  1713  		file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  1714  			switch v := v.(*AppengineState_IntendedState_DeployableYaml); i {
  1715  			case 0:
  1716  				return &v.state
  1717  			case 1:
  1718  				return &v.sizeCache
  1719  			case 2:
  1720  				return &v.unknownFields
  1721  			default:
  1722  				return nil
  1723  			}
  1724  		}
  1725  	}
  1726  	file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes[3].OneofWrappers = []interface{}{
  1727  		(*AssetState_Appengine)(nil),
  1728  	}
  1729  	type x struct{}
  1730  	out := protoimpl.TypeBuilder{
  1731  		File: protoimpl.DescBuilder{
  1732  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1733  			RawDescriptor: file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_rawDesc,
  1734  			NumEnums:      2,
  1735  			NumMessages:   14,
  1736  			NumExtensions: 0,
  1737  			NumServices:   0,
  1738  		},
  1739  		GoTypes:           file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_goTypes,
  1740  		DependencyIndexes: file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_depIdxs,
  1741  		EnumInfos:         file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_enumTypes,
  1742  		MessageInfos:      file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_msgTypes,
  1743  	}.Build()
  1744  	File_go_chromium_org_luci_deploy_api_modelpb_asset_proto = out.File
  1745  	file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_rawDesc = nil
  1746  	file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_goTypes = nil
  1747  	file_go_chromium_org_luci_deploy_api_modelpb_asset_proto_depIdxs = nil
  1748  }