pulumi/tests/testdata/codegen/provider-config-schema/python/pulumi_configstation/provider.py

122 lines
5.7 KiB
Python

# coding=utf-8
# *** WARNING: this file was generated by test. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***
import copy
import warnings
import sys
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
if sys.version_info >= (3, 11):
from typing import NotRequired, TypedDict, TypeAlias
else:
from typing_extensions import NotRequired, TypedDict, TypeAlias
from . import _utilities
from . import config as _config
from ._enums import *
__all__ = ['ProviderArgs', 'Provider']
@pulumi.input_type
class ProviderArgs:
def __init__(__self__, *,
favorite_color: Optional[pulumi.Input[Union[str, 'Color']]] = None,
secret_sandwiches: Optional[pulumi.Input[Sequence[pulumi.Input['_config.SandwichArgs']]]] = None):
"""
The set of arguments for constructing a Provider resource.
:param pulumi.Input[Union[str, 'Color']] favorite_color: this is a relaxed string enum which can also be set via env var
:param pulumi.Input[Sequence[pulumi.Input['_config.SandwichArgs']]] secret_sandwiches: Super duper secret sandwiches.
"""
if favorite_color is None:
favorite_color = _utilities.get_env('FAVE_COLOR')
if favorite_color is not None:
pulumi.set(__self__, "favorite_color", favorite_color)
if secret_sandwiches is not None:
pulumi.set(__self__, "secret_sandwiches", secret_sandwiches)
@property
@pulumi.getter(name="favoriteColor")
def favorite_color(self) -> Optional[pulumi.Input[Union[str, 'Color']]]:
"""
this is a relaxed string enum which can also be set via env var
"""
return pulumi.get(self, "favorite_color")
@favorite_color.setter
def favorite_color(self, value: Optional[pulumi.Input[Union[str, 'Color']]]):
pulumi.set(self, "favorite_color", value)
@property
@pulumi.getter(name="secretSandwiches")
def secret_sandwiches(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_config.SandwichArgs']]]]:
"""
Super duper secret sandwiches.
"""
return pulumi.get(self, "secret_sandwiches")
@secret_sandwiches.setter
def secret_sandwiches(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['_config.SandwichArgs']]]]):
pulumi.set(self, "secret_sandwiches", value)
class Provider(pulumi.ProviderResource):
@overload
def __init__(__self__,
resource_name: str,
opts: Optional[pulumi.ResourceOptions] = None,
favorite_color: Optional[pulumi.Input[Union[str, 'Color']]] = None,
secret_sandwiches: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_config.SandwichArgs', '_config.SandwichArgsDict']]]]] = None,
__props__=None):
"""
Create a Configstation resource with the given unique name, props, and options.
:param str resource_name: The name of the resource.
:param pulumi.ResourceOptions opts: Options for the resource.
:param pulumi.Input[Union[str, 'Color']] favorite_color: this is a relaxed string enum which can also be set via env var
:param pulumi.Input[Sequence[pulumi.Input[Union['_config.SandwichArgs', '_config.SandwichArgsDict']]]] secret_sandwiches: Super duper secret sandwiches.
"""
...
@overload
def __init__(__self__,
resource_name: str,
args: Optional[ProviderArgs] = None,
opts: Optional[pulumi.ResourceOptions] = None):
"""
Create a Configstation resource with the given unique name, props, and options.
:param str resource_name: The name of the resource.
:param ProviderArgs 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(ProviderArgs, 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,
favorite_color: Optional[pulumi.Input[Union[str, 'Color']]] = None,
secret_sandwiches: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_config.SandwichArgs', '_config.SandwichArgsDict']]]]] = None,
__props__=None):
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
if not isinstance(opts, pulumi.ResourceOptions):
raise TypeError('Expected resource options to be a ResourceOptions instance')
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__ = ProviderArgs.__new__(ProviderArgs)
if favorite_color is None:
favorite_color = _utilities.get_env('FAVE_COLOR')
__props__.__dict__["favorite_color"] = pulumi.Output.from_input(favorite_color).apply(pulumi.runtime.to_json) if favorite_color is not None else None
__props__.__dict__["secret_sandwiches"] = pulumi.Output.secret(secret_sandwiches).apply(pulumi.runtime.to_json) if secret_sandwiches is not None else None
super(Provider, __self__).__init__(
'configstation',
resource_name,
__props__,
opts)