# 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, Mapping, Optional, Sequence, Union, overload
from .. import _utilities

__all__ = [
    'AwsLink',
    'AwsTag',
    'AzureLink',
    'AzureTag',
    'GcpLink',
    'GcpTag',
    'NsxtLink',
    'NsxtTag',
    'NsxvLink',
    'NsxvTag',
    'VSphereLink',
    'VSphereTag',
    'VmcLink',
    'VmcTag',
    'GetAwsLinkResult',
    'GetAwsTagResult',
    'GetAzureLinkResult',
    'GetAzureTagResult',
    'GetGcpLinkResult',
    'GetGcpTagResult',
    'GetNsxtLinkResult',
    'GetNsxtTagResult',
    'GetNsxvLinkResult',
    'GetNsxvTagResult',
    'GetVSphereLinkResult',
    'GetVSphereTagResult',
    'GetVmcLinkResult',
    'GetVmcTagResult',
]

@pulumi.output_type
class AwsLink(dict):
    def __init__(__self__, *,
                 rel: str,
                 href: Optional[str] = None,
                 hrefs: Optional[Sequence[str]] = None):
        pulumi.set(__self__, "rel", rel)
        if href is not None:
            pulumi.set(__self__, "href", href)
        if hrefs is not None:
            pulumi.set(__self__, "hrefs", hrefs)

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

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

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


@pulumi.output_type
class AwsTag(dict):
    def __init__(__self__, *,
                 key: str,
                 value: str):
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

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

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


@pulumi.output_type
class AzureLink(dict):
    def __init__(__self__, *,
                 rel: str,
                 href: Optional[str] = None,
                 hrefs: Optional[Sequence[str]] = None):
        pulumi.set(__self__, "rel", rel)
        if href is not None:
            pulumi.set(__self__, "href", href)
        if hrefs is not None:
            pulumi.set(__self__, "hrefs", hrefs)

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

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

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


@pulumi.output_type
class AzureTag(dict):
    def __init__(__self__, *,
                 key: str,
                 value: str):
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

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

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


@pulumi.output_type
class GcpLink(dict):
    def __init__(__self__, *,
                 rel: str,
                 href: Optional[str] = None,
                 hrefs: Optional[Sequence[str]] = None):
        pulumi.set(__self__, "rel", rel)
        if href is not None:
            pulumi.set(__self__, "href", href)
        if hrefs is not None:
            pulumi.set(__self__, "hrefs", hrefs)

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

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

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


@pulumi.output_type
class GcpTag(dict):
    def __init__(__self__, *,
                 key: str,
                 value: str):
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

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

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


@pulumi.output_type
class NsxtLink(dict):
    def __init__(__self__, *,
                 rel: str,
                 href: Optional[str] = None,
                 hrefs: Optional[Sequence[str]] = None):
        pulumi.set(__self__, "rel", rel)
        if href is not None:
            pulumi.set(__self__, "href", href)
        if hrefs is not None:
            pulumi.set(__self__, "hrefs", hrefs)

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

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

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


@pulumi.output_type
class NsxtTag(dict):
    def __init__(__self__, *,
                 key: str,
                 value: str):
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

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

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


@pulumi.output_type
class NsxvLink(dict):
    def __init__(__self__, *,
                 rel: str,
                 href: Optional[str] = None,
                 hrefs: Optional[Sequence[str]] = None):
        pulumi.set(__self__, "rel", rel)
        if href is not None:
            pulumi.set(__self__, "href", href)
        if hrefs is not None:
            pulumi.set(__self__, "hrefs", hrefs)

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

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

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


@pulumi.output_type
class NsxvTag(dict):
    def __init__(__self__, *,
                 key: str,
                 value: str):
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

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

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


@pulumi.output_type
class VSphereLink(dict):
    def __init__(__self__, *,
                 rel: str,
                 href: Optional[str] = None,
                 hrefs: Optional[Sequence[str]] = None):
        pulumi.set(__self__, "rel", rel)
        if href is not None:
            pulumi.set(__self__, "href", href)
        if hrefs is not None:
            pulumi.set(__self__, "hrefs", hrefs)

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

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

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


@pulumi.output_type
class VSphereTag(dict):
    def __init__(__self__, *,
                 key: str,
                 value: str):
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

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

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


@pulumi.output_type
class VmcLink(dict):
    def __init__(__self__, *,
                 rel: str,
                 href: Optional[str] = None,
                 hrefs: Optional[Sequence[str]] = None):
        pulumi.set(__self__, "rel", rel)
        if href is not None:
            pulumi.set(__self__, "href", href)
        if hrefs is not None:
            pulumi.set(__self__, "hrefs", hrefs)

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

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

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


@pulumi.output_type
class VmcTag(dict):
    def __init__(__self__, *,
                 key: str,
                 value: str):
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

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

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


@pulumi.output_type
class GetAwsLinkResult(dict):
    def __init__(__self__, *,
                 rel: str,
                 href: Optional[str] = None,
                 hrefs: Optional[Sequence[str]] = None):
        pulumi.set(__self__, "rel", rel)
        if href is not None:
            pulumi.set(__self__, "href", href)
        if hrefs is not None:
            pulumi.set(__self__, "hrefs", hrefs)

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

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

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


