# 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__ = [
    'AwsGovcloudIntegrationsAlbArgs',
    'AwsGovcloudIntegrationsApiGatewayArgs',
    'AwsGovcloudIntegrationsAutoScalingArgs',
    'AwsGovcloudIntegrationsAwsDirectConnectArgs',
    'AwsGovcloudIntegrationsAwsStatesArgs',
    'AwsGovcloudIntegrationsCloudtrailArgs',
    'AwsGovcloudIntegrationsDynamoDbArgs',
    'AwsGovcloudIntegrationsEbsArgs',
    'AwsGovcloudIntegrationsEc2Args',
    'AwsGovcloudIntegrationsElasticSearchArgs',
    'AwsGovcloudIntegrationsElbArgs',
    'AwsGovcloudIntegrationsEmrArgs',
    'AwsGovcloudIntegrationsIamArgs',
    'AwsGovcloudIntegrationsLambdaArgs',
    'AwsGovcloudIntegrationsRdsArgs',
    'AwsGovcloudIntegrationsRedShiftArgs',
    'AwsGovcloudIntegrationsRoute53Args',
    'AwsGovcloudIntegrationsS3Args',
    'AwsGovcloudIntegrationsSnsArgs',
    'AwsGovcloudIntegrationsSqsArgs',
    'AwsIntegrationsBillingArgs',
    'AwsIntegrationsCloudtrailArgs',
    'AwsIntegrationsDocDbArgs',
    'AwsIntegrationsHealthArgs',
    'AwsIntegrationsS3Args',
    'AwsIntegrationsTrustedAdvisorArgs',
    'AwsIntegrationsVpcArgs',
    'AwsIntegrationsXRayArgs',
    'AzureIntegrationsApiManagementArgs',
    'AzureIntegrationsAppGatewayArgs',
    'AzureIntegrationsAppServiceArgs',
    'AzureIntegrationsContainersArgs',
    'AzureIntegrationsCosmosDbArgs',
    'AzureIntegrationsCostManagementArgs',
    'AzureIntegrationsDataFactoryArgs',
    'AzureIntegrationsEventHubArgs',
    'AzureIntegrationsExpressRouteArgs',
    'AzureIntegrationsFirewallsArgs',
    'AzureIntegrationsFrontDoorArgs',
    'AzureIntegrationsFunctionsArgs',
    'AzureIntegrationsKeyVaultArgs',
    'AzureIntegrationsLoadBalancerArgs',
    'AzureIntegrationsLogicAppsArgs',
    'AzureIntegrationsMachineLearningArgs',
    'AzureIntegrationsMariaDbArgs',
    'AzureIntegrationsMysqlArgs',
    'AzureIntegrationsMysqlFlexibleArgs',
    'AzureIntegrationsPostgresqlArgs',
    'AzureIntegrationsPostgresqlFlexibleArgs',
    'AzureIntegrationsPowerBiDedicatedArgs',
    'AzureIntegrationsRedisCacheArgs',
    'AzureIntegrationsServiceBusArgs',
    'AzureIntegrationsSqlArgs',
    'AzureIntegrationsSqlManagedArgs',
    'AzureIntegrationsStorageArgs',
    'AzureIntegrationsVirtualMachineArgs',
    'AzureIntegrationsVirtualNetworksArgs',
    'AzureIntegrationsVmsArgs',
    'AzureIntegrationsVpnGatewayArgs',
    'GcpIntegrationsAlloyDbArgs',
    'GcpIntegrationsAppEngineArgs',
    'GcpIntegrationsBigQueryArgs',
    'GcpIntegrationsBigTableArgs',
    'GcpIntegrationsComposerArgs',
    'GcpIntegrationsDataFlowArgs',
    'GcpIntegrationsDataProcArgs',
    'GcpIntegrationsDataStoreArgs',
    'GcpIntegrationsFireBaseDatabaseArgs',
    'GcpIntegrationsFireBaseHostingArgs',
    'GcpIntegrationsFireBaseStorageArgs',
    'GcpIntegrationsFireStoreArgs',
    'GcpIntegrationsFunctionsArgs',
    'GcpIntegrationsInterconnectArgs',
    'GcpIntegrationsKubernetesArgs',
    'GcpIntegrationsLoadBalancingArgs',
    'GcpIntegrationsMemCacheArgs',
    'GcpIntegrationsPubSubArgs',
    'GcpIntegrationsRedisArgs',
    'GcpIntegrationsRouterArgs',
    'GcpIntegrationsRunArgs',
    'GcpIntegrationsSpannerArgs',
    'GcpIntegrationsSqlArgs',
    'GcpIntegrationsStorageArgs',
    'GcpIntegrationsVirtualMachinesArgs',
    'GcpIntegrationsVpcAccessArgs',
]

