# 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 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

__all__ = [
    'NestServiceInstanceCommodityArgs',
    'NestServiceInstanceCommodityArgsDict',
    'NestServiceInstanceOperationMetadataArgs',
    'NestServiceInstanceOperationMetadataArgsDict',
    'GetNestServiceInstancesFilterArgs',
    'GetNestServiceInstancesFilterArgsDict',
]

MYPY = False

if not MYPY:
    class NestServiceInstanceCommodityArgsDict(TypedDict):
        pay_period: NotRequired[pulumi.Input[int]]
        """
        Length of purchase.
        """
        pay_period_unit: NotRequired[pulumi.Input[str]]
        """
        Duration unit. Valid values: `Year`, `Month`, `Day`.
        """
elif False:
    NestServiceInstanceCommodityArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class NestServiceInstanceCommodityArgs:
    def __init__(__self__, *,
                 pay_period: Optional[pulumi.Input[int]] = None,
                 pay_period_unit: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[int] pay_period: Length of purchase.
        :param pulumi.Input[str] pay_period_unit: Duration unit. Valid values: `Year`, `Month`, `Day`.
        """
        if pay_period is not None:
            pulumi.set(__self__, "pay_period", pay_period)
        if pay_period_unit is not None:
            pulumi.set(__self__, "pay_period_unit", pay_period_unit)

    @property
    @pulumi.getter(name="payPeriod")
    def pay_period(self) -> Optional[pulumi.Input[int]]:
        """
        Length of purchase.
        """
        return pulumi.get(self, "pay_period")

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

    @property
    @pulumi.getter(name="payPeriodUnit")
    def pay_period_unit(self) -> Optional[pulumi.Input[str]]:
        """
        Duration unit. Valid values: `Year`, `Month`, `Day`.
        """
        return pulumi.get(self, "pay_period_unit")

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


if not MYPY:
    class NestServiceInstanceOperationMetadataArgsDict(TypedDict):
        operated_service_instance_id: NotRequired[pulumi.Input[str]]
        """
        The ID of the imported service instance.
        """
        operation_end_time: NotRequired[pulumi.Input[str]]
        """
        The end time of O&M.
        """
        operation_start_time: NotRequired[pulumi.Input[str]]
        """
        The start time of O&M.
        """
        resources: NotRequired[pulumi.Input[str]]
        """
        The list of imported resources.
        """
elif False:
    NestServiceInstanceOperationMetadataArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class NestServiceInstanceOperationMetadataArgs:
    def __init__(__self__, *,
                 operated_service_instance_id: Optional[pulumi.Input[str]] = None,
                 operation_end_time: Optional[pulumi.Input[str]] = None,
                 operation_start_time: Optional[pulumi.Input[str]] = None,
                 resources: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] operated_service_instance_id: The ID of the imported service instance.
        :param pulumi.Input[str] operation_end_time: The end time of O&M.
        :param pulumi.Input[str] operation_start_time: The start time of O&M.
        :param pulumi.Input[str] resources: The list of imported resources.
        """
        if operated_service_instance_id is not None:
            pulumi.set(__self__, "operated_service_instance_id", operated_service_instance_id)
        if operation_end_time is not None:
            pulumi.set(__self__, "operation_end_time", operation_end_time)
        if operation_start_time is not None:
            pulumi.set(__self__, "operation_start_time", operation_start_time)
        if resources is not None:
            pulumi.set(__self__, "resources", resources)

    @property
    @pulumi.getter(name="operatedServiceInstanceId")
    def operated_service_instance_id(self) -> Optional[pulumi.Input[str]]:
        """
        The ID of the imported service instance.
        """
        return pulumi.get(self, "operated_service_instance_id")

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

    @property
    @pulumi.getter(name="operationEndTime")
    def operation_end_time(self) -> Optional[pulumi.Input[str]]:
        """
        The end time of O&M.
        """
        return pulumi.get(self, "operation_end_time")

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

    @property
    @pulumi.getter(name="operationStartTime")
    def operation_start_time(self) -> Optional[pulumi.Input[str]]:
        """
        The start time of O&M.
        """
        return pulumi.get(self, "operation_start_time")

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

    @property
    @pulumi.getter
    def resources(self) -> Optional[pulumi.Input[str]]:
        """
        The list of imported resources.
        """
        return pulumi.get(self, "resources")

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


if not MYPY:
    class GetNestServiceInstancesFilterArgsDict(TypedDict):
        name: NotRequired[str]
        """
        The name of the service.
        """
        values: NotRequired[Sequence[str]]
        """
        Set of values that are accepted for the given field.
        """
elif False:
    GetNestServiceInstancesFilterArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class GetNestServiceInstancesFilterArgs:
    def __init__(__self__, *,
                 name: Optional[str] = None,
                 values: Optional[Sequence[str]] = None):
        """
        :param str name: The name of the service.
        :param Sequence[str] values: Set of values that are accepted for the given field.
        """
        if name is not None:
            pulumi.set(__self__, "name", name)
        if values is not None:
            pulumi.set(__self__, "values", values)

    @property
    @pulumi.getter
    def name(self) -> Optional[str]:
        """
        The name of the service.
        """
        return pulumi.get(self, "name")

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

    @property
    @pulumi.getter
    def values(self) -> Optional[Sequence[str]]:
        """
        Set of values that are accepted for the given field.
        """
        return pulumi.get(self, "values")

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


