github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/internal/tiltfile/api/v1alpha1/__init__.py (about)

     1  from typing import Dict, List, Optional
     2  
     3  # AUTOGENERATED by github.com/tilt-dev/tilt-starlark-docs-codegen
     4  # DO NOT EDIT MANUALLY
     5  
     6  
     7  class ConfigMapDisableSource:
     8    """Specifies a ConfigMap to control a DisableSource
     9  """
    10    pass
    11  
    12  
    13  
    14  class DisableSource:
    15    """Points at a thing that can control whether something is disabled
    16  """
    17    pass
    18  
    19  
    20  
    21  class ExecAction:
    22    """ExecAction describes a "run in container" action.
    23  """
    24    pass
    25  
    26  
    27  
    28  class Forward:
    29    """Forward defines a port forward to execute on a given pod.
    30  """
    31    pass
    32  
    33  
    34  
    35  class HTTPGetAction:
    36    """HTTPGetAction describes an action based on HTTP Get requests.
    37  """
    38    pass
    39  
    40  
    41  
    42  class HTTPHeader:
    43    """HTTPHeader describes a custom header to be used in HTTP probes
    44  """
    45    pass
    46  
    47  
    48  
    49  class Handler:
    50    """Handler defines a specific action that should be taken in a probe.
    51  """
    52    pass
    53  
    54  
    55  
    56  class IgnoreDef:
    57    """Describes sets of file paths that the FileWatch should ignore.
    58  """
    59    pass
    60  
    61  
    62  
    63  class KubernetesApplyCmd:
    64    """
    65  """
    66    pass
    67  
    68  
    69  
    70  class KubernetesDiscoveryTemplateSpec:
    71    """
    72  """
    73    pass
    74  
    75  
    76  
    77  class KubernetesImageLocator:
    78    """Finds image references in Kubernetes YAML.
    79  """
    80    pass
    81  
    82  
    83  
    84  class KubernetesImageObjectDescriptor:
    85    """
    86  """
    87    pass
    88  
    89  
    90  
    91  class KubernetesWatchRef:
    92    """KubernetesWatchRef is similar to v1.ObjectReference from the Kubernetes API and is used to determine
    93    what objects should be reported on based on discovery.
    94  """
    95    pass
    96  
    97  
    98  
    99  class LabelSelector:
   100    """
   101  """
   102    pass
   103  
   104  
   105  
   106  class LabelSelectorRequirement:
   107    """
   108  """
   109    pass
   110  
   111  
   112  
   113  class ObjectSelector:
   114    """Selector for any Kubernetes-style API.
   115  """
   116    pass
   117  
   118  
   119  
   120  class PodLogStreamTemplateSpec:
   121    """PodLogStreamTemplateSpec describes common attributes for PodLogStreams
   122    that can be shared across pods.
   123  """
   124    pass
   125  
   126  
   127  
   128  class PortForwardTemplateSpec:
   129    """PortForwardTemplateSpec describes common attributes for PortForwards
   130    that can be shared across pods.
   131  """
   132    pass
   133  
   134  
   135  
   136  class Probe:
   137    """Probe describes a health check to be performed to determine whether it is
   138    alive or ready to receive traffic.
   139  """
   140    pass
   141  
   142  
   143  
   144  class RestartOnSpec:
   145    """RestartOnSpec indicates the set of objects that can trigger a restart of this object.
   146  """
   147    pass
   148  
   149  
   150  
   151  class StartOnSpec:
   152    """StartOnSpec indicates the set of objects that can trigger a start/restart of this object.
   153  """
   154    pass
   155  
   156  
   157  
   158  class TCPSocketAction:
   159    """TCPSocketAction describes an action based on opening a socket
   160  """
   161    pass
   162  
   163  
   164  
   165  class UIBoolInputSpec:
   166    """Describes a boolean checkbox input field attached to a button.
   167  """
   168    pass
   169  
   170  
   171  
   172  class UIComponentLocation:
   173    """UIComponentLocation specifies where to put a UI component.
   174  """
   175    pass
   176  
   177  
   178  
   179  class UIHiddenInputSpec:
   180    """Describes a hidden input field attached to a button,
   181    with a value to pass on any submit.
   182  """
   183    pass
   184  
   185  
   186  
   187  class UIInputSpec:
   188    """Defines an Input to render in the UI.
   189    If UIButton is analogous to an HTML <form>,
   190    UIInput is analogous to an HTML <input>.
   191  """
   192    pass
   193  
   194  
   195  
   196  class UITextInputSpec:
   197    """Describes a text input field attached to a button.
   198  """
   199    pass
   200  
   201  
   202  def cmd(
   203    name: str,
   204    labels: Dict[str, str] = None,
   205    annotations: Dict[str, str] = None,
   206    args: List[str] = None,
   207    dir: str = "",
   208    env: List[str] = None,
   209    readiness_probe: Optional[Probe] = None,
   210    restart_on: Optional[RestartOnSpec] = None,
   211    start_on: Optional[StartOnSpec] = None,
   212    disable_source: Optional[DisableSource] = None,
   213  ):
   214    """
   215    Cmd represents a process on the host machine.
   216    
   217    When the process exits, we will make a best-effort attempt
   218    (within OS limitations) to kill any spawned descendant processes.
   219    
   220  
   221    Args:
   222      name: The name in the Object metadata.
   223      labels: A set of key/value pairs in the Object metadata for grouping objects.
   224      annotations: A set of key/value pairs in the Object metadata for attaching data to objects.
   225      args: Command-line arguments. Must have length at least 1.
   226      dir: Process working directory.
   227        
   228        If the working directory is not specified, the command is run
   229        in the default Tilt working directory.
   230        
   231      env: Additional variables process environment.
   232        
   233        Expressed as a C-style array of strings of the form ["KEY1=VALUE1", "KEY2=VALUE2", ...].
   234        
   235        Environment variables are layered on top of the environment variables
   236        that Tilt runs with.
   237        
   238      readiness_probe: Periodic probe of service readiness.
   239        
   240      restart_on: Indicates objects that can trigger a restart of this command.
   241        
   242        When a restart is triggered, Tilt will try to gracefully shutdown any
   243        currently running process, waiting for it to exit before starting a new
   244        process. If the process doesn't shutdown within the allotted time, Tilt
   245        will kill the process abruptly.
   246        
   247        Restarts can happen even if the command is already done.
   248        
   249        Logs of the current process after the restart are discarded.
   250      start_on: Indicates objects that can trigger a start/restart of this command.
   251        
   252        Restarts behave the same as RestartOn. The key difference is that
   253        a Cmd with any StartOn triggers will not have its command run until its
   254        StartOn is satisfied.
   255      disable_source: Specifies how to disable this.
   256        
   257  """
   258    pass
   259  def config_map(
   260    name: str,
   261    labels: Dict[str, str] = None,
   262    annotations: Dict[str, str] = None,
   263    data: Dict[str, str] = None,
   264  ):
   265    """
   266    ConfigMap stores unstructured data that other controllers can read and write.
   267    
   268    Useful for sharing data from one system and subscribing to it from another.
   269    
   270  
   271    Args:
   272      name: The name in the Object metadata.
   273      labels: A set of key/value pairs in the Object metadata for grouping objects.
   274      annotations: A set of key/value pairs in the Object metadata for attaching data to objects.
   275      data: Data contains the configuration data.
   276        Each key must consist of alphanumeric characters, '-', '_' or '.'.
   277  """
   278    pass
   279  def extension(
   280    name: str,
   281    labels: Dict[str, str] = None,
   282    annotations: Dict[str, str] = None,
   283    repo_name: str = "",
   284    repo_path: str = "",
   285    args: List[str] = None,
   286  ):
   287    """
   288    Extension defines an extension that's evaluated on Tilt startup.
   289  
   290    Args:
   291      name: The name in the Object metadata.
   292      labels: A set of key/value pairs in the Object metadata for grouping objects.
   293      annotations: A set of key/value pairs in the Object metadata for attaching data to objects.
   294      repo_name: RepoName specifies the ExtensionRepo object where we should find this extension.
   295        
   296        The Extension controller should watch for changes to this repo, and
   297        may update if this repo is deleted or moved.
   298      repo_path: RepoPath specifies the path to the extension directory inside the repo.
   299        
   300        Once the repo is downloaded, this path should point to a directory with a
   301        Tiltfile as the main "entrypoint" of the extension.
   302      args: Arguments to the Tiltfile loaded by this extension.
   303        
   304        Arguments can be positional (['a', 'b', 'c']) or flag-based ('--to-edit=a').
   305        By default, a list of arguments indicates the list of services in the tiltfile
   306        that should be enabled.
   307        
   308  """
   309    pass
   310  def extension_repo(
   311    name: str,
   312    labels: Dict[str, str] = None,
   313    annotations: Dict[str, str] = None,
   314    url: str = "",
   315    ref: str = "",
   316  ):
   317    """
   318    ExtensionRepo specifies a repo or folder where a set of extensions live.
   319  
   320    Args:
   321      name: The name in the Object metadata.
   322      labels: A set of key/value pairs in the Object metadata for grouping objects.
   323      annotations: A set of key/value pairs in the Object metadata for attaching data to objects.
   324      url: The URL of the repo.
   325        
   326        Allowed:
   327        https: URLs that point to a public git repo
   328        file: URLs that point to a location on disk.
   329      ref: A reference to sync the repo to. If empty, Tilt will always update
   330        the repo to the latest version.
   331  """
   332    pass
   333  def file_watch(
   334    name: str,
   335    labels: Dict[str, str] = None,
   336    annotations: Dict[str, str] = None,
   337    watched_paths: List[str] = None,
   338    ignores: List[IgnoreDef] = None,
   339    disable_source: Optional[DisableSource] = None,
   340  ):
   341    """
   342    FileWatch
   343  
   344    Args:
   345      name: The name in the Object metadata.
   346      labels: A set of key/value pairs in the Object metadata for grouping objects.
   347      annotations: A set of key/value pairs in the Object metadata for attaching data to objects.
   348      watched_paths: WatchedPaths are paths of directories or files to watch for changes to. It cannot be empty.
   349        
   350      ignores: Ignores are optional rules to filter out a subset of changes matched by WatchedPaths.
   351      disable_source: Specifies how to disable this.
   352        
   353  """
   354    pass
   355  def kubernetes_apply(
   356    name: str,
   357    labels: Dict[str, str] = None,
   358    annotations: Dict[str, str] = None,
   359    yaml: str = "",
   360    image_maps: List[str] = None,
   361    image_locators: List[KubernetesImageLocator] = None,
   362    timeout: str = "",
   363    kubernetes_discovery_template_spec: Optional[KubernetesDiscoveryTemplateSpec] = None,
   364    port_forward_template_spec: Optional[PortForwardTemplateSpec] = None,
   365    pod_log_stream_template_spec: Optional[PodLogStreamTemplateSpec] = None,
   366    discovery_strategy: str = "",
   367    disable_source: Optional[DisableSource] = None,
   368    cmd: Optional[KubernetesApplyCmd] = None,
   369    restart_on: Optional[RestartOnSpec] = None,
   370  ):
   371    """
   372    KubernetesApply specifies a blob of YAML to apply, and a set of ImageMaps
   373    that the YAML depends on.
   374    
   375    The KubernetesApply controller will resolve the ImageMaps into immutable image
   376    references. The controller will process the spec YAML, then apply it to the cluster.
   377    Those processing steps might include:
   378    
   379    - Injecting the resolved image references.
   380    - Adding custom labels so that Tilt can track the progress of the apply.
   381    - Modifying image pull rules to ensure the image is pulled correctly.
   382    
   383    The controller won't apply anything until all ImageMaps resolve to real images.
   384    
   385    The controller will watch all the image maps, and redeploy the entire YAML if
   386    any of the maps resolve to a new image.
   387    
   388    The status field will contain both the raw applied object, and derived fields
   389    to help other controllers figure out how to watch the apply progress.
   390    
   391  
   392    Args:
   393      name: The name in the Object metadata.
   394      labels: A set of key/value pairs in the Object metadata for grouping objects.
   395      annotations: A set of key/value pairs in the Object metadata for attaching data to objects.
   396      yaml: YAML to apply to the cluster.
   397        
   398        Exactly one of YAML OR Cmd MUST be provided.
   399        
   400      image_maps: Names of image maps that this applier depends on.
   401        
   402        The controller will watch all the image maps, and redeploy the entire YAML
   403        if any of the maps resolve to a new image.
   404        
   405      image_locators: Descriptors of how to find images in the YAML.
   406        
   407        Needed when injecting images into CRDs.
   408        
   409      timeout: The timeout on the apply operation.
   410        
   411        We've had problems with both:
   412        1) CRD apiservers that take an arbitrarily long time to apply, and
   413        2) Infinite loops in the apimachinery
   414        So we offer the ability to set a timeout on Kubernetes apply operations.
   415        
   416        The default timeout is 30s.
   417        
   418      kubernetes_discovery_template_spec: KubernetesDiscoveryTemplateSpec describes how we discover pods
   419        for resources created by this Apply.
   420        
   421        If not specified, the KubernetesDiscovery controller will listen to all pods,
   422        and follow owner references to find the pods owned by these resources.
   423        
   424      port_forward_template_spec: PortForwardTemplateSpec describes the data model for port forwards
   425        that KubernetesApply should set up.
   426        
   427        Underneath the hood, we'll create a KubernetesDiscovery object that finds
   428        the pods and sets up the port-forwarding. Only one PortForward will be
   429        active at a time.
   430        
   431      pod_log_stream_template_spec: PodLogStreamTemplateSpec describes the data model for PodLogStreams
   432        that KubernetesApply should set up.
   433        
   434        Underneath the hood, we'll create a KubernetesDiscovery object that finds
   435        the pods and sets up the pod log streams.
   436        
   437        If no template is specified, the controller will stream all
   438        pod logs available from the apiserver.
   439        
   440      discovery_strategy: DiscoveryStrategy describes how we set up pod watches for the applied
   441        resources. This affects all systems that attach to pods, including
   442        PortForwards, PodLogStreams, resource readiness, and live-updates.
   443        
   444      disable_source: Specifies how to disable this.
   445        
   446      cmd: Cmd is a custom command to generate the YAML to apply.
   447        
   448        The Cmd MUST return valid Kubernetes YAML for the entities it applied to the cluster.
   449        
   450        Exactly one of YAML OR Cmd MUST be provided.
   451        
   452      restart_on: RestartOn determines external triggers that will result in an apply.
   453        
   454  """
   455    pass
   456  def kubernetes_discovery(
   457    name: str,
   458    labels: Dict[str, str] = None,
   459    annotations: Dict[str, str] = None,
   460    watches: List[KubernetesWatchRef] = None,
   461    extra_selectors: List[LabelSelector] = None,
   462    port_forward_template_spec: Optional[PortForwardTemplateSpec] = None,
   463    pod_log_stream_template_spec: Optional[PodLogStreamTemplateSpec] = None,
   464  ):
   465    """
   466    KubernetesDiscovery
   467  
   468    Args:
   469      name: The name in the Object metadata.
   470      labels: A set of key/value pairs in the Object metadata for grouping objects.
   471      annotations: A set of key/value pairs in the Object metadata for attaching data to objects.
   472      watches: Watches determine what resources are discovered.
   473        
   474        If a discovered resource (e.g. Pod) matches the KubernetesWatchRef UID exactly, it will be reported.
   475        If a discovered resource is transitively owned by the KubernetesWatchRef UID, it will be reported.
   476      extra_selectors: ExtraSelectors are label selectors that will force discovery of a Pod even if it does not match
   477        the AncestorUID.
   478        
   479        This should only be necessary in the event that a CRD creates Pods but does not set an owner reference
   480        to itself.
   481      port_forward_template_spec: PortForwardTemplateSpec describes the data model for port forwards
   482        that KubernetesDiscovery should set up.
   483        
   484        The KubernetesDiscovery controller will choose a "best" candidate
   485        for attaching the port-forwarding. Only one PortForward will be
   486        active at a time.
   487        
   488      pod_log_stream_template_spec: PodLogStreamTemplateSpec describes the data model for PodLogStreams
   489        that KubernetesDiscovery should set up.
   490        
   491        The KubernetesDiscovery controller will attach PodLogStream objects
   492        to all active pods it discovers.
   493        
   494        If no template is specified, the controller will stream all
   495        pod logs available from the apiserver.
   496        
   497  """
   498    pass
   499  def ui_button(
   500    name: str,
   501    labels: Dict[str, str] = None,
   502    annotations: Dict[str, str] = None,
   503    location: UIComponentLocation = None,
   504    text: str = "",
   505    icon_name: str = "",
   506    icon_svg: str = "",
   507    disabled: bool = False,
   508    requires_confirmation: bool = False,
   509    inputs: List[UIInputSpec] = None,
   510  ):
   511    """
   512    UIButton
   513  
   514    Args:
   515      name: The name in the Object metadata.
   516      labels: A set of key/value pairs in the Object metadata for grouping objects.
   517      annotations: A set of key/value pairs in the Object metadata for attaching data to objects.
   518      location: Location associates the button with another component for layout.
   519      text: Text to appear on the button itself or as hover text (depending on button location).
   520      icon_name: IconName is a Material Icon to appear next to button text or on the button itself (depending on button location).
   521        
   522        Valid values are icon font ligature names from the Material Icons set.
   523        See https://fonts.google.com/icons for the full list of available icons.
   524        
   525        If both IconSVG and IconName are specified, IconSVG will take precedence.
   526        
   527      icon_svg: IconSVG is an SVG to use as the icon to appear next to button text or on the button itself (depending on button
   528        location).
   529        
   530        This should be an <svg> element scaled for a 24x24 viewport.
   531        
   532        If both IconSVG and IconName are specified, IconSVG will take precedence.
   533        
   534      disabled: If true, the button will be rendered, but with an effect indicating it's
   535        disabled. It will also be unclickable.
   536        
   537      requires_confirmation: If true, the UI will require the user to click the button a second time to
   538        confirm before taking action
   539        
   540      inputs: Any inputs for this button.
   541  """
   542    pass
   543  
   544  def config_map_disable_source(
   545    name: str = "",
   546    key: str = "",
   547  ) -> ConfigMapDisableSource:
   548    """
   549    Specifies a ConfigMap to control a DisableSource
   550  
   551    Args:
   552      name: The name of the ConfigMap
   553      key: The key where the enable/disable state is stored.
   554  """
   555    pass
   556  
   557  def disable_source(
   558    config_map: Optional[ConfigMapDisableSource] = None,
   559  ) -> DisableSource:
   560    """
   561    Points at a thing that can control whether something is disabled
   562  
   563    Args:
   564      config_map: This DisableSource is controlled by a ConfigMap
   565  """
   566    pass
   567  
   568  def exec_action(
   569    command: List[str] = None,
   570  ) -> ExecAction:
   571    """
   572    ExecAction describes a "run in container" action.
   573  
   574    Args:
   575      command: Command is the command line to execute inside the container, the working directory for the
   576        command  is root ('/') in the container's filesystem. The command is simply exec'd, it is
   577        not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
   578        a shell, you need to explicitly call out to that shell.
   579        Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
   580  """
   581    pass
   582  
   583  def forward(
   584    local_port: int = 0,
   585    container_port: int = 0,
   586    host: str = "",
   587  ) -> Forward:
   588    """
   589    Forward defines a port forward to execute on a given pod.
   590  
   591    Args:
   592      local_port: The port to expose on the current machine.
   593        
   594        If not specified (or 0), a random free port will be chosen and can
   595        be discovered via the status once established.
   596        
   597      container_port: The port on the Kubernetes pod to connect to. Required.
   598      host: Optional host to bind to on the current machine (localhost by default)
   599        
   600  """
   601    pass
   602  
   603  def http_get_action(
   604    path: str = "",
   605    port: int = 0,
   606    host: str = "",
   607    scheme: str = "",
   608    http_headers: List[HTTPHeader] = None,
   609  ) -> HTTPGetAction:
   610    """
   611    HTTPGetAction describes an action based on HTTP Get requests.
   612  
   613    Args:
   614      path: Path to access on the HTTP server.
   615      port: Name or number of the port to access on the container.
   616        Number must be in the range 1 to 65535.
   617      host: Host name to connect to, defaults to the pod IP. You probably want to set
   618        "Host" in httpHeaders instead.
   619      scheme: Scheme to use for connecting to the host.
   620        Defaults to HTTP.
   621      http_headers: Custom headers to set in the request. HTTP allows repeated headers.
   622  """
   623    pass
   624  
   625  def http_header(
   626    name: str = "",
   627    value: str = "",
   628  ) -> HTTPHeader:
   629    """
   630    HTTPHeader describes a custom header to be used in HTTP probes
   631  
   632    Args:
   633      name: The header field name
   634      value: The header field value
   635  """
   636    pass
   637  
   638  def handler(
   639    exec: Optional[ExecAction] = None,
   640    http_get: Optional[HTTPGetAction] = None,
   641    tcp_socket: Optional[TCPSocketAction] = None,
   642  ) -> Handler:
   643    """
   644    Handler defines a specific action that should be taken in a probe.
   645  
   646    Args:
   647      exec: One and only one of the following should be specified.
   648        Exec specifies the action to take.
   649      http_get: HTTPGet specifies the http request to perform.
   650      tcp_socket: TCPSocket specifies an action involving a TCP port.
   651        TCP hooks not yet supported
   652        TODO: implement a realistic TCP lifecycle hook
   653  """
   654    pass
   655  
   656  def ignore_def(
   657    base_path: str = "",
   658    patterns: List[str] = None,
   659  ) -> IgnoreDef:
   660    """
   661    Describes sets of file paths that the FileWatch should ignore.
   662  
   663    Args:
   664      base_path: BasePath is the base path for the patterns. It cannot be empty.
   665        
   666        If no patterns are specified, everything under it will be recursively ignored.
   667        
   668      patterns: Patterns are dockerignore style rules. Absolute-style patterns will be rooted to the BasePath.
   669        
   670        See https://docs.docker.com/engine/reference/builder/#dockerignore-file.
   671  """
   672    pass
   673  
   674  def kubernetes_apply_cmd(
   675    args: List[str] = None,
   676    dir: str = "",
   677    env: List[str] = None,
   678  ) -> KubernetesApplyCmd:
   679    """
   680    
   681  
   682    Args:
   683      args: Args are the command-line arguments for the apply command. Must have length >= 1.
   684      dir: Process working directory.
   685        
   686        If not specified, will default to Tilt working directory.
   687        
   688      env: Env are additional variables for the process environment.
   689        
   690        Environment variables are layered on top of the environment variables
   691        that Tilt runs with.
   692        
   693  """
   694    pass
   695  
   696  def kubernetes_discovery_template_spec(
   697    extra_selectors: List[LabelSelector] = None,
   698  ) -> KubernetesDiscoveryTemplateSpec:
   699    """
   700    
   701  
   702    Args:
   703      extra_selectors: ExtraSelectors are label selectors that will force discovery of a Pod even
   704        if it does not match the AncestorUID.
   705        
   706        This should only be necessary in the event that a CRD creates Pods but does
   707        not set an owner reference to itself.
   708  """
   709    pass
   710  
   711  def kubernetes_image_locator(
   712    object_selector: ObjectSelector = None,
   713    path: str = "",
   714    object: Optional[KubernetesImageObjectDescriptor] = None,
   715  ) -> KubernetesImageLocator:
   716    """
   717    Finds image references in Kubernetes YAML.
   718  
   719    Args:
   720      object_selector: Selects which objects to look in.
   721      path: A JSON path to the image reference field.
   722        
   723        If Object is empty, the field should be a string.
   724        
   725        If Object is non-empty, the field should be an object with subfields.
   726      object: A descriptor of the path and structure of an object that describes an image
   727        reference. This is a common way to describe images in CRDs, breaking
   728        them down into an object rather than an image reference string.
   729        
   730  """
   731    pass
   732  
   733  def kubernetes_image_object_descriptor(
   734    repo_field: str = "",
   735    tag_field: str = "",
   736  ) -> KubernetesImageObjectDescriptor:
   737    """
   738    
   739  
   740    Args:
   741      repo_field: The name of the field that contains the image repository.
   742      tag_field: The name of the field that contains the image tag.
   743  """
   744    pass
   745  
   746  def kubernetes_watch_ref(
   747    uid: str = "",
   748    namespace: str = "",
   749    name: str = "",
   750  ) -> KubernetesWatchRef:
   751    """
   752    KubernetesWatchRef is similar to v1.ObjectReference from the Kubernetes API and is used to determine
   753    what objects should be reported on based on discovery.
   754  
   755    Args:
   756      uid: UID is a Kubernetes object UID.
   757        
   758        It should either be the exact object UID or the transitive owner.
   759        
   760      namespace: Namespace is the Kubernetes namespace for discovery. Required.
   761      name: Name is the Kubernetes object name.
   762        
   763        This is not directly used in discovery; it is extra metadata.
   764        
   765  """
   766    pass
   767  
   768  def label_selector(
   769    match_labels: Dict[str, str] = None,
   770    match_expressions: List[LabelSelectorRequirement] = None,
   771  ) -> LabelSelector:
   772    """
   773    
   774  
   775    Args:
   776      match_labels: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
   777        map is equivalent to an element of matchExpressions, whose key field is "key", the
   778        operator is "In", and the values array contains only "value". The requirements are ANDed.
   779      match_expressions: matchExpressions is a list of label selector requirements. The requirements are ANDed.
   780  """
   781    pass
   782  
   783  def label_selector_requirement(
   784    key: str = "",
   785    operator: str = "",
   786    values: List[str] = None,
   787  ) -> LabelSelectorRequirement:
   788    """
   789    
   790  
   791    Args:
   792      key: key is the label key that the selector applies to.
   793      operator: operator represents a key's relationship to a set of values.
   794        Valid operators are In, NotIn, Exists and DoesNotExist.
   795      values: values is an array of string values. If the operator is In or NotIn,
   796        the values array must be non-empty. If the operator is Exists or DoesNotExist,
   797        the values array must be empty. This array is replaced during a strategic
   798        merge patch.
   799  """
   800    pass
   801  
   802  def object_selector(
   803    api_version_regexp: str = "",
   804    kind_regexp: str = "",
   805    name_regexp: str = "",
   806    namespace_regexp: str = "",
   807  ) -> ObjectSelector:
   808    """
   809    Selector for any Kubernetes-style API.
   810  
   811    Args:
   812      api_version_regexp: A regular expression apiVersion match.
   813      kind_regexp: A regular expression kind match.
   814      name_regexp: A regular expression name match.
   815      namespace_regexp: A regular expression namespace match.
   816  """
   817    pass
   818  
   819  def pod_log_stream_template_spec(
   820    only_containers: List[str] = None,
   821    ignore_containers: List[str] = None,
   822  ) -> PodLogStreamTemplateSpec:
   823    """
   824    PodLogStreamTemplateSpec describes common attributes for PodLogStreams
   825    that can be shared across pods.
   826  
   827    Args:
   828      only_containers: The names of containers to include in the stream.
   829        
   830        If `onlyContainers` and `ignoreContainers` are not set,
   831        will watch all containers in the pod.
   832        
   833      ignore_containers: The names of containers to exclude from the stream.
   834        
   835        If `onlyContainers` and `ignoreContainers` are not set,
   836        will watch all containers in the pod.
   837        
   838  """
   839    pass
   840  
   841  def port_forward_template_spec(
   842    forwards: List[Forward] = None,
   843  ) -> PortForwardTemplateSpec:
   844    """
   845    PortForwardTemplateSpec describes common attributes for PortForwards
   846    that can be shared across pods.
   847  
   848    Args:
   849      forwards: One or more port forwards to execute on the given pod. Required.
   850  """
   851    pass
   852  
   853  def probe(
   854    handler: Handler = None,
   855    initial_delay_seconds: int = 0,
   856    timeout_seconds: int = 0,
   857    period_seconds: int = 0,
   858    success_threshold: int = 0,
   859    failure_threshold: int = 0,
   860  ) -> Probe:
   861    """
   862    Probe describes a health check to be performed to determine whether it is
   863    alive or ready to receive traffic.
   864  
   865    Args:
   866      handler: The action taken to determine the health of a container
   867      initial_delay_seconds: Number of seconds after the container has started before liveness probes are initiated.
   868        More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
   869      timeout_seconds: Number of seconds after which the probe times out.
   870        Defaults to 1 second. Minimum value is 1.
   871        More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
   872      period_seconds: How often (in seconds) to perform the probe.
   873        Default to 10 seconds. Minimum value is 1.
   874      success_threshold: Minimum consecutive successes for the probe to be considered successful after having failed.
   875        Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
   876      failure_threshold: Minimum consecutive failures for the probe to be considered failed after having succeeded.
   877        Defaults to 3. Minimum value is 1.
   878  """
   879    pass
   880  
   881  def restart_on_spec(
   882    file_watches: List[str] = None,
   883    ui_buttons: List[str] = None,
   884  ) -> RestartOnSpec:
   885    """
   886    RestartOnSpec indicates the set of objects that can trigger a restart of this object.
   887  
   888    Args:
   889      file_watches: FileWatches that can trigger a restart.
   890      ui_buttons: UIButtons that can trigger a restart.
   891  """
   892    pass
   893  
   894  def start_on_spec(
   895    ui_buttons: List[str] = None,
   896  ) -> StartOnSpec:
   897    """
   898    StartOnSpec indicates the set of objects that can trigger a start/restart of this object.
   899  
   900    Args:
   901      ui_buttons: UIButtons that can trigger a start/restart.
   902  """
   903    pass
   904  
   905  def tcp_socket_action(
   906    port: int = 0,
   907    host: str = "",
   908  ) -> TCPSocketAction:
   909    """
   910    TCPSocketAction describes an action based on opening a socket
   911  
   912    Args:
   913      port: Number or name of the port to access on the container.
   914        Number must be in the range 1 to 65535.
   915      host: Optional: Host name to connect to, defaults to the pod IP.
   916  """
   917    pass
   918  
   919  def ui_bool_input_spec(
   920    default_value: bool = False,
   921    true_string: Optional[str] = None,
   922    false_string: Optional[str] = None,
   923  ) -> UIBoolInputSpec:
   924    """
   925    Describes a boolean checkbox input field attached to a button.
   926  
   927    Args:
   928      default_value: Whether the input is initially true or false.
   929      true_string: If the input's value is converted to a string, use this when the value is true.
   930        If unspecified, its string value will be `"true"`
   931      false_string: If the input's value is converted to a string, use this when the value is false.
   932        If unspecified, its string value will be `"false"`
   933  """
   934    pass
   935  
   936  def ui_component_location(
   937    component_id: str = "",
   938    component_type: str = "",
   939  ) -> UIComponentLocation:
   940    """
   941    UIComponentLocation specifies where to put a UI component.
   942  
   943    Args:
   944      component_id: ComponentID is the identifier of the parent component to associate this component with.
   945        
   946        For example, this is a resource name if the ComponentType is Resource.
   947      component_type: ComponentType is the type of the parent component.
   948  """
   949    pass
   950  
   951  def ui_hidden_input_spec(
   952    value: str = "",
   953  ) -> UIHiddenInputSpec:
   954    """
   955    Describes a hidden input field attached to a button,
   956    with a value to pass on any submit.
   957  
   958    Args:
   959      value: Documentation missing
   960  """
   961    pass
   962  
   963  def ui_input_spec(
   964    name: str = "",
   965    label: str = "",
   966    text: Optional[UITextInputSpec] = None,
   967    bool: Optional[UIBoolInputSpec] = None,
   968    hidden: Optional[UIHiddenInputSpec] = None,
   969  ) -> UIInputSpec:
   970    """
   971    Defines an Input to render in the UI.
   972    If UIButton is analogous to an HTML <form>,
   973    UIInput is analogous to an HTML <input>.
   974  
   975    Args:
   976      name: Name of this input. Must be unique within the UIButton.
   977      label: A label to display next to this input in the UI.
   978      text: A Text input that takes a string.
   979      bool: A Bool input that is true or false
   980      hidden: An input that has a constant value and does not display to the user
   981  """
   982    pass
   983  
   984  def ui_text_input_spec(
   985    default_value: str = "",
   986    placeholder: str = "",
   987  ) -> UITextInputSpec:
   988    """
   989    Describes a text input field attached to a button.
   990  
   991    Args:
   992      default_value: Initial value for this field.
   993        
   994      placeholder: A short hint that describes the expected input of this field.
   995        
   996  """
   997    pass