@pulumi.input_type
class AwsGovcloudIntegrationsAlbArgs:
    def __init__(__self__, *,
                 aws_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 fetch_extended_inventory: Optional[pulumi.Input[bool]] = None,
                 fetch_tags: Optional[pulumi.Input[bool]] = None,
                 load_balancer_prefixes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 tag_key: Optional[pulumi.Input[str]] = None,
                 tag_value: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input[str]]] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
               * `direct connect`
               * `aws states`
        :param pulumi.Input[bool] fetch_extended_inventory: Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param pulumi.Input[bool] fetch_tags: Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] load_balancer_prefixes: Specify each name or prefix for the LBs that you want to monitor. Filter values are case-sensitive.
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[str] tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param pulumi.Input[str] tag_value: Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
               * `api Gateway`
               * `auto scaling`
               * `elastic search`
        """
        if aws_regions is not None:
            pulumi.set(__self__, "aws_regions", aws_regions)
        if fetch_extended_inventory is not None:
            pulumi.set(__self__, "fetch_extended_inventory", fetch_extended_inventory)
        if fetch_tags is not None:
            pulumi.set(__self__, "fetch_tags", fetch_tags)
        if load_balancer_prefixes is not None:
            pulumi.set(__self__, "load_balancer_prefixes", load_balancer_prefixes)
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if tag_key is not None:
            pulumi.set(__self__, "tag_key", tag_key)
        if tag_value is not None:
            pulumi.set(__self__, "tag_value", tag_value)

    @property
    @pulumi.getter(name="awsRegions")
    def aws_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each AWS region that includes the resources that you want to monitor.
        * `direct connect`
        * `aws states`
        """
        return pulumi.get(self, "aws_regions")

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

    @property
    @pulumi.getter(name="fetchExtendedInventory")
    def fetch_extended_inventory(self) -> Optional[pulumi.Input[bool]]:
        """
        Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
        """
        return pulumi.get(self, "fetch_extended_inventory")

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

    @property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[pulumi.Input[bool]]:
        """
        Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        """
        return pulumi.get(self, "fetch_tags")

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

    @property
    @pulumi.getter(name="loadBalancerPrefixes")
    def load_balancer_prefixes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each name or prefix for the LBs that you want to monitor. Filter values are case-sensitive.
        """
        return pulumi.get(self, "load_balancer_prefixes")

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

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[pulumi.Input[str]]:
        """
        Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        """
        return pulumi.get(self, "tag_key")

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

    @property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[pulumi.Input[str]]:
        """
        Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
        * `api Gateway`
        * `auto scaling`
        * `elastic search`
        """
        return pulumi.get(self, "tag_value")

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


@pulumi.input_type
class AwsGovcloudIntegrationsApiGatewayArgs:
    def __init__(__self__, *,
                 aws_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 stage_prefixes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 tag_key: Optional[pulumi.Input[str]] = None,
                 tag_value: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input[str]]] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
               * `direct connect`
               * `aws states`
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] stage_prefixes: Specify each name or prefix for the Stages that you want to monitor. Filter values are case-sensitive.
        :param pulumi.Input[str] tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param pulumi.Input[str] tag_value: Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
               * `api Gateway`
               * `auto scaling`
               * `elastic search`
        """
        if aws_regions is not None:
            pulumi.set(__self__, "aws_regions", aws_regions)
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if stage_prefixes is not None:
            pulumi.set(__self__, "stage_prefixes", stage_prefixes)
        if tag_key is not None:
            pulumi.set(__self__, "tag_key", tag_key)
        if tag_value is not None:
            pulumi.set(__self__, "tag_value", tag_value)

    @property
    @pulumi.getter(name="awsRegions")
    def aws_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each AWS region that includes the resources that you want to monitor.
        * `direct connect`
        * `aws states`
        """
        return pulumi.get(self, "aws_regions")

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

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="stagePrefixes")
    def stage_prefixes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each name or prefix for the Stages that you want to monitor. Filter values are case-sensitive.
        """
        return pulumi.get(self, "stage_prefixes")

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

    @property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[pulumi.Input[str]]:
        """
        Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        """
        return pulumi.get(self, "tag_key")

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

    @property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[pulumi.Input[str]]:
        """
        Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
        * `api Gateway`
        * `auto scaling`
        * `elastic search`
        """
        return pulumi.get(self, "tag_value")

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


@pulumi.input_type
class AwsGovcloudIntegrationsAutoScalingArgs:
    def __init__(__self__, *,
                 aws_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input[str]]] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
               * `direct connect`
               * `aws states`
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if aws_regions is not None:
            pulumi.set(__self__, "aws_regions", aws_regions)
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="awsRegions")
    def aws_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each AWS region that includes the resources that you want to monitor.
        * `direct connect`
        * `aws states`
        """
        return pulumi.get(self, "aws_regions")

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

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class AwsGovcloudIntegrationsAwsDirectConnectArgs:
    def __init__(__self__, *,
                 aws_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input[str]]] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
               * `direct connect`
               * `aws states`
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if aws_regions is not None:
            pulumi.set(__self__, "aws_regions", aws_regions)
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="awsRegions")
    def aws_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each AWS region that includes the resources that you want to monitor.
        * `direct connect`
        * `aws states`
        """
        return pulumi.get(self, "aws_regions")

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

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class AwsGovcloudIntegrationsAwsStatesArgs:
    def __init__(__self__, *,
                 aws_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input[str]]] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
               * `direct connect`
               * `aws states`
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if aws_regions is not None:
            pulumi.set(__self__, "aws_regions", aws_regions)
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="awsRegions")
    def aws_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each AWS region that includes the resources that you want to monitor.
        * `direct connect`
        * `aws states`
        """
        return pulumi.get(self, "aws_regions")

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

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class AwsGovcloudIntegrationsCloudtrailArgs:
    def __init__(__self__, *,
                 aws_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input[str]]] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
               * `direct connect`
               * `aws states`
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if aws_regions is not None:
            pulumi.set(__self__, "aws_regions", aws_regions)
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="awsRegions")
    def aws_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each AWS region that includes the resources that you want to monitor.
        * `direct connect`
        * `aws states`
        """
        return pulumi.get(self, "aws_regions")

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

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class AwsGovcloudIntegrationsDynamoDbArgs:
    def __init__(__self__, *,
                 aws_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 fetch_extended_inventory: Optional[pulumi.Input[bool]] = None,
                 fetch_tags: Optional[pulumi.Input[bool]] = None,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 tag_key: Optional[pulumi.Input[str]] = None,
                 tag_value: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input[str]]] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
               * `direct connect`
               * `aws states`
        :param pulumi.Input[bool] fetch_extended_inventory: Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param pulumi.Input[bool] fetch_tags: Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[str] tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param pulumi.Input[str] tag_value: Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
               * `api Gateway`
               * `auto scaling`
               * `elastic search`
        """
        if aws_regions is not None:
            pulumi.set(__self__, "aws_regions", aws_regions)
        if fetch_extended_inventory is not None:
            pulumi.set(__self__, "fetch_extended_inventory", fetch_extended_inventory)
        if fetch_tags is not None:
            pulumi.set(__self__, "fetch_tags", fetch_tags)
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if tag_key is not None:
            pulumi.set(__self__, "tag_key", tag_key)
        if tag_value is not None:
            pulumi.set(__self__, "tag_value", tag_value)

    @property
    @pulumi.getter(name="awsRegions")
    def aws_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each AWS region that includes the resources that you want to monitor.
        * `direct connect`
        * `aws states`
        """
        return pulumi.get(self, "aws_regions")

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

    @property
    @pulumi.getter(name="fetchExtendedInventory")
    def fetch_extended_inventory(self) -> Optional[pulumi.Input[bool]]:
        """
        Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
        """
        return pulumi.get(self, "fetch_extended_inventory")

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

    @property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[pulumi.Input[bool]]:
        """
        Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        """
        return pulumi.get(self, "fetch_tags")

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

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[pulumi.Input[str]]:
        """
        Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        """
        return pulumi.get(self, "tag_key")

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

    @property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[pulumi.Input[str]]:
        """
        Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
        * `api Gateway`
        * `auto scaling`
        * `elastic search`
        """
        return pulumi.get(self, "tag_value")

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


