# 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__ = [
    'BaremetalIpArgs',
    'FirewallPolicyRuleArgs',
    'LoadbalancerRuleArgs',
    'MonitoringPolicyPortArgs',
    'MonitoringPolicyProcessArgs',
    'MonitoringPolicyThresholdArgs',
    'MonitoringPolicyThresholdCpusArgs',
    'MonitoringPolicyThresholdCpusCriticalArgs',
    'MonitoringPolicyThresholdCpusWarningArgs',
    'MonitoringPolicyThresholdDiskArgs',
    'MonitoringPolicyThresholdDiskCriticalArgs',
    'MonitoringPolicyThresholdDiskWarningArgs',
    'MonitoringPolicyThresholdInternalPingArgs',
    'MonitoringPolicyThresholdInternalPingCriticalArgs',
    'MonitoringPolicyThresholdInternalPingWarningArgs',
    'MonitoringPolicyThresholdRamArgs',
    'MonitoringPolicyThresholdRamCriticalArgs',
    'MonitoringPolicyThresholdRamWarningArgs',
    'MonitoringPolicyThresholdTransferArgs',
    'MonitoringPolicyThresholdTransferCriticalArgs',
    'MonitoringPolicyThresholdTransferWarningArgs',
    'ServerHddArgs',
    'ServerIpArgs',
    'SharedStorageStorageServerArgs',
    'SshKeyServerArgs',
]

@pulumi.input_type
class BaremetalIpArgs:
    def __init__(__self__, *,
                 firewall_policy_id: Optional[pulumi.Input[str]] = None,
                 id: Optional[pulumi.Input[str]] = None,
                 ip: Optional[pulumi.Input[str]] = None):
        if firewall_policy_id is not None:
            pulumi.set(__self__, "firewall_policy_id", firewall_policy_id)
        if id is not None:
            pulumi.set(__self__, "id", id)
        if ip is not None:
            pulumi.set(__self__, "ip", ip)

    @property
    @pulumi.getter(name="firewallPolicyId")
    def firewall_policy_id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "firewall_policy_id")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter
    def ip(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "ip")

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


@pulumi.input_type
class FirewallPolicyRuleArgs:
    def __init__(__self__, *,
                 protocol: pulumi.Input[str],
                 action: Optional[pulumi.Input[str]] = None,
                 description: Optional[pulumi.Input[str]] = None,
                 id: Optional[pulumi.Input[str]] = None,
                 port: Optional[pulumi.Input[str]] = None,
                 port_from: Optional[pulumi.Input[int]] = None,
                 port_to: Optional[pulumi.Input[int]] = None,
                 source_ip: Optional[pulumi.Input[str]] = None):
        pulumi.set(__self__, "protocol", protocol)
        if action is not None:
            pulumi.set(__self__, "action", action)
        if description is not None:
            pulumi.set(__self__, "description", description)
        if id is not None:
            pulumi.set(__self__, "id", id)
        if port is not None:
            pulumi.set(__self__, "port", port)
        if port_from is not None:
            pulumi.set(__self__, "port_from", port_from)
        if port_to is not None:
            pulumi.set(__self__, "port_to", port_to)
        if source_ip is not None:
            pulumi.set(__self__, "source_ip", source_ip)

    @property
    @pulumi.getter
    def protocol(self) -> pulumi.Input[str]:
        return pulumi.get(self, "protocol")

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

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

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

    @property
    @pulumi.getter
    def description(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "description")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter
    def port(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "port")

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

    @property
    @pulumi.getter(name="portFrom")
    def port_from(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "port_from")

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

    @property
    @pulumi.getter(name="portTo")
    def port_to(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "port_to")

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

    @property
    @pulumi.getter(name="sourceIp")
    def source_ip(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "source_ip")

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


