# 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 pulumi
import pulumi.runtime
from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload
from .. import _utilities
from . import outputs

__all__ = [
    'Ssh',
    'SshNode',
]

@pulumi.output_type
class Ssh(dict):
    def __init__(__self__, *,
                 agent: Optional[bool] = None,
                 agent_socket: Optional[str] = None,
                 nodes: Optional[Sequence['outputs.SshNode']] = None,
                 password: Optional[str] = None,
                 username: Optional[str] = None):
        Ssh._configure(
            lambda key, value: pulumi.set(__self__, key, value),
            agent=agent,
            agent_socket=agent_socket,
            nodes=nodes,
            password=password,
            username=username,
        )
    @staticmethod
    def _configure(
             _setter: Callable[[Any, Any], None],
             agent: Optional[bool] = None,
             agent_socket: Optional[str] = None,
             nodes: Optional[Sequence['outputs.SshNode']] = None,
             password: Optional[str] = None,
             username: Optional[str] = None,
             opts: Optional[pulumi.ResourceOptions]=None,
             **kwargs):
        if 'agentSocket' in kwargs:
            agent_socket = kwargs['agentSocket']

        if agent is not None:
            _setter("agent", agent)
        if agent_socket is not None:
            _setter("agent_socket", agent_socket)
        if nodes is not None:
            _setter("nodes", nodes)
        if password is not None:
            _setter("password", password)
        if username is not None:
            _setter("username", username)

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

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

    @property
    @pulumi.getter
    def nodes(self) -> Optional[Sequence['outputs.SshNode']]:
        return pulumi.get(self, "nodes")

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

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


@pulumi.output_type
class SshNode(dict):
    def __init__(__self__, *,
                 address: str,
                 name: str,
                 port: Optional[int] = None):
        SshNode._configure(
            lambda key, value: pulumi.set(__self__, key, value),
            address=address,
            name=name,
            port=port,
        )
    @staticmethod
    def _configure(
             _setter: Callable[[Any, Any], None],
             address: str,
             name: str,
             port: Optional[int] = None,
             opts: Optional[pulumi.ResourceOptions]=None,
             **kwargs):

        _setter("address", address)
        _setter("name", name)
        if port is not None:
            _setter("port", port)

    @property
    @pulumi.getter
    def address(self) -> str:
        return pulumi.get(self, "address")

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

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