@pulumi.input_type
class AwsGovcloudIntegrationsEbsArgs:
    def __init__(__self__, *,
                 aws_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 fetch_extended_inventory: Optional[pulumi.Input[bool]] = None,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 tag_key: Optional[pulumi.Input[str]] = None,
                 tag_value: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input[str]]] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
               * `direct connect`
               * `aws states`
        :param pulumi.Input[bool] fetch_extended_inventory: Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[str] tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param pulumi.Input[str] tag_value: Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
               * `api Gateway`
               * `auto scaling`
               * `elastic search`
        """
        if aws_regions is not None:
            pulumi.set(__self__, "aws_regions", aws_regions)
        if fetch_extended_inventory is not None:
            pulumi.set(__self__, "fetch_extended_inventory", fetch_extended_inventory)
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if tag_key is not None:
            pulumi.set(__self__, "tag_key", tag_key)
        if tag_value is not None:
            pulumi.set(__self__, "tag_value", tag_value)

    @property
    @pulumi.getter(name="awsRegions")
    def aws_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each AWS region that includes the resources that you want to monitor.
        * `direct connect`
        * `aws states`
        """
        return pulumi.get(self, "aws_regions")

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

    @property
    @pulumi.getter(name="fetchExtendedInventory")
    def fetch_extended_inventory(self) -> Optional[pulumi.Input[bool]]:
        """
        Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
        """
        return pulumi.get(self, "fetch_extended_inventory")

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

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[pulumi.Input[str]]:
        """
        Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        """
        return pulumi.get(self, "tag_key")

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

    @property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[pulumi.Input[str]]:
        """
        Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
        * `api Gateway`
        * `auto scaling`
        * `elastic search`
        """
        return pulumi.get(self, "tag_value")

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


@pulumi.input_type
class AwsGovcloudIntegrationsEc2Args:
    def __init__(__self__, *,
                 aws_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 fetch_ip_addresses: Optional[pulumi.Input[bool]] = None,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 tag_key: Optional[pulumi.Input[str]] = None,
                 tag_value: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input[str]]] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
               * `direct connect`
               * `aws states`
        :param pulumi.Input[bool] fetch_ip_addresses: Specify if IP addresses of ec2 instance should be collected
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[str] tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param pulumi.Input[str] tag_value: Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
               * `api Gateway`
               * `auto scaling`
               * `elastic search`
        """
        if aws_regions is not None:
            pulumi.set(__self__, "aws_regions", aws_regions)
        if fetch_ip_addresses is not None:
            pulumi.set(__self__, "fetch_ip_addresses", fetch_ip_addresses)
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if tag_key is not None:
            pulumi.set(__self__, "tag_key", tag_key)
        if tag_value is not None:
            pulumi.set(__self__, "tag_value", tag_value)

    @property
    @pulumi.getter(name="awsRegions")
    def aws_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each AWS region that includes the resources that you want to monitor.
        * `direct connect`
        * `aws states`
        """
        return pulumi.get(self, "aws_regions")

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

    @property
    @pulumi.getter(name="fetchIpAddresses")
    def fetch_ip_addresses(self) -> Optional[pulumi.Input[bool]]:
        """
        Specify if IP addresses of ec2 instance should be collected
        """
        return pulumi.get(self, "fetch_ip_addresses")

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

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[pulumi.Input[str]]:
        """
        Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        """
        return pulumi.get(self, "tag_key")

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

    @property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[pulumi.Input[str]]:
        """
        Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
        * `api Gateway`
        * `auto scaling`
        * `elastic search`
        """
        return pulumi.get(self, "tag_value")

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