@pulumi.input_type
class LoadbalancerRuleArgs:
    def __init__(__self__, *,
                 port_balancer: pulumi.Input[int],
                 port_server: pulumi.Input[int],
                 protocol: pulumi.Input[str],
                 source_ip: pulumi.Input[str],
                 id: Optional[pulumi.Input[str]] = None):
        pulumi.set(__self__, "port_balancer", port_balancer)
        pulumi.set(__self__, "port_server", port_server)
        pulumi.set(__self__, "protocol", protocol)
        pulumi.set(__self__, "source_ip", source_ip)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter(name="portBalancer")
    def port_balancer(self) -> pulumi.Input[int]:
        return pulumi.get(self, "port_balancer")

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

    @property
    @pulumi.getter(name="portServer")
    def port_server(self) -> pulumi.Input[int]:
        return pulumi.get(self, "port_server")

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

    @property
    @pulumi.getter
    def protocol(self) -> pulumi.Input[str]:
        return pulumi.get(self, "protocol")

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

    @property
    @pulumi.getter(name="sourceIp")
    def source_ip(self) -> pulumi.Input[str]:
        return pulumi.get(self, "source_ip")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "id")

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


@pulumi.input_type
class MonitoringPolicyPortArgs:
    def __init__(__self__, *,
                 email_notification: pulumi.Input[bool],
                 port: pulumi.Input[int],
                 alert_if: Optional[pulumi.Input[str]] = None,
                 id: Optional[pulumi.Input[str]] = None,
                 protocol: Optional[pulumi.Input[str]] = None):
        pulumi.set(__self__, "email_notification", email_notification)
        pulumi.set(__self__, "port", port)
        if alert_if is not None:
            pulumi.set(__self__, "alert_if", alert_if)
        if id is not None:
            pulumi.set(__self__, "id", id)
        if protocol is not None:
            pulumi.set(__self__, "protocol", protocol)

    @property
    @pulumi.getter(name="emailNotification")
    def email_notification(self) -> pulumi.Input[bool]:
        return pulumi.get(self, "email_notification")

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

    @property
    @pulumi.getter
    def port(self) -> pulumi.Input[int]:
        return pulumi.get(self, "port")

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

    @property
    @pulumi.getter(name="alertIf")
    def alert_if(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "alert_if")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter
    def protocol(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "protocol")

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


@pulumi.input_type
class MonitoringPolicyProcessArgs:
    def __init__(__self__, *,
                 email_notification: pulumi.Input[bool],
                 process: pulumi.Input[str],
                 alert_if: Optional[pulumi.Input[str]] = None,
                 id: Optional[pulumi.Input[str]] = None):
        pulumi.set(__self__, "email_notification", email_notification)
        pulumi.set(__self__, "process", process)
        if alert_if is not None:
            pulumi.set(__self__, "alert_if", alert_if)
        if id is not None:
            pulumi.set(__self__, "id", id)

    @property
    @pulumi.getter(name="emailNotification")
    def email_notification(self) -> pulumi.Input[bool]:
        return pulumi.get(self, "email_notification")

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

    @property
    @pulumi.getter
    def process(self) -> pulumi.Input[str]:
        return pulumi.get(self, "process")

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

    @property
    @pulumi.getter(name="alertIf")
    def alert_if(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "alert_if")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "id")

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


