# coding=utf-8
# *** WARNING: this file was generated by the Pulumi SDK Generator. ***
# *** 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
from ._enums import *

__all__ = [
    'ConnectivityGroupItemArgs',
    'HubArgs',
    'NetworkManagerPropertiesNetworkManagerScopesArgs',
    'NetworkManagerSecurityGroupItemArgs',
]

@pulumi.input_type
class ConnectivityGroupItemArgs:
    def __init__(__self__, *,
                 group_connectivity: pulumi.Input[Union[str, 'GroupConnectivity']],
                 network_group_id: pulumi.Input[str],
                 is_global: Optional[pulumi.Input[Union[str, 'IsGlobal']]] = None,
                 use_hub_gateway: Optional[pulumi.Input[Union[str, 'UseHubGateway']]] = None):
        """
        Connectivity group item.
        :param pulumi.Input[Union[str, 'GroupConnectivity']] group_connectivity: Group connectivity type.
        :param pulumi.Input[str] network_group_id: Network group Id.
        :param pulumi.Input[Union[str, 'IsGlobal']] is_global: Flag if global is supported.
        :param pulumi.Input[Union[str, 'UseHubGateway']] use_hub_gateway: Flag if need to use hub gateway.
        """
        pulumi.set(__self__, "group_connectivity", group_connectivity)
        pulumi.set(__self__, "network_group_id", network_group_id)
        if is_global is not None:
            pulumi.set(__self__, "is_global", is_global)
        if use_hub_gateway is not None:
            pulumi.set(__self__, "use_hub_gateway", use_hub_gateway)

    @property
    @pulumi.getter(name="groupConnectivity")
    def group_connectivity(self) -> pulumi.Input[Union[str, 'GroupConnectivity']]:
        """
        Group connectivity type.
        """
        return pulumi.get(self, "group_connectivity")

    @group_connectivity.setter
    def group_connectivity(self, value: pulumi.Input[Union[str, 'GroupConnectivity']]):
        pulumi.set(self, "group_connectivity", value)

    @property
    @pulumi.getter(name="networkGroupId")
    def network_group_id(self) -> pulumi.Input[str]:
        """
        Network group Id.
        """
        return pulumi.get(self, "network_group_id")

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

    @property
    @pulumi.getter(name="isGlobal")
    def is_global(self) -> Optional[pulumi.Input[Union[str, 'IsGlobal']]]:
        """
        Flag if global is supported.
        """
        return pulumi.get(self, "is_global")

    @is_global.setter
    def is_global(self, value: Optional[pulumi.Input[Union[str, 'IsGlobal']]]):
        pulumi.set(self, "is_global", value)

    @property
    @pulumi.getter(name="useHubGateway")
    def use_hub_gateway(self) -> Optional[pulumi.Input[Union[str, 'UseHubGateway']]]:
        """
        Flag if need to use hub gateway.
        """
        return pulumi.get(self, "use_hub_gateway")

    @use_hub_gateway.setter
    def use_hub_gateway(self, value: Optional[pulumi.Input[Union[str, 'UseHubGateway']]]):
        pulumi.set(self, "use_hub_gateway", value)


@pulumi.input_type
class HubArgs:
    def __init__(__self__, *,
                 resource_id: Optional[pulumi.Input[str]] = None,
                 resource_type: Optional[pulumi.Input[str]] = None):
        """
        Hub Item.
        :param pulumi.Input[str] resource_id: Resource Id.
        :param pulumi.Input[str] resource_type: Resource Type.
        """
        if resource_id is not None:
            pulumi.set(__self__, "resource_id", resource_id)
        if resource_type is not None:
            pulumi.set(__self__, "resource_type", resource_type)

    @property
    @pulumi.getter(name="resourceId")
    def resource_id(self) -> Optional[pulumi.Input[str]]:
        """
        Resource Id.
        """
        return pulumi.get(self, "resource_id")

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

    @property
    @pulumi.getter(name="resourceType")
    def resource_type(self) -> Optional[pulumi.Input[str]]:
        """
        Resource Type.
        """
        return pulumi.get(self, "resource_type")

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


@pulumi.input_type
class NetworkManagerPropertiesNetworkManagerScopesArgs:
    def __init__(__self__, *,
                 management_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 subscriptions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        Scope of Network Manager.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] management_groups: List of management groups.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] subscriptions: List of subscriptions.
        """
        if management_groups is not None:
            pulumi.set(__self__, "management_groups", management_groups)
        if subscriptions is not None:
            pulumi.set(__self__, "subscriptions", subscriptions)

    @property
    @pulumi.getter(name="managementGroups")
    def management_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        List of management groups.
        """
        return pulumi.get(self, "management_groups")

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

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

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


@pulumi.input_type
class NetworkManagerSecurityGroupItemArgs:
    def __init__(__self__, *,
                 network_group_id: pulumi.Input[str]):
        """
        Network manager security group item.
        :param pulumi.Input[str] network_group_id: Network manager group Id.
        """
        pulumi.set(__self__, "network_group_id", network_group_id)

    @property
    @pulumi.getter(name="networkGroupId")
    def network_group_id(self) -> pulumi.Input[str]:
        """
        Network manager group Id.
        """
        return pulumi.get(self, "network_group_id")

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