@pulumi.input_type
class AwsGovcloudIntegrationsElasticSearchArgs:
    def __init__(__self__, *,
                 aws_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 fetch_nodes: Optional[pulumi.Input[bool]] = None,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 tag_key: Optional[pulumi.Input[str]] = None,
                 tag_value: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input[str]]] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
               * `direct connect`
               * `aws states`
        :param pulumi.Input[bool] fetch_nodes: Specify if metrics should be collected for nodes. Turning it on will increase the number of API calls made to CloudWatch.
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[str] tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param pulumi.Input[str] tag_value: Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
               * `api Gateway`
               * `auto scaling`
               * `elastic search`
        """
        if aws_regions is not None:
            pulumi.set(__self__, "aws_regions", aws_regions)
        if fetch_nodes is not None:
            pulumi.set(__self__, "fetch_nodes", fetch_nodes)
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if tag_key is not None:
            pulumi.set(__self__, "tag_key", tag_key)
        if tag_value is not None:
            pulumi.set(__self__, "tag_value", tag_value)

    @property
    @pulumi.getter(name="awsRegions")
    def aws_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each AWS region that includes the resources that you want to monitor.
        * `direct connect`
        * `aws states`
        """
        return pulumi.get(self, "aws_regions")

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

    @property
    @pulumi.getter(name="fetchNodes")
    def fetch_nodes(self) -> Optional[pulumi.Input[bool]]:
        """
        Specify if metrics should be collected for nodes. Turning it on will increase the number of API calls made to CloudWatch.
        """
        return pulumi.get(self, "fetch_nodes")

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

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[pulumi.Input[str]]:
        """
        Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        """
        return pulumi.get(self, "tag_key")

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

    @property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[pulumi.Input[str]]:
        """
        Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
        * `api Gateway`
        * `auto scaling`
        * `elastic search`
        """
        return pulumi.get(self, "tag_value")

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


@pulumi.input_type
class AwsGovcloudIntegrationsElbArgs:
    def __init__(__self__, *,
                 aws_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 fetch_extended_inventory: Optional[pulumi.Input[bool]] = None,
                 fetch_tags: Optional[pulumi.Input[bool]] = None,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input[str]]] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
               * `direct connect`
               * `aws states`
        :param pulumi.Input[bool] fetch_extended_inventory: Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param pulumi.Input[bool] fetch_tags: Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if aws_regions is not None:
            pulumi.set(__self__, "aws_regions", aws_regions)
        if fetch_extended_inventory is not None:
            pulumi.set(__self__, "fetch_extended_inventory", fetch_extended_inventory)
        if fetch_tags is not None:
            pulumi.set(__self__, "fetch_tags", fetch_tags)
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="awsRegions")
    def aws_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each AWS region that includes the resources that you want to monitor.
        * `direct connect`
        * `aws states`
        """
        return pulumi.get(self, "aws_regions")

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

    @property
    @pulumi.getter(name="fetchExtendedInventory")
    def fetch_extended_inventory(self) -> Optional[pulumi.Input[bool]]:
        """
        Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
        """
        return pulumi.get(self, "fetch_extended_inventory")

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

    @property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[pulumi.Input[bool]]:
        """
        Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        """
        return pulumi.get(self, "fetch_tags")

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

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class AwsGovcloudIntegrationsEmrArgs:
    def __init__(__self__, *,
                 aws_regions: Optional[pulumi.Input[str]] = None,
                 fetch_tags: Optional[pulumi.Input[bool]] = None,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 tag_key: Optional[pulumi.Input[str]] = None,
                 tag_value: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
               * `direct connect`
               * `aws states`
        :param pulumi.Input[bool] fetch_tags: Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[str] tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param pulumi.Input[str] tag_value: Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
               * `api Gateway`
               * `auto scaling`
               * `elastic search`
        """
        if aws_regions is not None:
            pulumi.set(__self__, "aws_regions", aws_regions)
        if fetch_tags is not None:
            pulumi.set(__self__, "fetch_tags", fetch_tags)
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if tag_key is not None:
            pulumi.set(__self__, "tag_key", tag_key)
        if tag_value is not None:
            pulumi.set(__self__, "tag_value", tag_value)

    @property
    @pulumi.getter(name="awsRegions")
    def aws_regions(self) -> Optional[pulumi.Input[str]]:
        """
        Specify each AWS region that includes the resources that you want to monitor.
        * `direct connect`
        * `aws states`
        """
        return pulumi.get(self, "aws_regions")

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

    @property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[pulumi.Input[bool]]:
        """
        Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        """
        return pulumi.get(self, "fetch_tags")

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

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[pulumi.Input[str]]:
        """
        Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        """
        return pulumi.get(self, "tag_key")

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

    @property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[pulumi.Input[str]]:
        """
        Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
        * `api Gateway`
        * `auto scaling`
        * `elastic search`
        """
        return pulumi.get(self, "tag_value")

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


@pulumi.input_type
class AwsGovcloudIntegrationsIamArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 tag_key: Optional[pulumi.Input[str]] = None,
                 tag_value: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[str] tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param pulumi.Input[str] tag_value: Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
               * `api Gateway`
               * `auto scaling`
               * `elastic search`
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if tag_key is not None:
            pulumi.set(__self__, "tag_key", tag_key)
        if tag_value is not None:
            pulumi.set(__self__, "tag_value", tag_value)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[pulumi.Input[str]]:
        """
        Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        """
        return pulumi.get(self, "tag_key")

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

    @property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[pulumi.Input[str]]:
        """
        Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
        * `api Gateway`
        * `auto scaling`
        * `elastic search`
        """
        return pulumi.get(self, "tag_value")

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


