# coding=utf-8
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
# *** 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

__all__ = [
    'CustomProviderActionArgs',
    'CustomProviderResourceTypeArgs',
    'CustomProviderValidationArgs',
]

@pulumi.input_type
class CustomProviderActionArgs:
    def __init__(__self__, *,
                 endpoint: pulumi.Input[str],
                 name: pulumi.Input[str]):
        """
        :param pulumi.Input[str] endpoint: Specifies the endpoint of the action.
        :param pulumi.Input[str] name: Specifies the name of the action.
        """
        pulumi.set(__self__, "endpoint", endpoint)
        pulumi.set(__self__, "name", name)

    @property
    @pulumi.getter
    def endpoint(self) -> pulumi.Input[str]:
        """
        Specifies the endpoint of the action.
        """
        return pulumi.get(self, "endpoint")

    @endpoint.setter
    def endpoint(self, value: pulumi.Input[str]):
        pulumi.set(self, "endpoint", value)

    @property
    @pulumi.getter
    def name(self) -> pulumi.Input[str]:
        """
        Specifies the name of the action.
        """
        return pulumi.get(self, "name")

    @name.setter
    def name(self, value: pulumi.Input[str]):
        pulumi.set(self, "name", value)


@pulumi.input_type
class CustomProviderResourceTypeArgs:
    def __init__(__self__, *,
                 endpoint: pulumi.Input[str],
                 name: pulumi.Input[str],
                 routing_type: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] endpoint: Specifies the endpoint of the route definition.
        :param pulumi.Input[str] name: Specifies the name of the route definition.
        :param pulumi.Input[str] routing_type: The routing type that is supported for the resource request. Valid values are `ResourceTypeRoutingProxy` or `ResourceTypeRoutingProxyCache`. This value defaults to `ResourceTypeRoutingProxy`.
        """
        pulumi.set(__self__, "endpoint", endpoint)
        pulumi.set(__self__, "name", name)
        if routing_type is not None:
            pulumi.set(__self__, "routing_type", routing_type)

    @property
    @pulumi.getter
    def endpoint(self) -> pulumi.Input[str]:
        """
        Specifies the endpoint of the route definition.
        """
        return pulumi.get(self, "endpoint")

    @endpoint.setter
    def endpoint(self, value: pulumi.Input[str]):
        pulumi.set(self, "endpoint", value)

    @property
    @pulumi.getter
    def name(self) -> pulumi.Input[str]:
        """
        Specifies the name of the route definition.
        """
        return pulumi.get(self, "name")

    @name.setter
    def name(self, value: pulumi.Input[str]):
        pulumi.set(self, "name", value)

    @property
    @pulumi.getter(name="routingType")
    def routing_type(self) -> Optional[pulumi.Input[str]]:
        """
        The routing type that is supported for the resource request. Valid values are `ResourceTypeRoutingProxy` or `ResourceTypeRoutingProxyCache`. This value defaults to `ResourceTypeRoutingProxy`.
        """
        return pulumi.get(self, "routing_type")

    @routing_type.setter
    def routing_type(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "routing_type", value)


@pulumi.input_type
class CustomProviderValidationArgs:
    def __init__(__self__, *,
                 specification: pulumi.Input[str]):
        """
        :param pulumi.Input[str] specification: The endpoint where the validation specification is located.
        """
        pulumi.set(__self__, "specification", specification)

    @property
    @pulumi.getter
    def specification(self) -> pulumi.Input[str]:
        """
        The endpoint where the validation specification is located.
        """
        return pulumi.get(self, "specification")

    @specification.setter
    def specification(self, value: pulumi.Input[str]):
        pulumi.set(self, "specification", value)


