github.com/tilt-dev/tilt@v0.36.0/web/src/view.d.ts (about)

     1  // Autogenerated: DO NOT EDIT
     2  declare namespace Proto {
     3    export interface webviewView {
     4      log?: string;
     5      resources?: webviewResource[];
     6      /**
     7       * We used to have a setting that allowed users to dynamically
     8       * prepend timestamps in logs.
     9       */
    10      DEPRECATEDLogTimestamps?: boolean;
    11      featureFlags?: object;
    12      needsAnalyticsNudge?: boolean;
    13      runningTiltBuild?: webviewTiltBuild;
    14      DEPRECATEDLatestTiltBuild?: webviewTiltBuild;
    15      suggestedTiltVersion?: string;
    16      versionSettings?: webviewVersionSettings;
    17      tiltCloudUsername?: string;
    18      tiltCloudTeamName?: string;
    19      tiltCloudSchemeHost?: string;
    20      tiltCloudTeamID?: string;
    21      fatalError?: string;
    22      logList?: webviewLogList;
    23      /**
    24       * Allows us to synchronize on a running Tilt instance,
    25       * so we can tell when Tilt restarted.
    26       */
    27      tiltStartTime?: string;
    28      tiltfileKey?: string;
    29      /**
    30       * New API-server based data models.
    31       */
    32      uiSession?: v1alpha1UISession;
    33      uiResources?: v1alpha1UIResource[];
    34      uiButtons?: v1alpha1UIButton[];
    35      clusters?: v1alpha1Cluster[];
    36      /**
    37       * indicates that this view is a complete representation of the app
    38       * if false, this view just contains deltas from a previous view.
    39       */
    40      isComplete?: boolean;
    41    }
    42    export interface webviewVersionSettings {
    43      checkUpdates?: boolean;
    44    }
    45    export interface webviewUploadSnapshotResponse {
    46      url?: string;
    47    }
    48    export interface webviewTiltBuild {
    49      version?: string;
    50      commitSHA?: string;
    51      date?: string;
    52      dev?: boolean;
    53    }
    54    export interface webviewTargetSpec {
    55      id?: string;
    56      type?: string;
    57      hasLiveUpdate?: boolean;
    58    }
    59    export interface webviewSnapshotHighlight {
    60      beginningLogID?: string;
    61      endingLogID?: string;
    62      text?: string;
    63    }
    64    export interface webviewSnapshot {
    65      view?: webviewView;
    66      isSidebarClosed?: boolean;
    67      path?: string;
    68      snapshotHighlight?: webviewSnapshotHighlight;
    69      snapshotLink?: string;
    70      createdAt?: string;
    71    }
    72    export interface webviewResource {
    73      name?: string;
    74      lastDeployTime?: string;
    75      triggerMode?: number;
    76      buildHistory?: webviewBuildRecord[];
    77      currentBuild?: webviewBuildRecord;
    78      pendingBuildSince?: string;
    79      hasPendingChanges?: boolean;
    80      endpointLinks?: webviewLink[];
    81      podID?: string;
    82      k8sResourceInfo?: webviewK8sResourceInfo;
    83      localResourceInfo?: webviewLocalResourceInfo;
    84      runtimeStatus?: string;
    85      updateStatus?: string;
    86      isTiltfile?: boolean;
    87      specs?: webviewTargetSpec[];
    88      queued?: boolean;
    89    }
    90    export interface webviewLogSpan {
    91      manifestName?: string;
    92    }
    93    export interface webviewLogSegment {
    94      spanId?: string;
    95      time?: string;
    96      text?: string;
    97      level?: string;
    98      /**
    99       * When we store warnings in the LogStore, we break them up into lines and
   100       * store them as a series of line segments. 'anchor' marks the beginning of a
   101       * series of logs that should be kept together.
   102       *
   103       * Anchor warning1, line1
   104       *        warning1, line2
   105       * Anchor warning2, line1
   106       */
   107      anchor?: boolean;
   108      /**
   109       * Context-specific optional fields for a log segment.
   110       * Used for experimenting with new types of log metadata.
   111       */
   112      fields?: object;
   113    }
   114    export interface webviewLogList {
   115      spans?: object;
   116      segments?: webviewLogSegment[];
   117      /**
   118       * [from_checkpoint, to_checkpoint)
   119       *
   120       * An interval of [0, 0) means that the server isn't using
   121       * the incremental load protocol.
   122       *
   123       * An interval of [-1, -1) means that the server doesn't have new logs
   124       * to send down.
   125       */
   126      fromCheckpoint?: number;
   127      toCheckpoint?: number;
   128    }
   129    export interface webviewLocalResourceInfo {
   130      pid?: string;
   131      isTest?: boolean;
   132    }
   133    export interface webviewLink {
   134      url?: string;
   135      name?: string;
   136    }
   137    export interface webviewK8sResourceInfo {
   138      podName?: string;
   139      podCreationTime?: string;
   140      podUpdateStartTime?: string;
   141      podStatus?: string;
   142      podStatusMessage?: string;
   143      allContainersReady?: boolean;
   144      podRestarts?: number;
   145      spanId?: string;
   146      displayNames?: string[];
   147    }
   148    export interface webviewBuildRecord {
   149      error?: string;
   150      warnings?: string[];
   151      startTime?: string;
   152      finishTime?: string;
   153      isCrashRebuild?: boolean;
   154      /**
   155       * The span id for this build record's logs in the main logstore.
   156       */
   157      spanId?: string;
   158    }
   159    export interface webviewAckWebsocketResponse {}
   160    export interface webviewAckWebsocketRequest {
   161      toCheckpoint?: number;
   162      /**
   163       * Allows us to synchronize on a running Tilt instance,
   164       * so we can tell when we're talking to the same Tilt.
   165       */
   166      tiltStartTime?: string;
   167    }
   168    export interface v1Time {
   169      /**
   170       * Represents seconds of UTC time since Unix epoch
   171       * 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
   172       * 9999-12-31T23:59:59Z inclusive.
   173       */
   174      seconds?: string;
   175      /**
   176       * Non-negative fractions of a second at nanosecond resolution. Negative
   177       * second values with fractions must still have non-negative nanos values
   178       * that count forward in time. Must be from 0 to 999,999,999
   179       * inclusive. This field may be limited in precision depending on context.
   180       */
   181      nanos?: number;
   182    }
   183    export interface v1OwnerReference {
   184      /**
   185       * API version of the referent.
   186       */
   187      apiVersion?: string;
   188      kind?: string;
   189      name?: string;
   190      uid?: string;
   191      controller?: boolean;
   192      blockOwnerDeletion?: boolean;
   193    }
   194    export interface v1ObjectMeta {
   195      name?: string;
   196      /**
   197       * GenerateName is an optional prefix, used by the server, to generate a unique
   198       * name ONLY IF the Name field has not been provided.
   199       * If this field is used, the name returned to the client will be different
   200       * than the name passed. This value will also be combined with a unique suffix.
   201       * The provided value has the same validation rules as the Name field,
   202       * and may be truncated by the length of the suffix required to make the value
   203       * unique on the server.
   204       *
   205       * If this field is specified and the generated name exists, the server will return a 409.
   206       *
   207       * Applied only if Name is not specified.
   208       * More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency
   209       * +optional
   210       */
   211      generateName?: string;
   212      /**
   213       * Namespace defines the space within which each name must be unique. An empty namespace is
   214       * equivalent to the "default" namespace, but "default" is the canonical representation.
   215       * Not all objects are required to be scoped to a namespace - the value of this field for
   216       * those objects will be empty.
   217       *
   218       * Must be a DNS_LABEL.
   219       * Cannot be updated.
   220       * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces
   221       * +optional
   222       */
   223      namespace?: string;
   224      selfLink?: string;
   225      /**
   226       * UID is the unique in time and space value for this object. It is typically generated by
   227       * the server on successful creation of a resource and is not allowed to change on PUT
   228       * operations.
   229       *
   230       * Populated by the system.
   231       * Read-only.
   232       * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids
   233       * +optional
   234       */
   235      uid?: string;
   236      /**
   237       * An opaque value that represents the internal version of this object that can
   238       * be used by clients to determine when objects have changed. May be used for optimistic
   239       * concurrency, change detection, and the watch operation on a resource or set of resources.
   240       * Clients must treat these values as opaque and passed unmodified back to the server.
   241       * They may only be valid for a particular resource or set of resources.
   242       *
   243       * Populated by the system.
   244       * Read-only.
   245       * Value must be treated as opaque by clients and .
   246       * More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
   247       * +optional
   248       */
   249      resourceVersion?: string;
   250      generation?: string;
   251      /**
   252       * CreationTimestamp is a timestamp representing the server time when this object was
   253       * created. It is not guaranteed to be set in happens-before order across separate operations.
   254       * Clients may not set this value. It is represented in RFC3339 form and is in UTC.
   255       *
   256       * Populated by the system.
   257       * Read-only.
   258       * Null for lists.
   259       * More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
   260       * +optional
   261       */
   262      creationTimestamp?: string;
   263      /**
   264       * DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This
   265       * field is set by the server when a graceful deletion is requested by the user, and is not
   266       * directly settable by a client. The resource is expected to be deleted (no longer visible
   267       * from resource lists, and not reachable by name) after the time in this field, once the
   268       * finalizers list is empty. As long as the finalizers list contains items, deletion is blocked.
   269       * Once the deletionTimestamp is set, this value may not be unset or be set further into the
   270       * future, although it may be shortened or the resource may be deleted prior to this time.
   271       * For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react
   272       * by sending a graceful termination signal to the containers in the pod. After that 30 seconds,
   273       * the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup,
   274       * remove the pod from the API. In the presence of network partitions, this object may still
   275       * exist after this timestamp, until an administrator or automated process can determine the
   276       * resource is fully terminated.
   277       * If not set, graceful deletion of the object has not been requested.
   278       *
   279       * Populated by the system when a graceful deletion is requested.
   280       * Read-only.
   281       * More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
   282       * +optional
   283       */
   284      deletionTimestamp?: string;
   285      deletionGracePeriodSeconds?: string;
   286      labels?: object;
   287      annotations?: object;
   288      ownerReferences?: v1OwnerReference[];
   289      finalizers?: string[];
   290      /**
   291       * ManagedFields maps workflow-id and version to the set of fields
   292       * that are managed by that workflow. This is mostly for internal
   293       * housekeeping, and users typically shouldn't need to set or
   294       * understand this field. A workflow can be the user's name, a
   295       * controller's name, or the name of a specific apply path like
   296       * "ci-cd". The set of fields is always in the version that the
   297       * workflow used when modifying the object.
   298       *
   299       * +optional
   300       * +listType=atomic
   301       */
   302      managedFields?: v1ManagedFieldsEntry[];
   303    }
   304    export interface v1MicroTime {
   305      /**
   306       * Represents seconds of UTC time since Unix epoch
   307       * 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
   308       * 9999-12-31T23:59:59Z inclusive.
   309       */
   310      seconds?: string;
   311      /**
   312       * Non-negative fractions of a second at nanosecond resolution. Negative
   313       * second values with fractions must still have non-negative nanos values
   314       * that count forward in time. Must be from 0 to 999,999,999
   315       * inclusive. This field may be limited in precision depending on context.
   316       */
   317      nanos?: number;
   318    }
   319    export interface v1ManagedFieldsEntry {
   320      /**
   321       * Manager is an identifier of the workflow managing these fields.
   322       */
   323      manager?: string;
   324      /**
   325       * Operation is the type of operation which lead to this ManagedFieldsEntry being created.
   326       * The only valid values for this field are 'Apply' and 'Update'.
   327       */
   328      operation?: string;
   329      /**
   330       * APIVersion defines the version of this resource that this field set
   331       * applies to. The format is "group/version" just like the top-level
   332       * APIVersion field. It is necessary to track the version of a field
   333       * set because it cannot be automatically converted.
   334       */
   335      apiVersion?: string;
   336      time?: string;
   337      fieldsType?: string;
   338      fieldsV1?: v1FieldsV1;
   339      /**
   340       * Subresource is the name of the subresource used to update that object, or
   341       * empty string if the object was updated through the main resource. The
   342       * value of this field is used to distinguish between managers, even if they
   343       * share the same name. For example, a status update will be distinct from a
   344       * regular update using the same manager name.
   345       * Note that the APIVersion field is not related to the Subresource field and
   346       * it always corresponds to the version of the main resource.
   347       */
   348      subresource?: string;
   349    }
   350    export interface v1FieldsV1 {
   351      /**
   352       * Raw is the underlying serialization of this object.
   353       */
   354      Raw?: string;
   355    }
   356    export interface v1alpha1UITextInputStatus {
   357      /**
   358       * The content of the text input.
   359       */
   360      value?: string;
   361    }
   362    export interface v1alpha1UITextInputSpec {
   363      /**
   364       * Initial value for this field.
   365       *
   366       * +optional
   367       */
   368      defaultValue?: string;
   369      /**
   370       * A short hint that describes the expected input of this field.
   371       *
   372       * +optional
   373       */
   374      placeholder?: string;
   375    }
   376    export interface v1alpha1UISessionStatus {
   377      featureFlags?: v1alpha1UIFeatureFlag[];
   378      needsAnalyticsNudge?: boolean;
   379      runningTiltBuild?: corev1alpha1TiltBuild;
   380      suggestedTiltVersion?: string;
   381      versionSettings?: corev1alpha1VersionSettings;
   382      /**
   383       * TiltCloudUsername reports the username if the user is signed into
   384       * TiltCloud.
   385       *
   386       * deprecated: no longer populated
   387       *
   388       * +optional
   389       */
   390      tiltCloudUsername?: string;
   391      /**
   392       * TiltCloudUsername reports the human-readable team name if the user is
   393       * signed into TiltCloud and the Tiltfile declares a team.
   394       *
   395       * deprecated: no longer populated
   396       *
   397       * +optional
   398       */
   399      tiltCloudTeamName?: string;
   400      /**
   401       * deprecated: no longer populated
   402       *
   403       * +optional
   404       */
   405      tiltCloudSchemeHost?: string;
   406      /**
   407       * TiltCloudTeamID reports the unique team id if the user is signed into
   408       * TiltCloud and the Tiltfile declares a team.
   409       *
   410       * deprecated: no longer populated
   411       *
   412       * +optional
   413       */
   414      tiltCloudTeamID?: string;
   415      fatalError?: string;
   416      tiltStartTime?: string;
   417      tiltfileKey?: string;
   418    }
   419    export interface v1alpha1UISessionSpec {}
   420    export interface v1alpha1UISession {
   421      metadata?: v1ObjectMeta;
   422      spec?: v1alpha1UISessionSpec;
   423      status?: v1alpha1UISessionStatus;
   424    }
   425    export interface v1alpha1UIResourceTargetSpec {
   426      id?: string;
   427      type?: string;
   428      hasLiveUpdate?: boolean;
   429    }
   430    export interface v1alpha1UIResourceStatus {
   431      lastDeployTime?: string;
   432      triggerMode?: number;
   433      buildHistory?: v1alpha1UIBuildTerminated[];
   434      currentBuild?: v1alpha1UIBuildRunning;
   435      pendingBuildSince?: string;
   436      hasPendingChanges?: boolean;
   437      endpointLinks?: v1alpha1UIResourceLink[];
   438      k8sResourceInfo?: v1alpha1UIResourceKubernetes;
   439      composeResourceInfo?: v1alpha1UIResourceCompose;
   440      localResourceInfo?: v1alpha1UIResourceLocal;
   441      /**
   442       * The RuntimeStatus is a simple, high-level summary of the runtime state of a server.
   443       *
   444       * Not all resources run servers.
   445       * +optional
   446       */
   447      runtimeStatus?: string;
   448      /**
   449       * The UpdateStatus is a simple, high-level summary of any update tasks to bring
   450       * the resource up-to-date.
   451       *
   452       * If the resource runs a server, this may include both build tasks and live-update
   453       * syncing.
   454       * +optional
   455       */
   456      updateStatus?: string;
   457      specs?: v1alpha1UIResourceTargetSpec[];
   458      queued?: boolean;
   459      /**
   460       * Order expresses the relative order of resources in the UI when they're not
   461       * otherwise sorted. Lower integers go first. When two resources have the same
   462       * order, they should be sorted by name.
   463       *
   464       * When UIResources are generated from the Tiltfile, we use the order they
   465       * were added to the Tiltfile for the Order field.
   466       *
   467       * +optional
   468       */
   469      order?: number;
   470      /**
   471       * Information about the resource's objects' disabled status.
   472       */
   473      disableStatus?: v1alpha1DisableResourceStatus;
   474      /**
   475       * Waiting provides detail on why the resource is currently blocked from updating.
   476       *
   477       * +optional
   478       */
   479      waiting?: v1alpha1UIResourceStateWaiting;
   480      /**
   481       * Represents the latest available observations of a UIResource's current state.
   482       *
   483       * Designed for compatibility with 'wait' and cross-resource status reporting.
   484       * https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties
   485       *
   486       * +optional
   487       */
   488      conditions?: v1alpha1UIResourceCondition[];
   489    }
   490    export interface v1alpha1UIResourceStateWaitingOnRef {
   491      /**
   492       * Group for the object type being waited on.
   493       */
   494      group?: string;
   495      /**
   496       * APIVersion for the object type being waited on.
   497       */
   498      apiVersion?: string;
   499      /**
   500       * Kind of the object type being waited on.
   501       */
   502      kind?: string;
   503      /**
   504       * Name of the object being waiting on.
   505       */
   506      name?: string;
   507    }
   508    export interface v1alpha1UIResourceStateWaiting {
   509      /**
   510       * Reason is a unique, one-word reason for why the UIResource update is pending.
   511       */
   512      reason?: string;
   513      /**
   514       * HoldingOn is the set of objects blocking this resource from updating.
   515       *
   516       * These objects might NOT be explicit dependencies of the current resource. For example, if an un-parallelizable
   517       * resource is updating, all other resources with queued updates will be holding on it with a reason of
   518       * `waiting-for-local`.
   519       *
   520       * +optional
   521       */
   522      on?: v1alpha1UIResourceStateWaitingOnRef[];
   523    }
   524    export interface v1alpha1UIResourceSpec {}
   525    export interface v1alpha1UIResourceLocal {
   526      pid?: string;
   527      /**
   528       * Whether this represents a test job.
   529       *
   530       * Deprecated: Users should use labels for marking services as tests.
   531       *
   532       * +optional
   533       */
   534      isTest?: boolean;
   535    }
   536    export interface v1alpha1UIResourceLink {
   537      url?: string;
   538      name?: string;
   539    }
   540    export interface v1alpha1UIResourceKubernetes {
   541      /**
   542       * The name of the active pod.
   543       *
   544       * The active pod tends to be what Tilt defaults to for port-forwards,
   545       * live-updates, etc.
   546       * +optional
   547       */
   548      podName?: string;
   549      podCreationTime?: string;
   550      podUpdateStartTime?: string;
   551      podStatus?: string;
   552      podStatusMessage?: string;
   553      allContainersReady?: boolean;
   554      podRestarts?: number;
   555      spanID?: string;
   556      displayNames?: string[];
   557    }
   558    export interface v1alpha1UIResourceCondition {
   559      /**
   560       * Type of UI Resource condition.
   561       */
   562      type?: string;
   563      /**
   564       * Status of the condition, one of True, False, Unknown.
   565       */
   566      status?: string;
   567      lastTransitionTime?: string;
   568      reason?: string;
   569      message?: string;
   570    }
   571    export interface v1alpha1UIResourceCompose {
   572      healthStatus?: string;
   573    }
   574    export interface v1alpha1UIResource {
   575      metadata?: v1ObjectMeta;
   576      spec?: v1alpha1UIResourceSpec;
   577      status?: v1alpha1UIResourceStatus;
   578    }
   579    export interface v1alpha1UIInputStatus {
   580      /**
   581       * Name of the input whose status this is. Must match the `Name` of a corresponding
   582       * UIInputSpec.
   583       */
   584      name?: string;
   585      text?: v1alpha1UITextInputStatus;
   586      bool?: v1alpha1UIBoolInputStatus;
   587      hidden?: v1alpha1UIHiddenInputStatus;
   588      choice?: v1alpha1UIChoiceInputStatus;
   589    }
   590    export interface v1alpha1UIInputSpec {
   591      /**
   592       * Name of this input. Must be unique within the UIButton.
   593       */
   594      name?: string;
   595      label?: string;
   596      text?: v1alpha1UITextInputSpec;
   597      bool?: v1alpha1UIBoolInputSpec;
   598      hidden?: v1alpha1UIHiddenInputSpec;
   599      choice?: v1alpha1UIChoiceInputSpec;
   600    }
   601    export interface v1alpha1UIHiddenInputStatus {
   602      value?: string;
   603    }
   604    export interface v1alpha1UIHiddenInputSpec {
   605      value?: string;
   606    }
   607    export interface v1alpha1UIFeatureFlag {
   608      name?: string;
   609      value?: boolean;
   610    }
   611    export interface v1alpha1UIComponentLocation {
   612      /**
   613       * ComponentID is the identifier of the parent component to associate this component with.
   614       *
   615       * For example, this is a resource name if the ComponentType is Resource.
   616       */
   617      componentID?: string;
   618      /**
   619       * ComponentType is the type of the parent component.
   620       */
   621      componentType?: string;
   622    }
   623    export interface v1alpha1UIChoiceInputStatus {
   624      value?: string;
   625    }
   626    export interface v1alpha1UIChoiceInputSpec {
   627      /**
   628       * +optional
   629       */
   630      choices?: string[];
   631    }
   632    export interface v1alpha1UIButtonStatus {
   633      /**
   634       * LastClickedAt is the timestamp of the last time the button was clicked.
   635       *
   636       * If the button has never clicked before, this will be the zero-value/null.
   637       */
   638      lastClickedAt?: string;
   639      inputs?: v1alpha1UIInputStatus[];
   640    }
   641    export interface v1alpha1UIButtonSpec {
   642      /**
   643       * Location associates the button with another component for layout.
   644       */
   645      location?: v1alpha1UIComponentLocation;
   646      /**
   647       * Text to appear on the button itself or as hover text (depending on button location).
   648       */
   649      text?: string;
   650      /**
   651       * IconName is a Material Icon to appear next to button text or on the button itself (depending on button location).
   652       *
   653       * Valid values are icon font ligature names from the Material Icons set.
   654       * See https://fonts.google.com/icons for the full list of available icons.
   655       *
   656       * If both IconSVG and IconName are specified, IconSVG will take precedence.
   657       *
   658       * +optional
   659       */
   660      iconName?: string;
   661      /**
   662       * IconSVG is an SVG to use as the icon to appear next to button text or on the button itself (depending on button
   663       * location).
   664       *
   665       * This should be an <svg> element scaled for a 24x24 viewport.
   666       *
   667       * If both IconSVG and IconName are specified, IconSVG will take precedence.
   668       *
   669       * +optional
   670       */
   671      iconSVG?: string;
   672      /**
   673       * If true, the button will be rendered, but with an effect indicating it's
   674       * disabled. It will also be unclickable.
   675       *
   676       * +optional
   677       */
   678      disabled?: boolean;
   679      /**
   680       * +optional
   681       */
   682      requiresConfirmation?: boolean;
   683      inputs?: v1alpha1UIInputSpec[];
   684    }
   685    export interface v1alpha1UIButton {
   686      metadata?: v1ObjectMeta;
   687      spec?: v1alpha1UIButtonSpec;
   688      status?: v1alpha1UIButtonStatus;
   689    }
   690    export interface v1alpha1UIBuildTerminated {
   691      error?: string;
   692      warnings?: string[];
   693      startTime?: string;
   694      finishTime?: string;
   695      spanID?: string;
   696      isCrashRebuild?: boolean;
   697    }
   698    export interface v1alpha1UIBuildRunning {
   699      startTime?: string;
   700      spanID?: string;
   701    }
   702    export interface v1alpha1UIBoolInputStatus {
   703      value?: boolean;
   704    }
   705    export interface v1alpha1UIBoolInputSpec {
   706      defaultValue?: boolean;
   707      trueString?: string;
   708      falseString?: string;
   709    }
   710    export interface v1alpha1RegistryHosting {
   711      /**
   712       * Host documents the host (hostname and port) of the registry, as seen from
   713       * outside the cluster.
   714       *
   715       * This is the registry host that tools outside the cluster should push images
   716       * to.
   717       */
   718      host?: string;
   719      /**
   720       * HostFromClusterNetwork documents the host (hostname and port) of the
   721       * registry, as seen from networking inside the container pods.
   722       *
   723       * This is the registry host that tools running on pods inside the cluster
   724       * should push images to. If not set, then tools inside the cluster should
   725       * assume the local registry is not available to them.
   726       *
   727       * +optional
   728       */
   729      hostFromClusterNetwork?: string;
   730      /**
   731       * HostFromContainerRuntime documents the host (hostname and port) of the
   732       * registry, as seen from the cluster's container runtime.
   733       *
   734       * When tools apply Kubernetes objects to the cluster, this host should be
   735       * used for image name fields. If not set, users of this field should use the
   736       * value of Host instead.
   737       *
   738       * Note that it doesn't make sense semantically to define this field, but not
   739       * define Host or HostFromClusterNetwork. That would imply a way to pull
   740       * images without a way to push images.
   741       *
   742       * +optional
   743       */
   744      hostFromContainerRuntime?: string;
   745      /**
   746       * Help contains a URL pointing to documentation for users on how to set
   747       * up and configure a local registry.
   748       *
   749       * Tools can use this to nudge users to enable the registry. When possible,
   750       * the writer should use as permanent a URL as possible to prevent drift
   751       * (e.g., a version control SHA).
   752       *
   753       * When image pushes to a registry host specified in one of the other fields
   754       * fail, the tool should display this help URL to the user. The help URL
   755       * should contain instructions on how to diagnose broken or misconfigured
   756       * registries.
   757       *
   758       * +optional
   759       */
   760      help?: string;
   761      /**
   762       * SingleName uses a shared image name for _all_ Tilt-built images and
   763       * relies on tags to distinguish between logically distinct images.
   764       *
   765       * This is most commonly used with Amazon Elastic Container Registry (ECR),
   766       * which works differently than other image registries.
   767       *
   768       * An ECR host takes the form https://aws_account_id.dkr.ecr.region.amazonaws.com.
   769       * Each image name in that registry must be pre-created ಠ_ಠ and assigned
   770       * IAM permissions.
   771       * For example: https://aws_account_id.dkr.ecr.region.amazonaws.com/my-repo
   772       * (They call this a repo).
   773       *
   774       * For this reason, some users using ECR prefer to push all images to a
   775       * single image name (ECR repo).
   776       *
   777       * A recommended pattern here is to create a "personal" image repo for each
   778       * user during development.
   779       *
   780       * See:
   781       * https://docs.aws.amazon.com/AmazonECR/latest/userguide/Repositories.html
   782       * https://github.com/tilt-dev/tilt/issues/2419
   783       *
   784       * +optional
   785       */
   786      singleName?: string;
   787    }
   788    export interface v1alpha1KubernetesClusterConnectionStatus {
   789      /**
   790       * The resolved kubeconfig context.
   791       */
   792      context?: string;
   793      /**
   794       * The resolved default namespace.
   795       */
   796      namespace?: string;
   797      /**
   798       * The resolved cluster name (as determined by the kubeconfig context).
   799       */
   800      cluster?: string;
   801      /**
   802       * The product name for this cluster.
   803       *
   804       * For a complete list of possible product names, see:
   805       * https://pkg.go.dev/github.com/tilt-dev/clusterid#Product
   806       */
   807      product?: string;
   808      /**
   809       * The resolved config path.
   810       *
   811       * Tilt will freeze the config and write it to a temporary directory.
   812       * Subprocesses that depend on this cluster can find this file
   813       * by reading the KUBECONFIG env var.
   814       */
   815      configPath?: string;
   816    }
   817    export interface v1alpha1KubernetesClusterConnection {
   818      /**
   819       * The name of the kubeconfig context to use.
   820       *
   821       * If not specified, will use the default context in the kubeconfig.
   822       *
   823       * +optional
   824       */
   825      context?: string;
   826      /**
   827       * The default namespace to use.
   828       *
   829       * If not specified, will use the namespace in the kubeconfig.
   830       *
   831       * +optional
   832       */
   833      namespace?: string;
   834    }
   835    export interface v1alpha1DockerClusterConnection {
   836      /**
   837       * The docker host to use.
   838       *
   839       * If not specified, will read the DOCKER_HOST env or use the default docker
   840       * host.
   841       */
   842      host?: string;
   843    }
   844    export interface v1alpha1DisableSource {
   845      /**
   846       * Disabled by single ConfigMap value.
   847       */
   848      configMap?: v1alpha1ConfigMapDisableSource;
   849      /**
   850       * Disabled by multiple ConfigMap values, which must all be set to disabled
   851       * to disable the object.
   852       */
   853      everyConfigMap?: v1alpha1ConfigMapDisableSource[];
   854    }
   855    export interface v1alpha1DisableResourceStatus {
   856      /**
   857       * How many of the resource's sources are enabled.
   858       */
   859      enabledCount?: number;
   860      /**
   861       * How many of the resource's sources are disabled.
   862       */
   863      disabledCount?: number;
   864      state?: string;
   865      /**
   866       * All unique sources that control the resource's objects' disable status.
   867       */
   868      sources?: v1alpha1DisableSource[];
   869    }
   870    export interface v1alpha1ConfigMapDisableSource {
   871      name?: string;
   872      /**
   873       * The key where the enable/disable state is stored.
   874       */
   875      key?: string;
   876    }
   877    export interface v1alpha1ClusterStatus {
   878      /**
   879       * The preferred chip architecture of the cluster.
   880       *
   881       * On Kubernetes, this will correspond to the kubernetes.io/arch annotation on
   882       * a node.
   883       *
   884       * On Docker, this will be the Architecture of the Docker daemon.
   885       *
   886       * Note that many clusters support multiple chipsets. This field doesn't intend
   887       * that this is the only architecture a cluster supports, only that it's one
   888       * of the architectures.
   889       */
   890      arch?: string;
   891      /**
   892       * An unrecoverable error connecting to the cluster.
   893       *
   894       * +optional
   895       */
   896      error?: string;
   897      /**
   898       * ConnectedAt indicates the time at which the cluster connection was established.
   899       *
   900       * Consumers can use this to detect when the underlying config has changed
   901       * and refresh their client/connection accordingly.
   902       *
   903       * +optional
   904       */
   905      connectedAt?: string;
   906      /**
   907       * Registry describes a local registry that developer tools can
   908       * connect to. A local registry allows clients to load images into the local
   909       * cluster by pushing to this registry.
   910       *
   911       * +optional
   912       */
   913      registry?: v1alpha1RegistryHosting;
   914      /**
   915       * Connection status for an existing cluster.
   916       *
   917       * +optional
   918       */
   919      connection?: v1alpha1ClusterConnectionStatus;
   920      /**
   921       * Version is a cluster-provided, human-readable version string.
   922       *
   923       * +optional
   924       */
   925      version?: string;
   926    }
   927    export interface v1alpha1ClusterSpec {
   928      /**
   929       * Connection spec for an existing cluster.
   930       */
   931      connection?: v1alpha1ClusterConnection;
   932      /**
   933       * DefaultRegistry determines where images for this Cluster should
   934       * be pushed/pulled from if the Cluster itself does not provide local
   935       * registry hosting metadata.
   936       *
   937       * If not specified, no registry rewriting will occur, and the images will
   938       * be pushed/pulled to from the registry specified by the corresponding
   939       * image build directive (e.g. `docker_build` or `custom_build`).
   940       *
   941       * +optional
   942       */
   943      defaultRegistry?: v1alpha1RegistryHosting;
   944    }
   945    export interface v1alpha1ClusterConnectionStatus {
   946      /**
   947       * Defines connection to a Kubernetes cluster.
   948       */
   949      kubernetes?: v1alpha1KubernetesClusterConnectionStatus;
   950    }
   951    export interface v1alpha1ClusterConnection {
   952      /**
   953       * Defines connection to a Kubernetes cluster.
   954       */
   955      kubernetes?: v1alpha1KubernetesClusterConnection;
   956      /**
   957       * Defines connection to a Docker daemon.
   958       */
   959      docker?: v1alpha1DockerClusterConnection;
   960    }
   961    export interface v1alpha1Cluster {
   962      metadata?: v1ObjectMeta;
   963      spec?: v1alpha1ClusterSpec;
   964      status?: v1alpha1ClusterStatus;
   965    }
   966    export interface runtimeError {
   967      error?: string;
   968      code?: number;
   969      message?: string;
   970      details?: protobufAny[];
   971    }
   972    export interface protobufAny {
   973      typeUrl?: string;
   974      value?: string;
   975    }
   976    export interface corev1alpha1VersionSettings {
   977      checkUpdates?: boolean;
   978    }
   979    export interface corev1alpha1TiltBuild {
   980      version?: string;
   981      commitSHA?: string;
   982      date?: string;
   983      dev?: boolean;
   984    }
   985  }