@pulumi.input_type
class AwsGovcloudIntegrationsLambdaArgs:
    def __init__(__self__, *,
                 aws_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 fetch_tags: Optional[pulumi.Input[bool]] = None,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 tag_key: Optional[pulumi.Input[str]] = None,
                 tag_value: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input[str]]] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
               * `direct connect`
               * `aws states`
        :param pulumi.Input[bool] fetch_tags: Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[str] tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param pulumi.Input[str] tag_value: Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
               * `api Gateway`
               * `auto scaling`
               * `elastic search`
        """
        if aws_regions is not None:
            pulumi.set(__self__, "aws_regions", aws_regions)
        if fetch_tags is not None:
            pulumi.set(__self__, "fetch_tags", fetch_tags)
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if tag_key is not None:
            pulumi.set(__self__, "tag_key", tag_key)
        if tag_value is not None:
            pulumi.set(__self__, "tag_value", tag_value)

    @property
    @pulumi.getter(name="awsRegions")
    def aws_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each AWS region that includes the resources that you want to monitor.
        * `direct connect`
        * `aws states`
        """
        return pulumi.get(self, "aws_regions")

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

    @property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[pulumi.Input[bool]]:
        """
        Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        """
        return pulumi.get(self, "fetch_tags")

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

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[pulumi.Input[str]]:
        """
        Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        """
        return pulumi.get(self, "tag_key")

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

    @property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[pulumi.Input[str]]:
        """
        Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
        * `api Gateway`
        * `auto scaling`
        * `elastic search`
        """
        return pulumi.get(self, "tag_value")

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


@pulumi.input_type
class AwsGovcloudIntegrationsRdsArgs:
    def __init__(__self__, *,
                 aws_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 fetch_tags: Optional[pulumi.Input[bool]] = None,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 tag_key: Optional[pulumi.Input[str]] = None,
                 tag_value: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input[str]]] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
               * `direct connect`
               * `aws states`
        :param pulumi.Input[bool] fetch_tags: Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[str] tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param pulumi.Input[str] tag_value: Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
               * `api Gateway`
               * `auto scaling`
               * `elastic search`
        """
        if aws_regions is not None:
            pulumi.set(__self__, "aws_regions", aws_regions)
        if fetch_tags is not None:
            pulumi.set(__self__, "fetch_tags", fetch_tags)
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if tag_key is not None:
            pulumi.set(__self__, "tag_key", tag_key)
        if tag_value is not None:
            pulumi.set(__self__, "tag_value", tag_value)

    @property
    @pulumi.getter(name="awsRegions")
    def aws_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each AWS region that includes the resources that you want to monitor.
        * `direct connect`
        * `aws states`
        """
        return pulumi.get(self, "aws_regions")

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

    @property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[pulumi.Input[bool]]:
        """
        Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        """
        return pulumi.get(self, "fetch_tags")

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

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[pulumi.Input[str]]:
        """
        Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        """
        return pulumi.get(self, "tag_key")

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

    @property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[pulumi.Input[str]]:
        """
        Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
        * `api Gateway`
        * `auto scaling`
        * `elastic search`
        """
        return pulumi.get(self, "tag_value")

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


@pulumi.input_type
class AwsGovcloudIntegrationsRedShiftArgs:
    def __init__(__self__, *,
                 aws_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 tag_key: Optional[pulumi.Input[str]] = None,
                 tag_value: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input[str]]] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
               * `direct connect`
               * `aws states`
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[str] tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param pulumi.Input[str] tag_value: Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
               * `api Gateway`
               * `auto scaling`
               * `elastic search`
        """
        if aws_regions is not None:
            pulumi.set(__self__, "aws_regions", aws_regions)
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if tag_key is not None:
            pulumi.set(__self__, "tag_key", tag_key)
        if tag_value is not None:
            pulumi.set(__self__, "tag_value", tag_value)

    @property
    @pulumi.getter(name="awsRegions")
    def aws_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each AWS region that includes the resources that you want to monitor.
        * `direct connect`
        * `aws states`
        """
        return pulumi.get(self, "aws_regions")

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

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[pulumi.Input[str]]:
        """
        Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        """
        return pulumi.get(self, "tag_key")

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

    @property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[pulumi.Input[str]]:
        """
        Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
        * `api Gateway`
        * `auto scaling`
        * `elastic search`
        """
        return pulumi.get(self, "tag_value")

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


