text: # coding=utf-8
  # *** WARNING: this file was generated by the Pulumi SDK Generator. ***
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
  
  import warnings
  import pulumi
  import pulumi.runtime
  from typing import Any, Mapping, Optional, Sequence, Union, overload
  from ... import _utilities
  from . import outputs
  from ._inputs import *
  
  __all__ = ['JobArgs', 'Job']
  
  @pulumi.input_type
  class JobArgs:
      def __init__(__self__, *,
                   namespace_id: pulumi.Input[str],
                   api_version: Optional[pulumi.Input[str]] = None,
                   kind: Optional[pulumi.Input[str]] = None,
                   metadata: Optional[pulumi.Input['ObjectMetaArgs']] = None,
                   spec: Optional[pulumi.Input['JobSpecArgs']] = None,
                   status: Optional[pulumi.Input['JobStatusArgs']] = None):
          """
          The set of arguments for constructing a Job resource.
          :param pulumi.Input[str] api_version: Optional. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources +optional
          :param pulumi.Input[str] kind: Optional. Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds +optional
          :param pulumi.Input['ObjectMetaArgs'] metadata: Optional. Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
          :param pulumi.Input['JobSpecArgs'] spec: Optional. Specification of the desired behavior of a job. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status +optional
          :param pulumi.Input['JobStatusArgs'] status: Optional. Current status of a job. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status +optional
          """
          pulumi.set(__self__, "namespace_id", namespace_id)
          if api_version is not None:
              pulumi.set(__self__, "api_version", api_version)
          if kind is not None:
              pulumi.set(__self__, "kind", kind)
          if metadata is not None:
              pulumi.set(__self__, "metadata", metadata)
          if spec is not None:
              pulumi.set(__self__, "spec", spec)
          if status is not None:
              pulumi.set(__self__, "status", status)
  
      @property
      @pulumi.getter(name="namespaceId")
      def namespace_id(self) -> pulumi.Input[str]:
          return pulumi.get(self, "namespace_id")
  
      @namespace_id.setter
      def namespace_id(self, value: pulumi.Input[str]):
          pulumi.set(self, "namespace_id", value)
  
      @property
      @pulumi.getter(name="apiVersion")
      def api_version(self) -> Optional[pulumi.Input[str]]:
          """
          Optional. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources +optional
          """
          return pulumi.get(self, "api_version")
  
      @api_version.setter
      def api_version(self, value: Optional[pulumi.Input[str]]):
          pulumi.set(self, "api_version", value)
  
      @property
      @pulumi.getter
      def kind(self) -> Optional[pulumi.Input[str]]:
          """
          Optional. Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds +optional
          """
          return pulumi.get(self, "kind")
  
      @kind.setter
      def kind(self, value: Optional[pulumi.Input[str]]):
          pulumi.set(self, "kind", value)
  
      @property
      @pulumi.getter
      def metadata(self) -> Optional[pulumi.Input['ObjectMetaArgs']]:
          """
          Optional. Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
          """
          return pulumi.get(self, "metadata")
  
      @metadata.setter
      def metadata(self, value: Optional[pulumi.Input['ObjectMetaArgs']]):
          pulumi.set(self, "metadata", value)
  
      @property
      @pulumi.getter
      def spec(self) -> Optional[pulumi.Input['JobSpecArgs']]:
          """
          Optional. Specification of the desired behavior of a job. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status +optional
          """
          return pulumi.get(self, "spec")
  
      @spec.setter
      def spec(self, value: Optional[pulumi.Input['JobSpecArgs']]):
          pulumi.set(self, "spec", value)
  
      @property
      @pulumi.getter
      def status(self) -> Optional[pulumi.Input['JobStatusArgs']]:
          """
          Optional. Current status of a job. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status +optional
          """
          return pulumi.get(self, "status")
  
      @status.setter
      def status(self, value: Optional[pulumi.Input['JobStatusArgs']]):
          pulumi.set(self, "status", value)
  
  
  class Job(pulumi.CustomResource):
      @overload
      def __init__(__self__,
                   resource_name: str,
                   opts: Optional[pulumi.ResourceOptions] = None,
                   api_version: Optional[pulumi.Input[str]] = None,
                   kind: Optional[pulumi.Input[str]] = None,
                   metadata: Optional[pulumi.Input[pulumi.InputType['ObjectMetaArgs']]] = None,
                   namespace_id: Optional[pulumi.Input[str]] = None,
                   spec: Optional[pulumi.Input[pulumi.InputType['JobSpecArgs']]] = None,
                   status: Optional[pulumi.Input[pulumi.InputType['JobStatusArgs']]] = None,
                   __props__=None):
          """
          Create a job.
          Auto-naming is currently not supported for this resource.
  
          :param str resource_name: The name of the resource.
          :param pulumi.ResourceOptions opts: Options for the resource.
          :param pulumi.Input[str] api_version: Optional. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources +optional
          :param pulumi.Input[str] kind: Optional. Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds +optional
          :param pulumi.Input[pulumi.InputType['ObjectMetaArgs']] metadata: Optional. Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
          :param pulumi.Input[pulumi.InputType['JobSpecArgs']] spec: Optional. Specification of the desired behavior of a job. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status +optional
          :param pulumi.Input[pulumi.InputType['JobStatusArgs']] status: Optional. Current status of a job. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status +optional
          """
          ...
      @overload
      def __init__(__self__,
                   resource_name: str,
                   args: JobArgs,
                   opts: Optional[pulumi.ResourceOptions] = None):
          """
          Create a job.
          Auto-naming is currently not supported for this resource.
  
          :param str resource_name: The name of the resource.
          :param JobArgs args: The arguments to use to populate this resource's properties.
          :param pulumi.ResourceOptions opts: Options for the resource.
          """
          ...
      def __init__(__self__, resource_name: str, *args, **kwargs):
          resource_args, opts = _utilities.get_resource_args_opts(JobArgs, pulumi.ResourceOptions, *args, **kwargs)
          if resource_args is not None:
              __self__._internal_init(resource_name, opts, **resource_args.__dict__)
          else:
              __self__._internal_init(resource_name, *args, **kwargs)
  
      def _internal_init(__self__,
                   resource_name: str,
                   opts: Optional[pulumi.ResourceOptions] = None,
                   api_version: Optional[pulumi.Input[str]] = None,
                   kind: Optional[pulumi.Input[str]] = None,
                   metadata: Optional[pulumi.Input[pulumi.InputType['ObjectMetaArgs']]] = None,
                   namespace_id: Optional[pulumi.Input[str]] = None,
                   spec: Optional[pulumi.Input[pulumi.InputType['JobSpecArgs']]] = None,
                   status: Optional[pulumi.Input[pulumi.InputType['JobStatusArgs']]] = None,
                   __props__=None):
          if opts is None:
              opts = pulumi.ResourceOptions()
          if not isinstance(opts, pulumi.ResourceOptions):
              raise TypeError('Expected resource options to be a ResourceOptions instance')
          if opts.version is None:
              opts.version = _utilities.get_version()
          if opts.id is None:
              if __props__ is not None:
                  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
              __props__ = JobArgs.__new__(JobArgs)
  
              __props__.__dict__["api_version"] = api_version
              __props__.__dict__["kind"] = kind
              __props__.__dict__["metadata"] = metadata
              if namespace_id is None and not opts.urn:
                  raise TypeError("Missing required property 'namespace_id'")
              __props__.__dict__["namespace_id"] = namespace_id
              __props__.__dict__["spec"] = spec
              __props__.__dict__["status"] = status
          super(Job, __self__).__init__(
              'google-native:run/v1alpha1:Job',
              resource_name,
              __props__,
              opts)
  
      @staticmethod
      def get(resource_name: str,
              id: pulumi.Input[str],
              opts: Optional[pulumi.ResourceOptions] = None) -> 'Job':
          """
          Get an existing Job resource's state with the given name, id, and optional extra
          properties used to qualify the lookup.
  
          :param str resource_name: The unique name of the resulting resource.
          :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
          :param pulumi.ResourceOptions opts: Options for the resource.
          """
          opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
  
          __props__ = JobArgs.__new__(JobArgs)
  
          __props__.__dict__["api_version"] = None
          __props__.__dict__["kind"] = None
          __props__.__dict__["metadata"] = None
          __props__.__dict__["spec"] = None
          __props__.__dict__["status"] = None
          return Job(resource_name, opts=opts, __props__=__props__)
  
      @property
      @pulumi.getter(name="apiVersion")
      def api_version(self) -> pulumi.Output[str]:
          """
          Optional. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources +optional
          """
          return pulumi.get(self, "api_version")
  
      @property
      @pulumi.getter
      def kind(self) -> pulumi.Output[str]:
          """
          Optional. Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds +optional
          """
          return pulumi.get(self, "kind")
  
      @property
      @pulumi.getter
      def metadata(self) -> pulumi.Output['outputs.ObjectMetaResponse']:
          """
          Optional. Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata +optional
          """
          return pulumi.get(self, "metadata")
  
      @property
      @pulumi.getter
      def spec(self) -> pulumi.Output['outputs.JobSpecResponse']:
          """
          Optional. Specification of the desired behavior of a job. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status +optional
          """
          return pulumi.get(self, "spec")
  
      @property
      @pulumi.getter
      def status(self) -> pulumi.Output['outputs.JobStatusResponse']:
          """
          Optional. Current status of a job. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status +optional
          """
          return pulumi.get(self, "status")
  
  