github.com/myhau/pulumi/pkg/v3@v3.70.2-0.20221116134521-f2775972e587/codegen/testing/test/testdata/plain-object-defaults/python/pulumi_example/foo.py (about)

     1  # coding=utf-8
     2  # *** WARNING: this file was generated by test. ***
     3  # *** Do not edit by hand unless you're certain you know what you are doing! ***
     4  
     5  import copy
     6  import warnings
     7  import pulumi
     8  import pulumi.runtime
     9  from typing import Any, Mapping, Optional, Sequence, Union, overload
    10  from . import _utilities
    11  from . import outputs
    12  from ._inputs import *
    13  
    14  __all__ = ['FooArgs', 'Foo']
    15  
    16  @pulumi.input_type
    17  class FooArgs:
    18      def __init__(__self__, *,
    19                   backup_kube_client_settings: pulumi.Input['KubeClientSettingsArgs'],
    20                   argument: Optional[str] = None,
    21                   kube_client_settings: Optional[pulumi.Input['KubeClientSettingsArgs']] = None,
    22                   settings: Optional[pulumi.Input['LayeredTypeArgs']] = None):
    23          """
    24          The set of arguments for constructing a Foo resource.
    25          :param pulumi.Input['KubeClientSettingsArgs'] backup_kube_client_settings: Options for tuning the Kubernetes client used by a Provider.
    26          :param pulumi.Input['KubeClientSettingsArgs'] kube_client_settings: Options for tuning the Kubernetes client used by a Provider.
    27          :param pulumi.Input['LayeredTypeArgs'] settings: describing things
    28          """
    29          pulumi.set(__self__, "backup_kube_client_settings", backup_kube_client_settings)
    30          if argument is not None:
    31              pulumi.set(__self__, "argument", argument)
    32          if kube_client_settings is not None:
    33              pulumi.set(__self__, "kube_client_settings", kube_client_settings)
    34          if settings is not None:
    35              pulumi.set(__self__, "settings", settings)
    36  
    37      @property
    38      @pulumi.getter(name="backupKubeClientSettings")
    39      def backup_kube_client_settings(self) -> pulumi.Input['KubeClientSettingsArgs']:
    40          """
    41          Options for tuning the Kubernetes client used by a Provider.
    42          """
    43          return pulumi.get(self, "backup_kube_client_settings")
    44  
    45      @backup_kube_client_settings.setter
    46      def backup_kube_client_settings(self, value: pulumi.Input['KubeClientSettingsArgs']):
    47          pulumi.set(self, "backup_kube_client_settings", value)
    48  
    49      @property
    50      @pulumi.getter
    51      def argument(self) -> Optional[str]:
    52          return pulumi.get(self, "argument")
    53  
    54      @argument.setter
    55      def argument(self, value: Optional[str]):
    56          pulumi.set(self, "argument", value)
    57  
    58      @property
    59      @pulumi.getter(name="kubeClientSettings")
    60      def kube_client_settings(self) -> Optional[pulumi.Input['KubeClientSettingsArgs']]:
    61          """
    62          Options for tuning the Kubernetes client used by a Provider.
    63          """
    64          return pulumi.get(self, "kube_client_settings")
    65  
    66      @kube_client_settings.setter
    67      def kube_client_settings(self, value: Optional[pulumi.Input['KubeClientSettingsArgs']]):
    68          pulumi.set(self, "kube_client_settings", value)
    69  
    70      @property
    71      @pulumi.getter
    72      def settings(self) -> Optional[pulumi.Input['LayeredTypeArgs']]:
    73          """
    74          describing things
    75          """
    76          return pulumi.get(self, "settings")
    77  
    78      @settings.setter
    79      def settings(self, value: Optional[pulumi.Input['LayeredTypeArgs']]):
    80          pulumi.set(self, "settings", value)
    81  
    82  
    83  class Foo(pulumi.CustomResource):
    84      @overload
    85      def __init__(__self__,
    86                   resource_name: str,
    87                   opts: Optional[pulumi.ResourceOptions] = None,
    88                   argument: Optional[str] = None,
    89                   backup_kube_client_settings: Optional[pulumi.Input[pulumi.InputType['KubeClientSettingsArgs']]] = None,
    90                   kube_client_settings: Optional[pulumi.Input[pulumi.InputType['KubeClientSettingsArgs']]] = None,
    91                   settings: Optional[pulumi.Input[pulumi.InputType['LayeredTypeArgs']]] = None,
    92                   __props__=None):
    93          """
    94          test new feature with resoruces
    95  
    96          :param str resource_name: The name of the resource.
    97          :param pulumi.ResourceOptions opts: Options for the resource.
    98          :param pulumi.Input[pulumi.InputType['KubeClientSettingsArgs']] backup_kube_client_settings: Options for tuning the Kubernetes client used by a Provider.
    99          :param pulumi.Input[pulumi.InputType['KubeClientSettingsArgs']] kube_client_settings: Options for tuning the Kubernetes client used by a Provider.
   100          :param pulumi.Input[pulumi.InputType['LayeredTypeArgs']] settings: describing things
   101          """
   102          ...
   103      @overload
   104      def __init__(__self__,
   105                   resource_name: str,
   106                   args: FooArgs,
   107                   opts: Optional[pulumi.ResourceOptions] = None):
   108          """
   109          test new feature with resoruces
   110  
   111          :param str resource_name: The name of the resource.
   112          :param FooArgs args: The arguments to use to populate this resource's properties.
   113          :param pulumi.ResourceOptions opts: Options for the resource.
   114          """
   115          ...
   116      def __init__(__self__, resource_name: str, *args, **kwargs):
   117          resource_args, opts = _utilities.get_resource_args_opts(FooArgs, pulumi.ResourceOptions, *args, **kwargs)
   118          if resource_args is not None:
   119              __self__._internal_init(resource_name, opts, **resource_args.__dict__)
   120          else:
   121              __self__._internal_init(resource_name, *args, **kwargs)
   122  
   123      def _internal_init(__self__,
   124                   resource_name: str,
   125                   opts: Optional[pulumi.ResourceOptions] = None,
   126                   argument: Optional[str] = None,
   127                   backup_kube_client_settings: Optional[pulumi.Input[pulumi.InputType['KubeClientSettingsArgs']]] = None,
   128                   kube_client_settings: Optional[pulumi.Input[pulumi.InputType['KubeClientSettingsArgs']]] = None,
   129                   settings: Optional[pulumi.Input[pulumi.InputType['LayeredTypeArgs']]] = None,
   130                   __props__=None):
   131          opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
   132          if not isinstance(opts, pulumi.ResourceOptions):
   133              raise TypeError('Expected resource options to be a ResourceOptions instance')
   134          if opts.id is None:
   135              if __props__ is not None:
   136                  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
   137              __props__ = FooArgs.__new__(FooArgs)
   138  
   139              __props__.__dict__["argument"] = argument
   140              if backup_kube_client_settings is None and not opts.urn:
   141                  raise TypeError("Missing required property 'backup_kube_client_settings'")
   142              __props__.__dict__["backup_kube_client_settings"] = backup_kube_client_settings
   143              __props__.__dict__["kube_client_settings"] = kube_client_settings
   144              __props__.__dict__["settings"] = settings
   145              __props__.__dict__["default_kube_client_settings"] = None
   146          super(Foo, __self__).__init__(
   147              'example:index:Foo',
   148              resource_name,
   149              __props__,
   150              opts)
   151  
   152      @staticmethod
   153      def get(resource_name: str,
   154              id: pulumi.Input[str],
   155              opts: Optional[pulumi.ResourceOptions] = None) -> 'Foo':
   156          """
   157          Get an existing Foo resource's state with the given name, id, and optional extra
   158          properties used to qualify the lookup.
   159  
   160          :param str resource_name: The unique name of the resulting resource.
   161          :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
   162          :param pulumi.ResourceOptions opts: Options for the resource.
   163          """
   164          opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
   165  
   166          __props__ = FooArgs.__new__(FooArgs)
   167  
   168          __props__.__dict__["default_kube_client_settings"] = None
   169          return Foo(resource_name, opts=opts, __props__=__props__)
   170  
   171      @property
   172      @pulumi.getter(name="defaultKubeClientSettings")
   173      def default_kube_client_settings(self) -> pulumi.Output[Optional['outputs.KubeClientSettings']]:
   174          """
   175          A test for plain types
   176          """
   177          return pulumi.get(self, "default_kube_client_settings")
   178