@pulumi.input_type
class AwsGovcloudIntegrationsRoute53Args:
    def __init__(__self__, *,
                 fetch_extended_inventory: Optional[pulumi.Input[bool]] = None,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[bool] fetch_extended_inventory: Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if fetch_extended_inventory is not None:
            pulumi.set(__self__, "fetch_extended_inventory", fetch_extended_inventory)
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="fetchExtendedInventory")
    def fetch_extended_inventory(self) -> Optional[pulumi.Input[bool]]:
        """
        Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
        """
        return pulumi.get(self, "fetch_extended_inventory")

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

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class AwsGovcloudIntegrationsS3Args:
    def __init__(__self__, *,
                 fetch_extended_inventory: Optional[pulumi.Input[bool]] = None,
                 fetch_tags: Optional[pulumi.Input[bool]] = None,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 tag_key: Optional[pulumi.Input[str]] = None,
                 tag_value: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[bool] fetch_extended_inventory: Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param pulumi.Input[bool] fetch_tags: Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[str] tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param pulumi.Input[str] tag_value: Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
               * `api Gateway`
               * `auto scaling`
               * `elastic search`
        """
        if fetch_extended_inventory is not None:
            pulumi.set(__self__, "fetch_extended_inventory", fetch_extended_inventory)
        if fetch_tags is not None:
            pulumi.set(__self__, "fetch_tags", fetch_tags)
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if tag_key is not None:
            pulumi.set(__self__, "tag_key", tag_key)
        if tag_value is not None:
            pulumi.set(__self__, "tag_value", tag_value)

    @property
    @pulumi.getter(name="fetchExtendedInventory")
    def fetch_extended_inventory(self) -> Optional[pulumi.Input[bool]]:
        """
        Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
        """
        return pulumi.get(self, "fetch_extended_inventory")

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

    @property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[pulumi.Input[bool]]:
        """
        Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        """
        return pulumi.get(self, "fetch_tags")

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

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[pulumi.Input[str]]:
        """
        Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        """
        return pulumi.get(self, "tag_key")

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

    @property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[pulumi.Input[str]]:
        """
        Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
        * `api Gateway`
        * `auto scaling`
        * `elastic search`
        """
        return pulumi.get(self, "tag_value")

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


@pulumi.input_type
class AwsGovcloudIntegrationsSnsArgs:
    def __init__(__self__, *,
                 aws_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 fetch_extended_inventory: Optional[pulumi.Input[bool]] = None,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input[str]]] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
               * `direct connect`
               * `aws states`
        :param pulumi.Input[bool] fetch_extended_inventory: Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if aws_regions is not None:
            pulumi.set(__self__, "aws_regions", aws_regions)
        if fetch_extended_inventory is not None:
            pulumi.set(__self__, "fetch_extended_inventory", fetch_extended_inventory)
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="awsRegions")
    def aws_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each AWS region that includes the resources that you want to monitor.
        * `direct connect`
        * `aws states`
        """
        return pulumi.get(self, "aws_regions")

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

    @property
    @pulumi.getter(name="fetchExtendedInventory")
    def fetch_extended_inventory(self) -> Optional[pulumi.Input[bool]]:
        """
        Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
        """
        return pulumi.get(self, "fetch_extended_inventory")

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

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class AwsGovcloudIntegrationsSqsArgs:
    def __init__(__self__, *,
                 aws_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 fetch_extended_inventory: Optional[pulumi.Input[bool]] = None,
                 fetch_tags: Optional[pulumi.Input[bool]] = None,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 queue_prefixes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 tag_key: Optional[pulumi.Input[str]] = None,
                 tag_value: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input[str]]] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
               * `direct connect`
               * `aws states`
        :param pulumi.Input[bool] fetch_extended_inventory: Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param pulumi.Input[bool] fetch_tags: Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] queue_prefixes: Specify each name or prefix for the Queues that you want to monitor. Filter values are case-sensitive.
        :param pulumi.Input[str] tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param pulumi.Input[str] tag_value: Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
               * `api Gateway`
               * `auto scaling`
               * `elastic search`
        """
        if aws_regions is not None:
            pulumi.set(__self__, "aws_regions", aws_regions)
        if fetch_extended_inventory is not None:
            pulumi.set(__self__, "fetch_extended_inventory", fetch_extended_inventory)
        if fetch_tags is not None:
            pulumi.set(__self__, "fetch_tags", fetch_tags)
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if queue_prefixes is not None:
            pulumi.set(__self__, "queue_prefixes", queue_prefixes)
        if tag_key is not None:
            pulumi.set(__self__, "tag_key", tag_key)
        if tag_value is not None:
            pulumi.set(__self__, "tag_value", tag_value)

    @property
    @pulumi.getter(name="awsRegions")
    def aws_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each AWS region that includes the resources that you want to monitor.
        * `direct connect`
        * `aws states`
        """
        return pulumi.get(self, "aws_regions")

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

    @property
    @pulumi.getter(name="fetchExtendedInventory")
    def fetch_extended_inventory(self) -> Optional[pulumi.Input[bool]]:
        """
        Determine if extra inventory data be collected or not. May affect total data collection time and contribute to the Cloud provider API rate limit.
        """
        return pulumi.get(self, "fetch_extended_inventory")

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

    @property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[pulumi.Input[bool]]:
        """
        Specify if tags should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        """
        return pulumi.get(self, "fetch_tags")

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

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="queuePrefixes")
    def queue_prefixes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each name or prefix for the Queues that you want to monitor. Filter values are case-sensitive.
        """
        return pulumi.get(self, "queue_prefixes")

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

    @property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[pulumi.Input[str]]:
        """
        Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        """
        return pulumi.get(self, "tag_key")

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

    @property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[pulumi.Input[str]]:
        """
        Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
        * `api Gateway`
        * `auto scaling`
        * `elastic search`
        """
        return pulumi.get(self, "tag_value")

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


@pulumi.input_type
class AwsIntegrationsBillingArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class AwsIntegrationsCloudtrailArgs:
    def __init__(__self__, *,
                 aws_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input[str]]] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if aws_regions is not None:
            pulumi.set(__self__, "aws_regions", aws_regions)
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="awsRegions")
    def aws_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each AWS region that includes the resources that you want to monitor.
        """
        return pulumi.get(self, "aws_regions")

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

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class AwsIntegrationsDocDbArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class AwsIntegrationsHealthArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class AwsIntegrationsS3Args:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class AwsIntegrationsTrustedAdvisorArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class AwsIntegrationsVpcArgs:
    def __init__(__self__, *,
                 aws_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 fetch_nat_gateway: Optional[pulumi.Input[bool]] = None,
                 fetch_vpn: Optional[pulumi.Input[bool]] = None,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 tag_key: Optional[pulumi.Input[str]] = None,
                 tag_value: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input[str]]] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param pulumi.Input[bool] fetch_nat_gateway: Specify if NAT gateway should be monitored. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param pulumi.Input[bool] fetch_vpn: Specify if VPN should be monitored. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[str] tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param pulumi.Input[str] tag_value: Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
        """
        if aws_regions is not None:
            pulumi.set(__self__, "aws_regions", aws_regions)
        if fetch_nat_gateway is not None:
            pulumi.set(__self__, "fetch_nat_gateway", fetch_nat_gateway)
        if fetch_vpn is not None:
            pulumi.set(__self__, "fetch_vpn", fetch_vpn)
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if tag_key is not None:
            pulumi.set(__self__, "tag_key", tag_key)
        if tag_value is not None:
            pulumi.set(__self__, "tag_value", tag_value)

    @property
    @pulumi.getter(name="awsRegions")
    def aws_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each AWS region that includes the resources that you want to monitor.
        """
        return pulumi.get(self, "aws_regions")

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

    @property
    @pulumi.getter(name="fetchNatGateway")
    def fetch_nat_gateway(self) -> Optional[pulumi.Input[bool]]:
        """
        Specify if NAT gateway should be monitored. May affect total data collection time and contribute to the Cloud provider API rate limit.
        """
        return pulumi.get(self, "fetch_nat_gateway")

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

    @property
    @pulumi.getter(name="fetchVpn")
    def fetch_vpn(self) -> Optional[pulumi.Input[bool]]:
        """
        Specify if VPN should be monitored. May affect total data collection time and contribute to the Cloud provider API rate limit.
        """
        return pulumi.get(self, "fetch_vpn")

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

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[pulumi.Input[str]]:
        """
        Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        """
        return pulumi.get(self, "tag_key")

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

    @property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[pulumi.Input[str]]:
        """
        Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
        """
        return pulumi.get(self, "tag_value")

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