@pulumi.input_type
class MonitoringPolicyThresholdArgs:
    def __init__(__self__, *,
                 cpus: pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdCpusArgs']]],
                 disks: pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdDiskArgs']]],
                 internal_pings: pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdInternalPingArgs']]],
                 rams: pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdRamArgs']]],
                 transfers: pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdTransferArgs']]]):
        pulumi.set(__self__, "cpus", cpus)
        pulumi.set(__self__, "disks", disks)
        pulumi.set(__self__, "internal_pings", internal_pings)
        pulumi.set(__self__, "rams", rams)
        pulumi.set(__self__, "transfers", transfers)

    @property
    @pulumi.getter
    def cpus(self) -> pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdCpusArgs']]]:
        return pulumi.get(self, "cpus")

    @cpus.setter
    def cpus(self, value: pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdCpusArgs']]]):
        pulumi.set(self, "cpus", value)

    @property
    @pulumi.getter
    def disks(self) -> pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdDiskArgs']]]:
        return pulumi.get(self, "disks")

    @disks.setter
    def disks(self, value: pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdDiskArgs']]]):
        pulumi.set(self, "disks", value)

    @property
    @pulumi.getter(name="internalPings")
    def internal_pings(self) -> pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdInternalPingArgs']]]:
        return pulumi.get(self, "internal_pings")

    @internal_pings.setter
    def internal_pings(self, value: pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdInternalPingArgs']]]):
        pulumi.set(self, "internal_pings", value)

    @property
    @pulumi.getter
    def rams(self) -> pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdRamArgs']]]:
        return pulumi.get(self, "rams")

    @rams.setter
    def rams(self, value: pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdRamArgs']]]):
        pulumi.set(self, "rams", value)

    @property
    @pulumi.getter
    def transfers(self) -> pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdTransferArgs']]]:
        return pulumi.get(self, "transfers")

    @transfers.setter
    def transfers(self, value: pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdTransferArgs']]]):
        pulumi.set(self, "transfers", value)


@pulumi.input_type
class MonitoringPolicyThresholdCpusArgs:
    def __init__(__self__, *,
                 criticals: pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdCpusCriticalArgs']]],
                 warnings: pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdCpusWarningArgs']]]):
        pulumi.set(__self__, "criticals", criticals)
        pulumi.set(__self__, "warnings", warnings)

    @property
    @pulumi.getter
    def criticals(self) -> pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdCpusCriticalArgs']]]:
        return pulumi.get(self, "criticals")

    @criticals.setter
    def criticals(self, value: pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdCpusCriticalArgs']]]):
        pulumi.set(self, "criticals", value)

    @property
    @pulumi.getter
    def warnings(self) -> pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdCpusWarningArgs']]]:
        return pulumi.get(self, "warnings")

    @warnings.setter
    def warnings(self, value: pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdCpusWarningArgs']]]):
        pulumi.set(self, "warnings", value)


@pulumi.input_type
class MonitoringPolicyThresholdCpusCriticalArgs:
    def __init__(__self__, *,
                 alert: pulumi.Input[bool],
                 value: pulumi.Input[int]):
        pulumi.set(__self__, "alert", alert)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def alert(self) -> pulumi.Input[bool]:
        return pulumi.get(self, "alert")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[int]:
        return pulumi.get(self, "value")

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


@pulumi.input_type
class MonitoringPolicyThresholdCpusWarningArgs:
    def __init__(__self__, *,
                 alert: pulumi.Input[bool],
                 value: pulumi.Input[int]):
        pulumi.set(__self__, "alert", alert)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def alert(self) -> pulumi.Input[bool]:
        return pulumi.get(self, "alert")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[int]:
        return pulumi.get(self, "value")

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


@pulumi.input_type
class MonitoringPolicyThresholdDiskArgs:
    def __init__(__self__, *,
                 criticals: pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdDiskCriticalArgs']]],
                 warnings: pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdDiskWarningArgs']]]):
        pulumi.set(__self__, "criticals", criticals)
        pulumi.set(__self__, "warnings", warnings)

    @property
    @pulumi.getter
    def criticals(self) -> pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdDiskCriticalArgs']]]:
        return pulumi.get(self, "criticals")

    @criticals.setter
    def criticals(self, value: pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdDiskCriticalArgs']]]):
        pulumi.set(self, "criticals", value)

    @property
    @pulumi.getter
    def warnings(self) -> pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdDiskWarningArgs']]]:
        return pulumi.get(self, "warnings")

    @warnings.setter
    def warnings(self, value: pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdDiskWarningArgs']]]):
        pulumi.set(self, "warnings", value)


@pulumi.input_type
class MonitoringPolicyThresholdDiskCriticalArgs:
    def __init__(__self__, *,
                 alert: pulumi.Input[bool],
                 value: pulumi.Input[int]):
        pulumi.set(__self__, "alert", alert)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def alert(self) -> pulumi.Input[bool]:
        return pulumi.get(self, "alert")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[int]:
        return pulumi.get(self, "value")

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


@pulumi.input_type
class MonitoringPolicyThresholdDiskWarningArgs:
    def __init__(__self__, *,
                 alert: pulumi.Input[bool],
                 value: pulumi.Input[int]):
        pulumi.set(__self__, "alert", alert)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def alert(self) -> pulumi.Input[bool]:
        return pulumi.get(self, "alert")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[int]:
        return pulumi.get(self, "value")

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


@pulumi.input_type
class MonitoringPolicyThresholdInternalPingArgs:
    def __init__(__self__, *,
                 criticals: pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdInternalPingCriticalArgs']]],
                 warnings: pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdInternalPingWarningArgs']]]):
        pulumi.set(__self__, "criticals", criticals)
        pulumi.set(__self__, "warnings", warnings)

    @property
    @pulumi.getter
    def criticals(self) -> pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdInternalPingCriticalArgs']]]:
        return pulumi.get(self, "criticals")

    @criticals.setter
    def criticals(self, value: pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdInternalPingCriticalArgs']]]):
        pulumi.set(self, "criticals", value)

    @property
    @pulumi.getter
    def warnings(self) -> pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdInternalPingWarningArgs']]]:
        return pulumi.get(self, "warnings")

    @warnings.setter
    def warnings(self, value: pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdInternalPingWarningArgs']]]):
        pulumi.set(self, "warnings", value)


@pulumi.input_type
class MonitoringPolicyThresholdInternalPingCriticalArgs:
    def __init__(__self__, *,
                 alert: pulumi.Input[bool],
                 value: pulumi.Input[int]):
        pulumi.set(__self__, "alert", alert)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def alert(self) -> pulumi.Input[bool]:
        return pulumi.get(self, "alert")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[int]:
        return pulumi.get(self, "value")

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


@pulumi.input_type
class MonitoringPolicyThresholdInternalPingWarningArgs:
    def __init__(__self__, *,
                 alert: pulumi.Input[bool],
                 value: pulumi.Input[int]):
        pulumi.set(__self__, "alert", alert)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def alert(self) -> pulumi.Input[bool]:
        return pulumi.get(self, "alert")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[int]:
        return pulumi.get(self, "value")

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


@pulumi.input_type
class MonitoringPolicyThresholdRamArgs:
    def __init__(__self__, *,
                 criticals: pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdRamCriticalArgs']]],
                 warnings: pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdRamWarningArgs']]]):
        pulumi.set(__self__, "criticals", criticals)
        pulumi.set(__self__, "warnings", warnings)

    @property
    @pulumi.getter
    def criticals(self) -> pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdRamCriticalArgs']]]:
        return pulumi.get(self, "criticals")

    @criticals.setter
    def criticals(self, value: pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdRamCriticalArgs']]]):
        pulumi.set(self, "criticals", value)

    @property
    @pulumi.getter
    def warnings(self) -> pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdRamWarningArgs']]]:
        return pulumi.get(self, "warnings")

    @warnings.setter
    def warnings(self, value: pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdRamWarningArgs']]]):
        pulumi.set(self, "warnings", value)


@pulumi.input_type
class MonitoringPolicyThresholdRamCriticalArgs:
    def __init__(__self__, *,
                 alert: pulumi.Input[bool],
                 value: pulumi.Input[int]):
        pulumi.set(__self__, "alert", alert)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def alert(self) -> pulumi.Input[bool]:
        return pulumi.get(self, "alert")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[int]:
        return pulumi.get(self, "value")

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


@pulumi.input_type
class MonitoringPolicyThresholdRamWarningArgs:
    def __init__(__self__, *,
                 alert: pulumi.Input[bool],
                 value: pulumi.Input[int]):
        pulumi.set(__self__, "alert", alert)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def alert(self) -> pulumi.Input[bool]:
        return pulumi.get(self, "alert")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[int]:
        return pulumi.get(self, "value")

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


@pulumi.input_type
class MonitoringPolicyThresholdTransferArgs:
    def __init__(__self__, *,
                 criticals: pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdTransferCriticalArgs']]],
                 warnings: pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdTransferWarningArgs']]]):
        pulumi.set(__self__, "criticals", criticals)
        pulumi.set(__self__, "warnings", warnings)

    @property
    @pulumi.getter
    def criticals(self) -> pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdTransferCriticalArgs']]]:
        return pulumi.get(self, "criticals")

    @criticals.setter
    def criticals(self, value: pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdTransferCriticalArgs']]]):
        pulumi.set(self, "criticals", value)

    @property
    @pulumi.getter
    def warnings(self) -> pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdTransferWarningArgs']]]:
        return pulumi.get(self, "warnings")

    @warnings.setter
    def warnings(self, value: pulumi.Input[Sequence[pulumi.Input['MonitoringPolicyThresholdTransferWarningArgs']]]):
        pulumi.set(self, "warnings", value)


@pulumi.input_type
class MonitoringPolicyThresholdTransferCriticalArgs:
    def __init__(__self__, *,
                 alert: pulumi.Input[bool],
                 value: pulumi.Input[int]):
        pulumi.set(__self__, "alert", alert)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def alert(self) -> pulumi.Input[bool]:
        return pulumi.get(self, "alert")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[int]:
        return pulumi.get(self, "value")

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


@pulumi.input_type
class MonitoringPolicyThresholdTransferWarningArgs:
    def __init__(__self__, *,
                 alert: pulumi.Input[bool],
                 value: pulumi.Input[int]):
        pulumi.set(__self__, "alert", alert)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def alert(self) -> pulumi.Input[bool]:
        return pulumi.get(self, "alert")

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

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[int]:
        return pulumi.get(self, "value")

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


@pulumi.input_type
class ServerHddArgs:
    def __init__(__self__, *,
                 disk_size: pulumi.Input[int],
                 id: Optional[pulumi.Input[str]] = None,
                 is_main: Optional[pulumi.Input[bool]] = None):
        pulumi.set(__self__, "disk_size", disk_size)
        if id is not None:
            pulumi.set(__self__, "id", id)
        if is_main is not None:
            pulumi.set(__self__, "is_main", is_main)

    @property
    @pulumi.getter(name="diskSize")
    def disk_size(self) -> pulumi.Input[int]:
        return pulumi.get(self, "disk_size")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter(name="isMain")
    def is_main(self) -> Optional[pulumi.Input[bool]]:
        return pulumi.get(self, "is_main")

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


@pulumi.input_type
class ServerIpArgs:
    def __init__(__self__, *,
                 firewall_policy_id: Optional[pulumi.Input[str]] = None,
                 id: Optional[pulumi.Input[str]] = None,
                 ip: Optional[pulumi.Input[str]] = None):
        if firewall_policy_id is not None:
            pulumi.set(__self__, "firewall_policy_id", firewall_policy_id)
        if id is not None:
            pulumi.set(__self__, "id", id)
        if ip is not None:
            pulumi.set(__self__, "ip", ip)

    @property
    @pulumi.getter(name="firewallPolicyId")
    def firewall_policy_id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "firewall_policy_id")

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

    @property
    @pulumi.getter
    def id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter
    def ip(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "ip")

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


@pulumi.input_type
class SharedStorageStorageServerArgs:
    def __init__(__self__, *,
                 id: pulumi.Input[str],
                 rights: pulumi.Input[str]):
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "rights", rights)

    @property
    @pulumi.getter
    def id(self) -> pulumi.Input[str]:
        return pulumi.get(self, "id")

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

    @property
    @pulumi.getter
    def rights(self) -> pulumi.Input[str]:
        return pulumi.get(self, "rights")

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


@pulumi.input_type
class SshKeyServerArgs:
    def __init__(__self__, *,
                 id: pulumi.Input[str],
                 name: pulumi.Input[str]):
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "name", name)

    @property
    @pulumi.getter
    def id(self) -> pulumi.Input[str]:
        return pulumi.get(self, "id")

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

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

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


