<reponame>stack72/pulumi-hcp
# 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__ = [
    'GetHvnPeeringConnectionResult',
    'AwaitableGetHvnPeeringConnectionResult',
    'get_hvn_peering_connection',
    'get_hvn_peering_connection_output',
]

@pulumi.output_type
class GetHvnPeeringConnectionResult:
    """
    A collection of values returned by getHvnPeeringConnection.
    """
    def __init__(__self__, created_at=None, expires_at=None, hvn1=None, hvn2=None, id=None, organization_id=None, peering_id=None, project_id=None, self_link=None):
        if created_at and not isinstance(created_at, str):
            raise TypeError("Expected argument 'created_at' to be a str")
        pulumi.set(__self__, "created_at", created_at)
        if expires_at and not isinstance(expires_at, str):
            raise TypeError("Expected argument 'expires_at' to be a str")
        pulumi.set(__self__, "expires_at", expires_at)
        if hvn1 and not isinstance(hvn1, str):
            raise TypeError("Expected argument 'hvn1' to be a str")
        pulumi.set(__self__, "hvn1", hvn1)
        if hvn2 and not isinstance(hvn2, str):
            raise TypeError("Expected argument 'hvn2' to be a str")
        pulumi.set(__self__, "hvn2", hvn2)
        if id and not isinstance(id, str):
            raise TypeError("Expected argument 'id' to be a str")
        pulumi.set(__self__, "id", id)
        if organization_id and not isinstance(organization_id, str):
            raise TypeError("Expected argument 'organization_id' to be a str")
        pulumi.set(__self__, "organization_id", organization_id)
        if peering_id and not isinstance(peering_id, str):
            raise TypeError("Expected argument 'peering_id' to be a str")
        pulumi.set(__self__, "peering_id", peering_id)
        if project_id and not isinstance(project_id, str):
            raise TypeError("Expected argument 'project_id' to be a str")
        pulumi.set(__self__, "project_id", project_id)
        if self_link and not isinstance(self_link, str):
            raise TypeError("Expected argument 'self_link' to be a str")
        pulumi.set(__self__, "self_link", self_link)

    @property
    @pulumi.getter(name="createdAt")
    def created_at(self) -> str:
        """
        The time that the peering connection was created.
        """
        return pulumi.get(self, "created_at")

    @property
    @pulumi.getter(name="expiresAt")
    def expires_at(self) -> str:
        """
        The time after which the peering connection will be considered expired if it hasn't transitioned into `ACCEPTED` or `ACTIVE` state.
        """
        return pulumi.get(self, "expires_at")

    @property
    @pulumi.getter
    def hvn1(self) -> str:
        """
        The unique URL of one of the HVNs being peered.
        """
        return pulumi.get(self, "hvn1")

    @property
    @pulumi.getter
    def hvn2(self) -> str:
        """
        The unique URL of one of the HVNs being peered.
        """
        return pulumi.get(self, "hvn2")

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        The provider-assigned unique ID for this managed resource.
        """
        return pulumi.get(self, "id")

    @property
    @pulumi.getter(name="organizationId")
    def organization_id(self) -> str:
        """
        The ID of the HCP organization where the peering connection is located. Always matches the HVNs' organization.
        """
        return pulumi.get(self, "organization_id")

    @property
    @pulumi.getter(name="peeringId")
    def peering_id(self) -> str:
        """
        The ID of the peering connection.
        """
        return pulumi.get(self, "peering_id")

    @property
    @pulumi.getter(name="projectId")
    def project_id(self) -> str:
        """
        The ID of the HCP project where the peering connection is located. Always matches the HVNs' project.
        """
        return pulumi.get(self, "project_id")

    @property
    @pulumi.getter(name="selfLink")
    def self_link(self) -> str:
        """
        A unique URL identifying the peering connection
        """
        return pulumi.get(self, "self_link")


class AwaitableGetHvnPeeringConnectionResult(GetHvnPeeringConnectionResult):
    # pylint: disable=using-constant-test
    def __await__(self):
        if False:
            yield self
        return GetHvnPeeringConnectionResult(
            created_at=self.created_at,
            expires_at=self.expires_at,
            hvn1=self.hvn1,
            hvn2=self.hvn2,
            id=self.id,
            organization_id=self.organization_id,
            peering_id=self.peering_id,
            project_id=self.project_id,
            self_link=self.self_link)


def get_hvn_peering_connection(hvn1: Optional[str] = None,
                               hvn2: Optional[str] = None,
                               peering_id: Optional[str] = None,
                               opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetHvnPeeringConnectionResult:
    """
    The HVN peering connection data source provides information about an existing peering connection between HVNs.

    ## Example Usage

    ```python
    import pulumi
    import pulumi_hcp as hcp

    test = hcp.get_hvn_peering_connection(peering_id=var["peering_id"],
        hvn1=var["hvn_1"],
        hvn2=var["hvn_2"])
    ```


    :param str hvn1: The unique URL of one of the HVNs being peered.
    :param str hvn2: The unique URL of one of the HVNs being peered.
    :param str peering_id: The ID of the peering connection.
    """
    __args__ = dict()
    __args__['hvn1'] = hvn1
    __args__['hvn2'] = hvn2
    __args__['peeringId'] = peering_id
    if opts is None:
        opts = pulumi.InvokeOptions()
    if opts.version is None:
        opts.version = _utilities.get_version()
        if opts.plugin_download_url is None:
            opts.plugin_download_url = _utilities.get_plugin_download_url()
    __ret__ = pulumi.runtime.invoke('hcp:index/getHvnPeeringConnection:getHvnPeeringConnection', __args__, opts=opts, typ=GetHvnPeeringConnectionResult).value

    return AwaitableGetHvnPeeringConnectionResult(
        created_at=__ret__.created_at,
        expires_at=__ret__.expires_at,
        hvn1=__ret__.hvn1,
        hvn2=__ret__.hvn2,
        id=__ret__.id,
        organization_id=__ret__.organization_id,
        peering_id=__ret__.peering_id,
        project_id=__ret__.project_id,
        self_link=__ret__.self_link)


@_utilities.lift_output_func(get_hvn_peering_connection)
def get_hvn_peering_connection_output(hvn1: Optional[pulumi.Input[str]] = None,
                                      hvn2: Optional[pulumi.Input[str]] = None,
                                      peering_id: Optional[pulumi.Input[str]] = None,
                                      opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetHvnPeeringConnectionResult]:
    """
    The HVN peering connection data source provides information about an existing peering connection between HVNs.

    ## Example Usage

    ```python
    import pulumi
    import pulumi_hcp as hcp

    test = hcp.get_hvn_peering_connection(peering_id=var["peering_id"],
        hvn1=var["hvn_1"],
        hvn2=var["hvn_2"])
    ```


    :param str hvn1: The unique URL of one of the HVNs being peered.
    :param str hvn2: The unique URL of one of the HVNs being peered.
    :param str peering_id: The ID of the peering connection.
    """
    ...

# 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__ = [
    'GetHvnPeeringConnectionResult',
    'AwaitableGetHvnPeeringConnectionResult',
    'get_hvn_peering_connection',
    'get_hvn_peering_connection_output',
]

@pulumi.output_type
class GetHvnPeeringConnectionResult:
    """
    A collection of values returned by getHvnPeeringConnection.
    """
    def __init__(__self__, created_at=None, expires_at=None, hvn1=None, hvn2=None, id=None, organization_id=None, peering_id=None, project_id=None, self_link=None):
        if created_at and not isinstance(created_at, str):
            raise TypeError("Expected argument 'created_at' to be a str")
        pulumi.set(__self__, "created_at", created_at)
        if expires_at and not isinstance(expires_at, str):
            raise TypeError("Expected argument 'expires_at' to be a str")
        pulumi.set(__self__, "expires_at", expires_at)
        if hvn1 and not isinstance(hvn1, str):
            raise TypeError("Expected argument 'hvn1' to be a str")
        pulumi.set(__self__, "hvn1", hvn1)
        if hvn2 and not isinstance(hvn2, str):
            raise TypeError("Expected argument 'hvn2' to be a str")
        pulumi.set(__self__, "hvn2", hvn2)
        if id and not isinstance(id, str):
            raise TypeError("Expected argument 'id' to be a str")
        pulumi.set(__self__, "id", id)
        if organization_id and not isinstance(organization_id, str):
            raise TypeError("Expected argument 'organization_id' to be a str")
        pulumi.set(__self__, "organization_id", organization_id)
        if peering_id and not isinstance(peering_id, str):
            raise TypeError("Expected argument 'peering_id' to be a str")
        pulumi.set(__self__, "peering_id", peering_id)
        if project_id and not isinstance(project_id, str):
            raise TypeError("Expected argument 'project_id' to be a str")
        pulumi.set(__self__, "project_id", project_id)
        if self_link and not isinstance(self_link, str):
            raise TypeError("Expected argument 'self_link' to be a str")
        pulumi.set(__self__, "self_link", self_link)

    @property
    @pulumi.getter(name="createdAt")
    def created_at(self) -> str:
        """
        The time that the peering connection was created.
        """
        return pulumi.get(self, "created_at")

    @property
    @pulumi.getter(name="expiresAt")
    def expires_at(self) -> str:
        """
        The time after which the peering connection will be considered expired if it hasn't transitioned into `ACCEPTED` or `ACTIVE` state.
        """
        return pulumi.get(self, "expires_at")

    @property
    @pulumi.getter
    def hvn1(self) -> str:
        """
        The unique URL of one of the HVNs being peered.
        """
        return pulumi.get(self, "hvn1")

    @property
    @pulumi.getter
    def hvn2(self) -> str:
        """
        The unique URL of one of the HVNs being peered.
        """
        return pulumi.get(self, "hvn2")

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        The provider-assigned unique ID for this managed resource.
        """
        return pulumi.get(self, "id")

    @property
    @pulumi.getter(name="organizationId")
    def organization_id(self) -> str:
        """
        The ID of the HCP organization where the peering connection is located. Always matches the HVNs' organization.
        """
        return pulumi.get(self, "organization_id")

    @property
    @pulumi.getter(name="peeringId")
    def peering_id(self) -> str:
        """
        The ID of the peering connection.
        """
        return pulumi.get(self, "peering_id")

    @property
    @pulumi.getter(name="projectId")
    def project_id(self) -> str:
        """
        The ID of the HCP project where the peering connection is located. Always matches the HVNs' project.
        """
        return pulumi.get(self, "project_id")

    @property
    @pulumi.getter(name="selfLink")
    def self_link(self) -> str:
        """
        A unique URL identifying the peering connection
        """
        return pulumi.get(self, "self_link")