@pulumi.input_type
class AwsIntegrationsXRayArgs:
    def __init__(__self__, *,
                 aws_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[Sequence[pulumi.Input[str]]] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if aws_regions is not None:
            pulumi.set(__self__, "aws_regions", aws_regions)
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="awsRegions")
    def aws_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each AWS region that includes the resources that you want to monitor.
        """
        return pulumi.get(self, "aws_regions")

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

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class AzureIntegrationsApiManagementArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if resource_groups is not None:
            pulumi.set(__self__, "resource_groups", resource_groups)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        return pulumi.get(self, "resource_groups")

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


@pulumi.input_type
class AzureIntegrationsAppGatewayArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if resource_groups is not None:
            pulumi.set(__self__, "resource_groups", resource_groups)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        return pulumi.get(self, "resource_groups")

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


@pulumi.input_type
class AzureIntegrationsAppServiceArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if resource_groups is not None:
            pulumi.set(__self__, "resource_groups", resource_groups)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        return pulumi.get(self, "resource_groups")

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


@pulumi.input_type
class AzureIntegrationsContainersArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if resource_groups is not None:
            pulumi.set(__self__, "resource_groups", resource_groups)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        return pulumi.get(self, "resource_groups")

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


@pulumi.input_type
class AzureIntegrationsCosmosDbArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if resource_groups is not None:
            pulumi.set(__self__, "resource_groups", resource_groups)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        return pulumi.get(self, "resource_groups")

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


@pulumi.input_type
class AzureIntegrationsCostManagementArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 tag_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] tag_keys: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if tag_keys is not None:
            pulumi.set(__self__, "tag_keys", tag_keys)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="tagKeys")
    def tag_keys(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        """
        return pulumi.get(self, "tag_keys")

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


@pulumi.input_type
class AzureIntegrationsDataFactoryArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if resource_groups is not None:
            pulumi.set(__self__, "resource_groups", resource_groups)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        return pulumi.get(self, "resource_groups")

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


@pulumi.input_type
class AzureIntegrationsEventHubArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if resource_groups is not None:
            pulumi.set(__self__, "resource_groups", resource_groups)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        return pulumi.get(self, "resource_groups")

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


@pulumi.input_type
class AzureIntegrationsExpressRouteArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if resource_groups is not None:
            pulumi.set(__self__, "resource_groups", resource_groups)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        return pulumi.get(self, "resource_groups")

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


@pulumi.input_type
class AzureIntegrationsFirewallsArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if resource_groups is not None:
            pulumi.set(__self__, "resource_groups", resource_groups)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        return pulumi.get(self, "resource_groups")

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


@pulumi.input_type
class AzureIntegrationsFrontDoorArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if resource_groups is not None:
            pulumi.set(__self__, "resource_groups", resource_groups)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        return pulumi.get(self, "resource_groups")

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


@pulumi.input_type
class AzureIntegrationsFunctionsArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if resource_groups is not None:
            pulumi.set(__self__, "resource_groups", resource_groups)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        return pulumi.get(self, "resource_groups")

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


@pulumi.input_type
class AzureIntegrationsKeyVaultArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if resource_groups is not None:
            pulumi.set(__self__, "resource_groups", resource_groups)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        return pulumi.get(self, "resource_groups")

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


@pulumi.input_type
class AzureIntegrationsLoadBalancerArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if resource_groups is not None:
            pulumi.set(__self__, "resource_groups", resource_groups)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        return pulumi.get(self, "resource_groups")

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


@pulumi.input_type
class AzureIntegrationsLogicAppsArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if resource_groups is not None:
            pulumi.set(__self__, "resource_groups", resource_groups)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        return pulumi.get(self, "resource_groups")

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


@pulumi.input_type
class AzureIntegrationsMachineLearningArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if resource_groups is not None:
            pulumi.set(__self__, "resource_groups", resource_groups)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        return pulumi.get(self, "resource_groups")

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


@pulumi.input_type
class AzureIntegrationsMariaDbArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if resource_groups is not None:
            pulumi.set(__self__, "resource_groups", resource_groups)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        return pulumi.get(self, "resource_groups")

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


@pulumi.input_type
class AzureIntegrationsMysqlArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if resource_groups is not None:
            pulumi.set(__self__, "resource_groups", resource_groups)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        return pulumi.get(self, "resource_groups")

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


@pulumi.input_type
class AzureIntegrationsMysqlFlexibleArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if resource_groups is not None:
            pulumi.set(__self__, "resource_groups", resource_groups)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        return pulumi.get(self, "resource_groups")

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


@pulumi.input_type
class AzureIntegrationsPostgresqlArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if resource_groups is not None:
            pulumi.set(__self__, "resource_groups", resource_groups)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        return pulumi.get(self, "resource_groups")

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


@pulumi.input_type
class AzureIntegrationsPostgresqlFlexibleArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if resource_groups is not None:
            pulumi.set(__self__, "resource_groups", resource_groups)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        return pulumi.get(self, "resource_groups")

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