@pulumi.output_type
class GetAwsTagResult(dict):
    def __init__(__self__, *,
                 key: str,
                 value: str):
        """
        :param str key: Tag’s key.
        :param str value: Tag’s value.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Tag’s key.
        """
        return pulumi.get(self, "key")

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Tag’s value.
        """
        return pulumi.get(self, "value")


@pulumi.output_type
class GetAzureLinkResult(dict):
    def __init__(__self__, *,
                 rel: str,
                 href: Optional[str] = None,
                 hrefs: Optional[Sequence[str]] = None):
        pulumi.set(__self__, "rel", rel)
        if href is not None:
            pulumi.set(__self__, "href", href)
        if hrefs is not None:
            pulumi.set(__self__, "hrefs", hrefs)

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

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

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


@pulumi.output_type
class GetAzureTagResult(dict):
    def __init__(__self__, *,
                 key: str,
                 value: str):
        """
        :param str key: Tag’s key.
        :param str value: Tag’s value.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Tag’s key.
        """
        return pulumi.get(self, "key")

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Tag’s value.
        """
        return pulumi.get(self, "value")


@pulumi.output_type
class GetGcpLinkResult(dict):
    def __init__(__self__, *,
                 rel: str,
                 href: Optional[str] = None,
                 hrefs: Optional[Sequence[str]] = None):
        pulumi.set(__self__, "rel", rel)
        if href is not None:
            pulumi.set(__self__, "href", href)
        if hrefs is not None:
            pulumi.set(__self__, "hrefs", hrefs)

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

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

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


@pulumi.output_type
class GetGcpTagResult(dict):
    def __init__(__self__, *,
                 key: str,
                 value: str):
        """
        :param str key: Tag’s key.
        :param str value: Tag’s value.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Tag’s key.
        """
        return pulumi.get(self, "key")

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Tag’s value.
        """
        return pulumi.get(self, "value")


@pulumi.output_type
class GetNsxtLinkResult(dict):
    def __init__(__self__, *,
                 rel: str,
                 href: Optional[str] = None,
                 hrefs: Optional[Sequence[str]] = None):
        pulumi.set(__self__, "rel", rel)
        if href is not None:
            pulumi.set(__self__, "href", href)
        if hrefs is not None:
            pulumi.set(__self__, "hrefs", hrefs)

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

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

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


@pulumi.output_type
class GetNsxtTagResult(dict):
    def __init__(__self__, *,
                 key: str,
                 value: str):
        """
        :param str key: Tag’s key.
        :param str value: Tag’s value.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Tag’s key.
        """
        return pulumi.get(self, "key")

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Tag’s value.
        """
        return pulumi.get(self, "value")


@pulumi.output_type
class GetNsxvLinkResult(dict):
    def __init__(__self__, *,
                 rel: str,
                 href: Optional[str] = None,
                 hrefs: Optional[Sequence[str]] = None):
        pulumi.set(__self__, "rel", rel)
        if href is not None:
            pulumi.set(__self__, "href", href)
        if hrefs is not None:
            pulumi.set(__self__, "hrefs", hrefs)

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

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

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


@pulumi.output_type
class GetNsxvTagResult(dict):
    def __init__(__self__, *,
                 key: str,
                 value: str):
        """
        :param str key: Tag’s key.
        :param str value: Tag’s value.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Tag’s key.
        """
        return pulumi.get(self, "key")

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Tag’s value.
        """
        return pulumi.get(self, "value")


@pulumi.output_type
class GetVSphereLinkResult(dict):
    def __init__(__self__, *,
                 rel: str,
                 href: Optional[str] = None,
                 hrefs: Optional[Sequence[str]] = None):
        pulumi.set(__self__, "rel", rel)
        if href is not None:
            pulumi.set(__self__, "href", href)
        if hrefs is not None:
            pulumi.set(__self__, "hrefs", hrefs)

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

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

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


@pulumi.output_type
class GetVSphereTagResult(dict):
    def __init__(__self__, *,
                 key: str,
                 value: str):
        """
        :param str key: Tag’s key.
        :param str value: Tag’s value.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Tag’s key.
        """
        return pulumi.get(self, "key")

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Tag’s value.
        """
        return pulumi.get(self, "value")


@pulumi.output_type
class GetVmcLinkResult(dict):
    def __init__(__self__, *,
                 rel: str,
                 href: Optional[str] = None,
                 hrefs: Optional[Sequence[str]] = None):
        pulumi.set(__self__, "rel", rel)
        if href is not None:
            pulumi.set(__self__, "href", href)
        if hrefs is not None:
            pulumi.set(__self__, "hrefs", hrefs)

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

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

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


@pulumi.output_type
class GetVmcTagResult(dict):
    def __init__(__self__, *,
                 key: str,
                 value: str):
        """
        :param str key: Tag’s key.
        :param str value: Tag’s value.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        Tag’s key.
        """
        return pulumi.get(self, "key")

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Tag’s value.
        """
        return pulumi.get(self, "value")