class AwaitableGetHvnPeeringConnectionResult(GetHvnPeeringConnectionResult):
    # pylint: disable=using-constant-test
    def __await__(self):
        if False:
            yield self
        return GetHvnPeeringConnectionResult(
            created_at=self.created_at,
            expires_at=self.expires_at,
            hvn1=self.hvn1,
            hvn2=self.hvn2,
            id=self.id,
            organization_id=self.organization_id,
            peering_id=self.peering_id,
            project_id=self.project_id,
            self_link=self.self_link)


def get_hvn_peering_connection(hvn1: Optional[str] = None,
                               hvn2: Optional[str] = None,
                               peering_id: Optional[str] = None,
                               opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetHvnPeeringConnectionResult:
    """
    The HVN peering connection data source provides information about an existing peering connection between HVNs.

    ## Example Usage

    ```python
    import pulumi
    import pulumi_hcp as hcp

    test = hcp.get_hvn_peering_connection(peering_id=var["peering_id"],
        hvn1=var["hvn_1"],
        hvn2=var["hvn_2"])
    ```


    :param str hvn1: The unique URL of one of the HVNs being peered.
    :param str hvn2: The unique URL of one of the HVNs being peered.
    :param str peering_id: The ID of the peering connection.
    """
    __args__ = dict()
    __args__['hvn1'] = hvn1
    __args__['hvn2'] = hvn2
    __args__['peeringId'] = peering_id
    if opts is None:
        opts = pulumi.InvokeOptions()
    if opts.version is None:
        opts.version = _utilities.get_version()
        if opts.plugin_download_url is None:
            opts.plugin_download_url = _utilities.get_plugin_download_url()
    __ret__ = pulumi.runtime.invoke('hcp:index/getHvnPeeringConnection:getHvnPeeringConnection', __args__, opts=opts, typ=GetHvnPeeringConnectionResult).value

    return AwaitableGetHvnPeeringConnectionResult(
        created_at=__ret__.created_at,
        expires_at=__ret__.expires_at,
        hvn1=__ret__.hvn1,
        hvn2=__ret__.hvn2,
        id=__ret__.id,
        organization_id=__ret__.organization_id,
        peering_id=__ret__.peering_id,
        project_id=__ret__.project_id,
        self_link=__ret__.self_link)


@_utilities.lift_output_func(get_hvn_peering_connection)
def get_hvn_peering_connection_output(hvn1: Optional[pulumi.Input[str]] = None,
                                      hvn2: Optional[pulumi.Input[str]] = None,
                                      peering_id: Optional[pulumi.Input[str]] = None,
                                      opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetHvnPeeringConnectionResult]:
    """
    The HVN peering connection data source provides information about an existing peering connection between HVNs.

    ## Example Usage

    ```python
    import pulumi
    import pulumi_hcp as hcp

    test = hcp.get_hvn_peering_connection(peering_id=var["peering_id"],
        hvn1=var["hvn_1"],
        hvn2=var["hvn_2"])
    ```


    :param str hvn1: The unique URL of one of the HVNs being peered.
    :param str hvn2: The unique URL of one of the HVNs being peered.
    :param str peering_id: The ID of the peering connection.
    """
    ...
# 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! *** A collection of values returned by getHvnPeeringConnection. The time that the peering connection was created. The time after which the peering connection will be considered expired if it hasn't transitioned into `ACCEPTED` or `ACTIVE` state. The unique URL of one of the HVNs being peered. The unique URL of one of the HVNs being peered. The provider-assigned unique ID for this managed resource. The ID of the HCP organization where the peering connection is located. Always matches the HVNs' organization. The ID of the peering connection. The ID of the HCP project where the peering connection is located. Always matches the HVNs' project. A unique URL identifying the peering connection # pylint: disable=using-constant-test The HVN peering connection data source provides information about an existing peering connection between HVNs.      ## Example Usage      ```python     import pulumi     import pulumi_hcp as hcp      test = hcp.get_hvn_peering_connection(peering_id=var["peering_id"],         hvn1=var["hvn_1"],         hvn2=var["hvn_2"])     ```       :param str hvn1: The unique URL of one of the HVNs being peered.     :param str hvn2: The unique URL of one of the HVNs being peered.     :param str peering_id: The ID of the peering connection. The HVN peering connection data source provides information about an existing peering connection between HVNs.      ## Example Usage      ```python     import pulumi     import pulumi_hcp as hcp      test = hcp.get_hvn_peering_connection(peering_id=var["peering_id"],         hvn1=var["hvn_1"],         hvn2=var["hvn_2"])     ```       :param str hvn1: The unique URL of one of the HVNs being peered.     :param str hvn2: The unique URL of one of the HVNs being peered.     :param str peering_id: The ID of the peering connection.