@pulumi.input_type
class AzureIntegrationsPowerBiDedicatedArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if resource_groups is not None:
            pulumi.set(__self__, "resource_groups", resource_groups)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        return pulumi.get(self, "resource_groups")

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


@pulumi.input_type
class AzureIntegrationsRedisCacheArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if resource_groups is not None:
            pulumi.set(__self__, "resource_groups", resource_groups)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        return pulumi.get(self, "resource_groups")

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


@pulumi.input_type
class AzureIntegrationsServiceBusArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if resource_groups is not None:
            pulumi.set(__self__, "resource_groups", resource_groups)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        return pulumi.get(self, "resource_groups")

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


@pulumi.input_type
class AzureIntegrationsSqlArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if resource_groups is not None:
            pulumi.set(__self__, "resource_groups", resource_groups)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        return pulumi.get(self, "resource_groups")

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


@pulumi.input_type
class AzureIntegrationsSqlManagedArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if resource_groups is not None:
            pulumi.set(__self__, "resource_groups", resource_groups)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        return pulumi.get(self, "resource_groups")

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


@pulumi.input_type
class AzureIntegrationsStorageArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if resource_groups is not None:
            pulumi.set(__self__, "resource_groups", resource_groups)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        return pulumi.get(self, "resource_groups")

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


@pulumi.input_type
class AzureIntegrationsVirtualMachineArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if resource_groups is not None:
            pulumi.set(__self__, "resource_groups", resource_groups)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        return pulumi.get(self, "resource_groups")

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


@pulumi.input_type
class AzureIntegrationsVirtualNetworksArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if resource_groups is not None:
            pulumi.set(__self__, "resource_groups", resource_groups)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        return pulumi.get(self, "resource_groups")

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


@pulumi.input_type
class AzureIntegrationsVmsArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if resource_groups is not None:
            pulumi.set(__self__, "resource_groups", resource_groups)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        return pulumi.get(self, "resource_groups")

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


@pulumi.input_type
class AzureIntegrationsVpnGatewayArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None,
                 resource_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)
        if resource_groups is not None:
            pulumi.set(__self__, "resource_groups", resource_groups)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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

    @property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        """
        return pulumi.get(self, "resource_groups")

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


@pulumi.input_type
class GcpIntegrationsAlloyDbArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class GcpIntegrationsAppEngineArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class GcpIntegrationsBigQueryArgs:
    def __init__(__self__, *,
                 fetch_tags: Optional[pulumi.Input[bool]] = None,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[bool] fetch_tags: Specify if labels and the extended inventory should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if fetch_tags is not None:
            pulumi.set(__self__, "fetch_tags", fetch_tags)
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[pulumi.Input[bool]]:
        """
        Specify if labels and the extended inventory should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        """
        return pulumi.get(self, "fetch_tags")

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

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class GcpIntegrationsBigTableArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class GcpIntegrationsComposerArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class GcpIntegrationsDataFlowArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class GcpIntegrationsDataProcArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class GcpIntegrationsDataStoreArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class GcpIntegrationsFireBaseDatabaseArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class GcpIntegrationsFireBaseHostingArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class GcpIntegrationsFireBaseStorageArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class GcpIntegrationsFireStoreArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class GcpIntegrationsFunctionsArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class GcpIntegrationsInterconnectArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class GcpIntegrationsKubernetesArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class GcpIntegrationsLoadBalancingArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class GcpIntegrationsMemCacheArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class GcpIntegrationsPubSubArgs:
    def __init__(__self__, *,
                 fetch_tags: Optional[pulumi.Input[bool]] = None,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[bool] fetch_tags: Specify if labels and the extended inventory should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if fetch_tags is not None:
            pulumi.set(__self__, "fetch_tags", fetch_tags)
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[pulumi.Input[bool]]:
        """
        Specify if labels and the extended inventory should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        """
        return pulumi.get(self, "fetch_tags")

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

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class GcpIntegrationsRedisArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class GcpIntegrationsRouterArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class GcpIntegrationsRunArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class GcpIntegrationsSpannerArgs:
    def __init__(__self__, *,
                 fetch_tags: Optional[pulumi.Input[bool]] = None,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[bool] fetch_tags: Specify if labels and the extended inventory should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if fetch_tags is not None:
            pulumi.set(__self__, "fetch_tags", fetch_tags)
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[pulumi.Input[bool]]:
        """
        Specify if labels and the extended inventory should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        """
        return pulumi.get(self, "fetch_tags")

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

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class GcpIntegrationsSqlArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class GcpIntegrationsStorageArgs:
    def __init__(__self__, *,
                 fetch_tags: Optional[pulumi.Input[bool]] = None,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[bool] fetch_tags: Specify if labels and the extended inventory should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if fetch_tags is not None:
            pulumi.set(__self__, "fetch_tags", fetch_tags)
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[pulumi.Input[bool]]:
        """
        Specify if labels and the extended inventory should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        """
        return pulumi.get(self, "fetch_tags")

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

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class GcpIntegrationsVirtualMachinesArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


@pulumi.input_type
class GcpIntegrationsVpcAccessArgs:
    def __init__(__self__, *,
                 metrics_polling_interval: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[int] metrics_polling_interval: The data polling interval in seconds.
        """
        if metrics_polling_interval is not None:
            pulumi.set(__self__, "metrics_polling_interval", metrics_polling_interval)

    @property
    @pulumi.getter(name="metricsPollingInterval")
    def metrics_polling_interval(self) -> Optional[pulumi.Input[int]]:
        """
        The data polling interval in seconds.
        """
        return pulumi.get(self, "metrics_polling_interval")

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


