# coding=utf-8
# *** WARNING: this file was generated by pulumi-language-python. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import builtins as _builtins
import warnings
import sys
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
if sys.version_info >= (3, 11):
    from typing import NotRequired, TypedDict, TypeAlias
else:
    from typing_extensions import NotRequired, TypedDict, TypeAlias
from .. import _utilities

__all__ = [
    'AwsGovcloudIntegrationsAlb',
    'AwsGovcloudIntegrationsApiGateway',
    'AwsGovcloudIntegrationsAutoScaling',
    'AwsGovcloudIntegrationsAwsDirectConnect',
    'AwsGovcloudIntegrationsAwsStates',
    'AwsGovcloudIntegrationsCloudtrail',
    'AwsGovcloudIntegrationsDynamoDb',
    'AwsGovcloudIntegrationsEbs',
    'AwsGovcloudIntegrationsEc2',
    'AwsGovcloudIntegrationsElasticSearch',
    'AwsGovcloudIntegrationsElb',
    'AwsGovcloudIntegrationsEmr',
    'AwsGovcloudIntegrationsIam',
    'AwsGovcloudIntegrationsLambda',
    'AwsGovcloudIntegrationsRds',
    'AwsGovcloudIntegrationsRedShift',
    'AwsGovcloudIntegrationsRoute53',
    'AwsGovcloudIntegrationsS3',
    'AwsGovcloudIntegrationsSns',
    'AwsGovcloudIntegrationsSqs',
    'AwsIntegrationsAlb',
    'AwsIntegrationsApiGateway',
    'AwsIntegrationsAutoScaling',
    'AwsIntegrationsAwsAppSync',
    'AwsIntegrationsAwsAthena',
    'AwsIntegrationsAwsAutoDiscovery',
    'AwsIntegrationsAwsCognito',
    'AwsIntegrationsAwsConnect',
    'AwsIntegrationsAwsDirectConnect',
    'AwsIntegrationsAwsFsx',
    'AwsIntegrationsAwsGlue',
    'AwsIntegrationsAwsKinesisAnalytics',
    'AwsIntegrationsAwsMediaConvert',
    'AwsIntegrationsAwsMediaPackageVod',
    'AwsIntegrationsAwsMq',
    'AwsIntegrationsAwsMsk',
    'AwsIntegrationsAwsNeptune',
    'AwsIntegrationsAwsQldb',
    'AwsIntegrationsAwsRoute53resolver',
    'AwsIntegrationsAwsStates',
    'AwsIntegrationsAwsTransitGateway',
    'AwsIntegrationsAwsWaf',
    'AwsIntegrationsAwsWafv2',
    'AwsIntegrationsBilling',
    'AwsIntegrationsCloudfront',
    'AwsIntegrationsCloudtrail',
    'AwsIntegrationsDocDb',
    'AwsIntegrationsDynamodb',
    'AwsIntegrationsEbs',
    'AwsIntegrationsEc2',
    'AwsIntegrationsEcs',
    'AwsIntegrationsEfs',
    'AwsIntegrationsElasticache',
    'AwsIntegrationsElasticbeanstalk',
    'AwsIntegrationsElasticsearch',
    'AwsIntegrationsElb',
    'AwsIntegrationsEmr',
    'AwsIntegrationsHealth',
    'AwsIntegrationsIam',
    'AwsIntegrationsIot',
    'AwsIntegrationsKinesis',
    'AwsIntegrationsKinesisFirehose',
    'AwsIntegrationsLambda',
    'AwsIntegrationsRds',
    'AwsIntegrationsRedshift',
    'AwsIntegrationsRoute53',
    'AwsIntegrationsS3',
    'AwsIntegrationsSes',
    'AwsIntegrationsSns',
    'AwsIntegrationsSqs',
    'AwsIntegrationsTrustedAdvisor',
    'AwsIntegrationsVpc',
    'AwsIntegrationsXRay',
    'AzureIntegrationsApiManagement',
    'AzureIntegrationsAppGateway',
    'AzureIntegrationsAppService',
    'AzureIntegrationsAutoDiscovery',
    'AzureIntegrationsContainers',
    'AzureIntegrationsCosmosDb',
    'AzureIntegrationsCostManagement',
    'AzureIntegrationsDataFactory',
    'AzureIntegrationsEventHub',
    'AzureIntegrationsExpressRoute',
    'AzureIntegrationsFirewalls',
    'AzureIntegrationsFrontDoor',
    'AzureIntegrationsFunctions',
    'AzureIntegrationsKeyVault',
    'AzureIntegrationsLoadBalancer',
    'AzureIntegrationsLogicApps',
    'AzureIntegrationsMachineLearning',
    'AzureIntegrationsMariaDb',
    'AzureIntegrationsMonitor',
    'AzureIntegrationsMysql',
    'AzureIntegrationsMysqlFlexible',
    'AzureIntegrationsPostgresql',
    'AzureIntegrationsPostgresqlFlexible',
    'AzureIntegrationsPowerBiDedicated',
    'AzureIntegrationsRedisCache',
    'AzureIntegrationsServiceBus',
    'AzureIntegrationsSql',
    'AzureIntegrationsSqlManaged',
    'AzureIntegrationsStorage',
    'AzureIntegrationsVirtualMachine',
    'AzureIntegrationsVirtualNetworks',
    'AzureIntegrationsVms',
    'AzureIntegrationsVpnGateway',
    'GcpIntegrationsAlloyDb',
    'GcpIntegrationsAppEngine',
    'GcpIntegrationsBigQuery',
    'GcpIntegrationsBigTable',
    'GcpIntegrationsComposer',
    'GcpIntegrationsDataFlow',
    'GcpIntegrationsDataProc',
    'GcpIntegrationsDataStore',
    'GcpIntegrationsFireBaseDatabase',
    'GcpIntegrationsFireBaseHosting',
    'GcpIntegrationsFireBaseStorage',
    'GcpIntegrationsFireStore',
    'GcpIntegrationsFunctions',
    'GcpIntegrationsInterconnect',
    'GcpIntegrationsKubernetes',
    'GcpIntegrationsLoadBalancing',
    'GcpIntegrationsMemCache',
    'GcpIntegrationsPubSub',
    'GcpIntegrationsRedis',
    'GcpIntegrationsRouter',
    'GcpIntegrationsRun',
    'GcpIntegrationsSpanner',
    'GcpIntegrationsSql',
    'GcpIntegrationsStorage',
    'GcpIntegrationsVirtualMachines',
    'GcpIntegrationsVpcAccess',
]

@pulumi.output_type
class AwsGovcloudIntegrationsAlb(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "fetchExtendedInventory":
            suggest = "fetch_extended_inventory"
        elif key == "fetchTags":
            suggest = "fetch_tags"
        elif key == "loadBalancerPrefixes":
            suggest = "load_balancer_prefixes"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsGovcloudIntegrationsAlb. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsGovcloudIntegrationsAlb.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsGovcloudIntegrationsAlb.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 fetch_extended_inventory: Optional[_builtins.bool] = None,
                 fetch_tags: Optional[_builtins.bool] = None,
                 load_balancer_prefixes: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor
        :param _builtins.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 _builtins.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 Sequence[_builtins.str] load_balancer_prefixes: Specify each name or prefix for the LBs that you want to monitor. Filter values are case-sensitive.
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.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_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)

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

    @_builtins.property
    @pulumi.getter(name="fetchExtendedInventory")
    def fetch_extended_inventory(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="loadBalancerPrefixes")
    def load_balancer_prefixes(self) -> Optional[Sequence[_builtins.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")

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

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsGovcloudIntegrationsApiGateway(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "stagePrefixes":
            suggest = "stage_prefixes"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsGovcloudIntegrationsApiGateway. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsGovcloudIntegrationsApiGateway.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsGovcloudIntegrationsApiGateway.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 stage_prefixes: Optional[Sequence[_builtins.str]] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.str] stage_prefixes: 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 _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.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 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)

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

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

    @_builtins.property
    @pulumi.getter(name="stagePrefixes")
    def stage_prefixes(self) -> Optional[Sequence[_builtins.str]]:
        """
        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, "stage_prefixes")

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsGovcloudIntegrationsAutoScaling(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsGovcloudIntegrationsAutoScaling. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsGovcloudIntegrationsAutoScaling.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsGovcloudIntegrationsAutoScaling.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor
        :param _builtins.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)

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

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


@pulumi.output_type
class AwsGovcloudIntegrationsAwsDirectConnect(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsGovcloudIntegrationsAwsDirectConnect. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsGovcloudIntegrationsAwsDirectConnect.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsGovcloudIntegrationsAwsDirectConnect.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor
        :param _builtins.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)

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

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


@pulumi.output_type
class AwsGovcloudIntegrationsAwsStates(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsGovcloudIntegrationsAwsStates. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsGovcloudIntegrationsAwsStates.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsGovcloudIntegrationsAwsStates.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor
        :param _builtins.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)

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

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


@pulumi.output_type
class AwsGovcloudIntegrationsCloudtrail(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsGovcloudIntegrationsCloudtrail. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsGovcloudIntegrationsCloudtrail.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsGovcloudIntegrationsCloudtrail.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor
        :param _builtins.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)

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

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


@pulumi.output_type
class AwsGovcloudIntegrationsDynamoDb(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "fetchExtendedInventory":
            suggest = "fetch_extended_inventory"
        elif key == "fetchTags":
            suggest = "fetch_tags"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsGovcloudIntegrationsDynamoDb. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsGovcloudIntegrationsDynamoDb.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsGovcloudIntegrationsDynamoDb.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 fetch_extended_inventory: Optional[_builtins.bool] = None,
                 fetch_tags: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor
        :param _builtins.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 _builtins.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 _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.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_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)

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

    @_builtins.property
    @pulumi.getter(name="fetchExtendedInventory")
    def fetch_extended_inventory(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[_builtins.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")

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

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsGovcloudIntegrationsEbs(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "fetchExtendedInventory":
            suggest = "fetch_extended_inventory"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsGovcloudIntegrationsEbs. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsGovcloudIntegrationsEbs.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsGovcloudIntegrationsEbs.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 fetch_extended_inventory: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor
        :param _builtins.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 _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.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_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)

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

    @_builtins.property
    @pulumi.getter(name="fetchExtendedInventory")
    def fetch_extended_inventory(self) -> Optional[_builtins.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")

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

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsGovcloudIntegrationsEc2(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "fetchIpAddresses":
            suggest = "fetch_ip_addresses"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsGovcloudIntegrationsEc2. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsGovcloudIntegrationsEc2.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsGovcloudIntegrationsEc2.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 fetch_ip_addresses: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor
        :param _builtins.bool fetch_ip_addresses: Specify if IP addresses of ec2 instance should be collected
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.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_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)

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

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

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

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsGovcloudIntegrationsElasticSearch(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "fetchNodes":
            suggest = "fetch_nodes"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsGovcloudIntegrationsElasticSearch. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsGovcloudIntegrationsElasticSearch.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsGovcloudIntegrationsElasticSearch.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 fetch_nodes: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor
        :param _builtins.bool fetch_nodes: Specify if IP addresses of ec2 instance should be collected
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.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_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)

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

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

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

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsGovcloudIntegrationsElb(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "fetchExtendedInventory":
            suggest = "fetch_extended_inventory"
        elif key == "fetchTags":
            suggest = "fetch_tags"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsGovcloudIntegrationsElb. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsGovcloudIntegrationsElb.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsGovcloudIntegrationsElb.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 fetch_extended_inventory: Optional[_builtins.bool] = None,
                 fetch_tags: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor
        :param _builtins.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 _builtins.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 _builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="fetchExtendedInventory")
    def fetch_extended_inventory(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[_builtins.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")

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


@pulumi.output_type
class AwsGovcloudIntegrationsEmr(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "fetchTags":
            suggest = "fetch_tags"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsGovcloudIntegrationsEmr. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsGovcloudIntegrationsEmr.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsGovcloudIntegrationsEmr.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[_builtins.str] = None,
                 fetch_tags: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param _builtins.str aws_regions: Specify each AWS region that includes the resources that you want to monitor
        :param _builtins.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 _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.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_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)

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

    @_builtins.property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[_builtins.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")

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

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsGovcloudIntegrationsIam(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsGovcloudIntegrationsIam. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsGovcloudIntegrationsIam.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsGovcloudIntegrationsIam.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.str tag_value: Specify a Tag value 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_key is not None:
            pulumi.set(__self__, "tag_key", tag_key)
        if tag_value is not None:
            pulumi.set(__self__, "tag_value", tag_value)

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

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsGovcloudIntegrationsLambda(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "fetchTags":
            suggest = "fetch_tags"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsGovcloudIntegrationsLambda. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsGovcloudIntegrationsLambda.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsGovcloudIntegrationsLambda.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 fetch_tags: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor
        :param _builtins.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 _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.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_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)

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

    @_builtins.property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[_builtins.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")

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

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsGovcloudIntegrationsRds(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "fetchTags":
            suggest = "fetch_tags"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsGovcloudIntegrationsRds. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsGovcloudIntegrationsRds.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsGovcloudIntegrationsRds.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 fetch_tags: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor
        :param _builtins.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 _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.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_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)

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

    @_builtins.property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[_builtins.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")

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

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsGovcloudIntegrationsRedShift(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsGovcloudIntegrationsRedShift. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsGovcloudIntegrationsRedShift.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsGovcloudIntegrationsRedShift.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.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 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)

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

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

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsGovcloudIntegrationsRoute53(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "fetchExtendedInventory":
            suggest = "fetch_extended_inventory"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsGovcloudIntegrationsRoute53. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsGovcloudIntegrationsRoute53.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsGovcloudIntegrationsRoute53.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 fetch_extended_inventory: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.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 _builtins.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)

    @_builtins.property
    @pulumi.getter(name="fetchExtendedInventory")
    def fetch_extended_inventory(self) -> Optional[_builtins.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")

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


@pulumi.output_type
class AwsGovcloudIntegrationsS3(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "fetchExtendedInventory":
            suggest = "fetch_extended_inventory"
        elif key == "fetchTags":
            suggest = "fetch_tags"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsGovcloudIntegrationsS3. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsGovcloudIntegrationsS3.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsGovcloudIntegrationsS3.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 fetch_extended_inventory: Optional[_builtins.bool] = None,
                 fetch_tags: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param _builtins.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 _builtins.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 _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.str tag_value: Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
        """
        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)

    @_builtins.property
    @pulumi.getter(name="fetchExtendedInventory")
    def fetch_extended_inventory(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[_builtins.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")

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

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsGovcloudIntegrationsSns(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "fetchExtendedInventory":
            suggest = "fetch_extended_inventory"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsGovcloudIntegrationsSns. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsGovcloudIntegrationsSns.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsGovcloudIntegrationsSns.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 fetch_extended_inventory: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor
        :param _builtins.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 _builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="fetchExtendedInventory")
    def fetch_extended_inventory(self) -> Optional[_builtins.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")

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


@pulumi.output_type
class AwsGovcloudIntegrationsSqs(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "fetchExtendedInventory":
            suggest = "fetch_extended_inventory"
        elif key == "fetchTags":
            suggest = "fetch_tags"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "queuePrefixes":
            suggest = "queue_prefixes"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsGovcloudIntegrationsSqs. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsGovcloudIntegrationsSqs.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsGovcloudIntegrationsSqs.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 fetch_extended_inventory: Optional[_builtins.bool] = None,
                 fetch_tags: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 queue_prefixes: Optional[Sequence[_builtins.str]] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor
        :param _builtins.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 _builtins.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 _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.str] queue_prefixes: Specify each name or prefix for the Queues that you want to monitor. Filter values are case-sensitive.
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.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_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)

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

    @_builtins.property
    @pulumi.getter(name="fetchExtendedInventory")
    def fetch_extended_inventory(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[_builtins.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")

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

    @_builtins.property
    @pulumi.getter(name="queuePrefixes")
    def queue_prefixes(self) -> Optional[Sequence[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsIntegrationsAlb(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "fetchExtendedInventory":
            suggest = "fetch_extended_inventory"
        elif key == "fetchTags":
            suggest = "fetch_tags"
        elif key == "loadBalancerPrefixes":
            suggest = "load_balancer_prefixes"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsAlb. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsAlb.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsAlb.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 fetch_extended_inventory: Optional[_builtins.bool] = None,
                 fetch_tags: Optional[_builtins.bool] = None,
                 load_balancer_prefixes: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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 _builtins.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 Sequence[_builtins.str] load_balancer_prefixes: Specify each name or prefix for the LBs that you want to monitor. Filter values are case-sensitive.
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds.
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.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_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)

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

    @_builtins.property
    @pulumi.getter(name="fetchExtendedInventory")
    def fetch_extended_inventory(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="loadBalancerPrefixes")
    def load_balancer_prefixes(self) -> Optional[Sequence[_builtins.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")

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

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsIntegrationsApiGateway(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "stagePrefixes":
            suggest = "stage_prefixes"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsApiGateway. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsApiGateway.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsApiGateway.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 stage_prefixes: Optional[Sequence[_builtins.str]] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds.
        :param Sequence[_builtins.str] stage_prefixes: 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 _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.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 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)

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

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

    @_builtins.property
    @pulumi.getter(name="stagePrefixes")
    def stage_prefixes(self) -> Optional[Sequence[_builtins.str]]:
        """
        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, "stage_prefixes")

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsIntegrationsAutoScaling(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsAutoScaling. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsAutoScaling.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsAutoScaling.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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)

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

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


@pulumi.output_type
class AwsIntegrationsAwsAppSync(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsAwsAppSync. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsAwsAppSync.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsAwsAppSync.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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)

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

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


@pulumi.output_type
class AwsIntegrationsAwsAthena(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsAwsAthena. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsAwsAthena.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsAwsAthena.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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)

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

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


@pulumi.output_type
class AwsIntegrationsAwsAutoDiscovery(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsAwsAutoDiscovery. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsAwsAutoDiscovery.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsAwsAutoDiscovery.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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)

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

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


@pulumi.output_type
class AwsIntegrationsAwsCognito(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsAwsCognito. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsAwsCognito.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsAwsCognito.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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)

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

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


@pulumi.output_type
class AwsIntegrationsAwsConnect(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsAwsConnect. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsAwsConnect.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsAwsConnect.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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)

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

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


@pulumi.output_type
class AwsIntegrationsAwsDirectConnect(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsAwsDirectConnect. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsAwsDirectConnect.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsAwsDirectConnect.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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)

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

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


@pulumi.output_type
class AwsIntegrationsAwsFsx(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsAwsFsx. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsAwsFsx.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsAwsFsx.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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)

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

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


@pulumi.output_type
class AwsIntegrationsAwsGlue(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsAwsGlue. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsAwsGlue.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsAwsGlue.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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)

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

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


@pulumi.output_type
class AwsIntegrationsAwsKinesisAnalytics(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsAwsKinesisAnalytics. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsAwsKinesisAnalytics.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsAwsKinesisAnalytics.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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)

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

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


@pulumi.output_type
class AwsIntegrationsAwsMediaConvert(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsAwsMediaConvert. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsAwsMediaConvert.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsAwsMediaConvert.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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)

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

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


@pulumi.output_type
class AwsIntegrationsAwsMediaPackageVod(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsAwsMediaPackageVod. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsAwsMediaPackageVod.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsAwsMediaPackageVod.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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)

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

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


@pulumi.output_type
class AwsIntegrationsAwsMq(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsAwsMq. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsAwsMq.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsAwsMq.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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)

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

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


@pulumi.output_type
class AwsIntegrationsAwsMsk(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsAwsMsk. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsAwsMsk.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsAwsMsk.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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)

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

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


@pulumi.output_type
class AwsIntegrationsAwsNeptune(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsAwsNeptune. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsAwsNeptune.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsAwsNeptune.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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)

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

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


@pulumi.output_type
class AwsIntegrationsAwsQldb(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsAwsQldb. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsAwsQldb.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsAwsQldb.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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)

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

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


@pulumi.output_type
class AwsIntegrationsAwsRoute53resolver(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsAwsRoute53resolver. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsAwsRoute53resolver.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsAwsRoute53resolver.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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)

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

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


@pulumi.output_type
class AwsIntegrationsAwsStates(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsAwsStates. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsAwsStates.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsAwsStates.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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)

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

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


@pulumi.output_type
class AwsIntegrationsAwsTransitGateway(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsAwsTransitGateway. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsAwsTransitGateway.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsAwsTransitGateway.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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)

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

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


@pulumi.output_type
class AwsIntegrationsAwsWaf(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsAwsWaf. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsAwsWaf.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsAwsWaf.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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)

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

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


@pulumi.output_type
class AwsIntegrationsAwsWafv2(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsAwsWafv2. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsAwsWafv2.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsAwsWafv2.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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)

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

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


@pulumi.output_type
class AwsIntegrationsBilling(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsBilling. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsBilling.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsBilling.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.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)

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


@pulumi.output_type
class AwsIntegrationsCloudfront(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "fetchLambdasAtEdge":
            suggest = "fetch_lambdas_at_edge"
        elif key == "fetchTags":
            suggest = "fetch_tags"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsCloudfront. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsCloudfront.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsCloudfront.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 fetch_lambdas_at_edge: Optional[_builtins.bool] = None,
                 fetch_tags: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param _builtins.bool fetch_lambdas_at_edge: Specify if Lambdas@Edge should be monitored. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param _builtins.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 _builtins.int metrics_polling_interval: The data polling interval in seconds.
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.str tag_value: Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
        """
        if fetch_lambdas_at_edge is not None:
            pulumi.set(__self__, "fetch_lambdas_at_edge", fetch_lambdas_at_edge)
        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)

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

    @_builtins.property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[_builtins.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")

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

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsIntegrationsCloudtrail(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsCloudtrail. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsCloudtrail.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsCloudtrail.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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)

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

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


@pulumi.output_type
class AwsIntegrationsDocDb(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsDocDb. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsDocDb.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsDocDb.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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)

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

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


@pulumi.output_type
class AwsIntegrationsDynamodb(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "fetchExtendedInventory":
            suggest = "fetch_extended_inventory"
        elif key == "fetchTags":
            suggest = "fetch_tags"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsDynamodb. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsDynamodb.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsDynamodb.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 fetch_extended_inventory: Optional[_builtins.bool] = None,
                 fetch_tags: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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 _builtins.bool fetch_tags: Specify if tags and the extended inventory should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds.
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.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_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)

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

    @_builtins.property
    @pulumi.getter(name="fetchExtendedInventory")
    def fetch_extended_inventory(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[_builtins.bool]:
        """
        Specify if tags 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")

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

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsIntegrationsEbs(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "fetchExtendedInventory":
            suggest = "fetch_extended_inventory"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsEbs. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsEbs.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsEbs.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 fetch_extended_inventory: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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 _builtins.int metrics_polling_interval: The data polling interval in seconds.
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.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_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)

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

    @_builtins.property
    @pulumi.getter(name="fetchExtendedInventory")
    def fetch_extended_inventory(self) -> Optional[_builtins.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")

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

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsIntegrationsEc2(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "duplicateEc2Tags":
            suggest = "duplicate_ec2_tags"
        elif key == "fetchIpAddresses":
            suggest = "fetch_ip_addresses"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsEc2. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsEc2.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsEc2.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 duplicate_ec2_tags: Optional[_builtins.bool] = None,
                 fetch_ip_addresses: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.bool duplicate_ec2_tags: Specify if the old legacy metadata and tag names have to be kept, it will consume more ingest data size
        :param _builtins.bool fetch_ip_addresses: Specify if IP addresses of ec2 instance should be collected
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds.
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.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 duplicate_ec2_tags is not None:
            pulumi.set(__self__, "duplicate_ec2_tags", duplicate_ec2_tags)
        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)

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

    @_builtins.property
    @pulumi.getter(name="duplicateEc2Tags")
    def duplicate_ec2_tags(self) -> Optional[_builtins.bool]:
        """
        Specify if the old legacy metadata and tag names have to be kept, it will consume more ingest data size
        """
        return pulumi.get(self, "duplicate_ec2_tags")

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

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

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsIntegrationsEcs(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "fetchTags":
            suggest = "fetch_tags"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsEcs. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsEcs.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsEcs.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 fetch_tags: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.bool fetch_tags: Specify if tags and the extended inventory should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds.
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.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_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)

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

    @_builtins.property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[_builtins.bool]:
        """
        Specify if tags 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")

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

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsIntegrationsEfs(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "fetchTags":
            suggest = "fetch_tags"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsEfs. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsEfs.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsEfs.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 fetch_tags: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.bool fetch_tags: Specify if tags and the extended inventory should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds.
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.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_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)

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

    @_builtins.property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[_builtins.bool]:
        """
        Specify if tags 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")

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

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsIntegrationsElasticache(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "fetchTags":
            suggest = "fetch_tags"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsElasticache. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsElasticache.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsElasticache.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 fetch_tags: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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 _builtins.int metrics_polling_interval: The data polling interval in seconds.
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.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_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)

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

    @_builtins.property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[_builtins.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")

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

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsIntegrationsElasticbeanstalk(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "fetchExtendedInventory":
            suggest = "fetch_extended_inventory"
        elif key == "fetchTags":
            suggest = "fetch_tags"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsElasticbeanstalk. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsElasticbeanstalk.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsElasticbeanstalk.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 fetch_extended_inventory: Optional[_builtins.bool] = None,
                 fetch_tags: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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 _builtins.bool fetch_tags: Specify if tags and the extended inventory should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds.
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.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_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)

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

    @_builtins.property
    @pulumi.getter(name="fetchExtendedInventory")
    def fetch_extended_inventory(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[_builtins.bool]:
        """
        Specify if tags 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")

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

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsIntegrationsElasticsearch(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "fetchNodes":
            suggest = "fetch_nodes"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsElasticsearch. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsElasticsearch.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsElasticsearch.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 fetch_nodes: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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 _builtins.int metrics_polling_interval: The data polling interval in seconds.
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.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_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)

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

    @_builtins.property
    @pulumi.getter(name="fetchNodes")
    def fetch_nodes(self) -> Optional[_builtins.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")

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

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsIntegrationsElb(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "fetchExtendedInventory":
            suggest = "fetch_extended_inventory"
        elif key == "fetchTags":
            suggest = "fetch_tags"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsElb. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsElb.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsElb.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 fetch_extended_inventory: Optional[_builtins.bool] = None,
                 fetch_tags: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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 _builtins.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 _builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="fetchExtendedInventory")
    def fetch_extended_inventory(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[_builtins.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")

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


@pulumi.output_type
class AwsIntegrationsEmr(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "fetchTags":
            suggest = "fetch_tags"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsEmr. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsEmr.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsEmr.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 fetch_tags: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.bool fetch_tags: Specify if tags and the extended inventory should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds.
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.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_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)

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

    @_builtins.property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[_builtins.bool]:
        """
        Specify if tags 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")

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

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsIntegrationsHealth(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsHealth. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsHealth.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsHealth.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.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)

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


@pulumi.output_type
class AwsIntegrationsIam(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsIam. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsIam.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsIam.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds.
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.str tag_value: Specify a Tag value 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_key is not None:
            pulumi.set(__self__, "tag_key", tag_key)
        if tag_value is not None:
            pulumi.set(__self__, "tag_value", tag_value)

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

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsIntegrationsIot(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsIot. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsIot.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsIot.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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)

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

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


@pulumi.output_type
class AwsIntegrationsKinesis(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "fetchShards":
            suggest = "fetch_shards"
        elif key == "fetchTags":
            suggest = "fetch_tags"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsKinesis. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsKinesis.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsKinesis.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 fetch_shards: Optional[_builtins.bool] = None,
                 fetch_tags: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.bool fetch_shards: Specify if Shards should be monitored. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param _builtins.bool fetch_tags: Specify if tags and the extended inventory should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds.
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.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_shards is not None:
            pulumi.set(__self__, "fetch_shards", fetch_shards)
        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)

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

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

    @_builtins.property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[_builtins.bool]:
        """
        Specify if tags 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")

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

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsIntegrationsKinesisFirehose(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsKinesisFirehose. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsKinesisFirehose.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsKinesisFirehose.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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)

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

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


@pulumi.output_type
class AwsIntegrationsLambda(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "fetchTags":
            suggest = "fetch_tags"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsLambda. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsLambda.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsLambda.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 fetch_tags: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.bool fetch_tags: Specify if tags and the extended inventory should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds.
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.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_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)

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

    @_builtins.property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[_builtins.bool]:
        """
        Specify if tags 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")

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

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsIntegrationsRds(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "fetchTags":
            suggest = "fetch_tags"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsRds. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsRds.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsRds.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 fetch_tags: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.bool fetch_tags: Specify if tags and the extended inventory should be collected. May affect total data collection time and contribute to the Cloud provider API rate limit.
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds.
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.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_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)

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

    @_builtins.property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[_builtins.bool]:
        """
        Specify if tags 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")

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

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsIntegrationsRedshift(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsRedshift. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsRedshift.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsRedshift.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds.
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.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 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)

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

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

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsIntegrationsRoute53(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "fetchExtendedInventory":
            suggest = "fetch_extended_inventory"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsRoute53. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsRoute53.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsRoute53.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 fetch_extended_inventory: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.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 _builtins.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)

    @_builtins.property
    @pulumi.getter(name="fetchExtendedInventory")
    def fetch_extended_inventory(self) -> Optional[_builtins.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")

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


@pulumi.output_type
class AwsIntegrationsS3(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "fetchExtendedInventory":
            suggest = "fetch_extended_inventory"
        elif key == "fetchTags":
            suggest = "fetch_tags"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsS3. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsS3.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsS3.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 fetch_extended_inventory: Optional[_builtins.bool] = None,
                 fetch_tags: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param _builtins.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 _builtins.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 _builtins.int metrics_polling_interval: The data polling interval in seconds.
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.str tag_value: Specify a Tag value associated with the resources that you want to monitor. Filter values are case-sensitive.
        """
        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)

    @_builtins.property
    @pulumi.getter(name="fetchExtendedInventory")
    def fetch_extended_inventory(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[_builtins.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")

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

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsIntegrationsSes(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsSes. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsSes.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsSes.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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)

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

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


@pulumi.output_type
class AwsIntegrationsSns(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "fetchExtendedInventory":
            suggest = "fetch_extended_inventory"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsSns. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsSns.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsSns.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 fetch_extended_inventory: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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 _builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="fetchExtendedInventory")
    def fetch_extended_inventory(self) -> Optional[_builtins.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")

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


@pulumi.output_type
class AwsIntegrationsSqs(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "fetchExtendedInventory":
            suggest = "fetch_extended_inventory"
        elif key == "fetchTags":
            suggest = "fetch_tags"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "queuePrefixes":
            suggest = "queue_prefixes"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsSqs. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsSqs.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsSqs.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 fetch_extended_inventory: Optional[_builtins.bool] = None,
                 fetch_tags: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 queue_prefixes: Optional[Sequence[_builtins.str]] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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 _builtins.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 _builtins.int metrics_polling_interval: The data polling interval in seconds.
        :param Sequence[_builtins.str] queue_prefixes: Specify each name or prefix for the Queues that you want to monitor. Filter values are case-sensitive.
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.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_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)

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

    @_builtins.property
    @pulumi.getter(name="fetchExtendedInventory")
    def fetch_extended_inventory(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[_builtins.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")

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

    @_builtins.property
    @pulumi.getter(name="queuePrefixes")
    def queue_prefixes(self) -> Optional[Sequence[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsIntegrationsTrustedAdvisor(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsTrustedAdvisor. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsTrustedAdvisor.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsTrustedAdvisor.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.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)

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


@pulumi.output_type
class AwsIntegrationsVpc(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "fetchNatGateway":
            suggest = "fetch_nat_gateway"
        elif key == "fetchVpn":
            suggest = "fetch_vpn"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "tagKey":
            suggest = "tag_key"
        elif key == "tagValue":
            suggest = "tag_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsVpc. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsVpc.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsVpc.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 fetch_nat_gateway: Optional[_builtins.bool] = None,
                 fetch_vpn: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 tag_key: Optional[_builtins.str] = None,
                 tag_value: Optional[_builtins.str] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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 _builtins.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 _builtins.int metrics_polling_interval: The data polling interval in seconds.
        :param _builtins.str tag_key: Specify a Tag key associated with the resources that you want to monitor. Filter values are case-sensitive.
        :param _builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="fetchNatGateway")
    def fetch_nat_gateway(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="fetchVpn")
    def fetch_vpn(self) -> Optional[_builtins.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")

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

    @_builtins.property
    @pulumi.getter(name="tagKey")
    def tag_key(self) -> Optional[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="tagValue")
    def tag_value(self) -> Optional[_builtins.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")


@pulumi.output_type
class AwsIntegrationsXRay(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "awsRegions":
            suggest = "aws_regions"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AwsIntegrationsXRay. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AwsIntegrationsXRay.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AwsIntegrationsXRay.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 aws_regions: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param Sequence[_builtins.str] aws_regions: Specify each AWS region that includes the resources that you want to monitor.
        :param _builtins.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)

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

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


@pulumi.output_type
class AzureIntegrationsApiManagement(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsApiManagement. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsApiManagement.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsApiManagement.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class AzureIntegrationsAppGateway(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsAppGateway. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsAppGateway.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsAppGateway.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class AzureIntegrationsAppService(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsAppService. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsAppService.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsAppService.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class AzureIntegrationsAutoDiscovery(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsAutoDiscovery. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsAutoDiscovery.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsAutoDiscovery.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class AzureIntegrationsContainers(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsContainers. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsContainers.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsContainers.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class AzureIntegrationsCosmosDb(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsCosmosDb. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsCosmosDb.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsCosmosDb.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class AzureIntegrationsCostManagement(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "tagKeys":
            suggest = "tag_keys"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsCostManagement. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsCostManagement.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsCostManagement.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 tag_keys: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.str] tag_keys: Specify if additional cost data per tag should be collected. This field is 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)

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

    @_builtins.property
    @pulumi.getter(name="tagKeys")
    def tag_keys(self) -> Optional[Sequence[_builtins.str]]:
        """
        Specify if additional cost data per tag should be collected. This field is case sensitive.
        """
        return pulumi.get(self, "tag_keys")


@pulumi.output_type
class AzureIntegrationsDataFactory(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsDataFactory. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsDataFactory.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsDataFactory.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class AzureIntegrationsEventHub(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsEventHub. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsEventHub.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsEventHub.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class AzureIntegrationsExpressRoute(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsExpressRoute. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsExpressRoute.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsExpressRoute.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class AzureIntegrationsFirewalls(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsFirewalls. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsFirewalls.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsFirewalls.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class AzureIntegrationsFrontDoor(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsFrontDoor. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsFrontDoor.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsFrontDoor.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class AzureIntegrationsFunctions(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsFunctions. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsFunctions.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsFunctions.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class AzureIntegrationsKeyVault(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsKeyVault. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsKeyVault.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsKeyVault.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class AzureIntegrationsLoadBalancer(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsLoadBalancer. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsLoadBalancer.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsLoadBalancer.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class AzureIntegrationsLogicApps(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsLogicApps. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsLogicApps.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsLogicApps.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class AzureIntegrationsMachineLearning(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsMachineLearning. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsMachineLearning.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsMachineLearning.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class AzureIntegrationsMariaDb(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsMariaDb. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsMariaDb.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsMariaDb.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class AzureIntegrationsMonitor(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "excludeTags":
            suggest = "exclude_tags"
        elif key == "includeTags":
            suggest = "include_tags"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"
        elif key == "resourceTypes":
            suggest = "resource_types"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsMonitor. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsMonitor.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsMonitor.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 enabled: Optional[_builtins.bool] = None,
                 exclude_tags: Optional[Sequence[_builtins.str]] = None,
                 include_tags: Optional[Sequence[_builtins.str]] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None,
                 resource_types: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.bool enabled: A flag that specifies if the integration is active
        :param Sequence[_builtins.str] exclude_tags: Specify resource tags in 'key:value' form to be excluded from monitoring
        :param Sequence[_builtins.str] include_tags: Specify resource tags in 'key:value' form to be monitored
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.str] resource_groups: Specify each Resource group associated with the resources that you want to monitor. Filter values are case-sensitive
        :param Sequence[_builtins.str] resource_types: Specify each Azure resource type that needs to be monitored
        """
        if enabled is not None:
            pulumi.set(__self__, "enabled", enabled)
        if exclude_tags is not None:
            pulumi.set(__self__, "exclude_tags", exclude_tags)
        if include_tags is not None:
            pulumi.set(__self__, "include_tags", include_tags)
        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)
        if resource_types is not None:
            pulumi.set(__self__, "resource_types", resource_types)

    @_builtins.property
    @pulumi.getter
    def enabled(self) -> Optional[_builtins.bool]:
        """
        A flag that specifies if the integration is active
        """
        return pulumi.get(self, "enabled")

    @_builtins.property
    @pulumi.getter(name="excludeTags")
    def exclude_tags(self) -> Optional[Sequence[_builtins.str]]:
        """
        Specify resource tags in 'key:value' form to be excluded from monitoring
        """
        return pulumi.get(self, "exclude_tags")

    @_builtins.property
    @pulumi.getter(name="includeTags")
    def include_tags(self) -> Optional[Sequence[_builtins.str]]:
        """
        Specify resource tags in 'key:value' form to be monitored
        """
        return pulumi.get(self, "include_tags")

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")

    @_builtins.property
    @pulumi.getter(name="resourceTypes")
    def resource_types(self) -> Optional[Sequence[_builtins.str]]:
        """
        Specify each Azure resource type that needs to be monitored
        """
        return pulumi.get(self, "resource_types")


@pulumi.output_type
class AzureIntegrationsMysql(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsMysql. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsMysql.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsMysql.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class AzureIntegrationsMysqlFlexible(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsMysqlFlexible. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsMysqlFlexible.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsMysqlFlexible.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class AzureIntegrationsPostgresql(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsPostgresql. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsPostgresql.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsPostgresql.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class AzureIntegrationsPostgresqlFlexible(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsPostgresqlFlexible. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsPostgresqlFlexible.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsPostgresqlFlexible.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class AzureIntegrationsPowerBiDedicated(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsPowerBiDedicated. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsPowerBiDedicated.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsPowerBiDedicated.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class AzureIntegrationsRedisCache(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsRedisCache. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsRedisCache.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsRedisCache.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class AzureIntegrationsServiceBus(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsServiceBus. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsServiceBus.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsServiceBus.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class AzureIntegrationsSql(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsSql. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsSql.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsSql.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class AzureIntegrationsSqlManaged(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsSqlManaged. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsSqlManaged.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsSqlManaged.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class AzureIntegrationsStorage(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsStorage. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsStorage.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsStorage.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class AzureIntegrationsVirtualMachine(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsVirtualMachine. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsVirtualMachine.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsVirtualMachine.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class AzureIntegrationsVirtualNetworks(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsVirtualNetworks. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsVirtualNetworks.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsVirtualNetworks.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class AzureIntegrationsVms(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsVms. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsVms.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsVms.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class AzureIntegrationsVpnGateway(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"
        elif key == "resourceGroups":
            suggest = "resource_groups"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in AzureIntegrationsVpnGateway. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        AzureIntegrationsVpnGateway.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        AzureIntegrationsVpnGateway.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None,
                 resource_groups: Optional[Sequence[_builtins.str]] = None):
        """
        :param _builtins.int metrics_polling_interval: The data polling interval in seconds
        :param Sequence[_builtins.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)

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

    @_builtins.property
    @pulumi.getter(name="resourceGroups")
    def resource_groups(self) -> Optional[Sequence[_builtins.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")


@pulumi.output_type
class GcpIntegrationsAlloyDb(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in GcpIntegrationsAlloyDb. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        GcpIntegrationsAlloyDb.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        GcpIntegrationsAlloyDb.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.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)

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


@pulumi.output_type
class GcpIntegrationsAppEngine(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in GcpIntegrationsAppEngine. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        GcpIntegrationsAppEngine.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        GcpIntegrationsAppEngine.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.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)

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


@pulumi.output_type
class GcpIntegrationsBigQuery(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "fetchTags":
            suggest = "fetch_tags"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in GcpIntegrationsBigQuery. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        GcpIntegrationsBigQuery.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        GcpIntegrationsBigQuery.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 fetch_tags: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.bool fetch_tags: to fetch tags of the resource
        :param _builtins.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)

    @_builtins.property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[_builtins.bool]:
        """
        to fetch tags of the resource
        """
        return pulumi.get(self, "fetch_tags")

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


@pulumi.output_type
class GcpIntegrationsBigTable(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in GcpIntegrationsBigTable. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        GcpIntegrationsBigTable.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        GcpIntegrationsBigTable.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.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)

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


@pulumi.output_type
class GcpIntegrationsComposer(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in GcpIntegrationsComposer. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        GcpIntegrationsComposer.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        GcpIntegrationsComposer.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.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)

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


@pulumi.output_type
class GcpIntegrationsDataFlow(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in GcpIntegrationsDataFlow. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        GcpIntegrationsDataFlow.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        GcpIntegrationsDataFlow.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.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)

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


@pulumi.output_type
class GcpIntegrationsDataProc(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in GcpIntegrationsDataProc. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        GcpIntegrationsDataProc.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        GcpIntegrationsDataProc.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.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)

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


@pulumi.output_type
class GcpIntegrationsDataStore(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in GcpIntegrationsDataStore. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        GcpIntegrationsDataStore.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        GcpIntegrationsDataStore.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.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)

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


@pulumi.output_type
class GcpIntegrationsFireBaseDatabase(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in GcpIntegrationsFireBaseDatabase. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        GcpIntegrationsFireBaseDatabase.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        GcpIntegrationsFireBaseDatabase.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.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)

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


@pulumi.output_type
class GcpIntegrationsFireBaseHosting(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in GcpIntegrationsFireBaseHosting. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        GcpIntegrationsFireBaseHosting.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        GcpIntegrationsFireBaseHosting.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.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)

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


@pulumi.output_type
class GcpIntegrationsFireBaseStorage(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in GcpIntegrationsFireBaseStorage. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        GcpIntegrationsFireBaseStorage.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        GcpIntegrationsFireBaseStorage.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.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)

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


@pulumi.output_type
class GcpIntegrationsFireStore(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in GcpIntegrationsFireStore. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        GcpIntegrationsFireStore.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        GcpIntegrationsFireStore.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.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)

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


@pulumi.output_type
class GcpIntegrationsFunctions(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in GcpIntegrationsFunctions. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        GcpIntegrationsFunctions.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        GcpIntegrationsFunctions.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.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)

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


@pulumi.output_type
class GcpIntegrationsInterconnect(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in GcpIntegrationsInterconnect. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        GcpIntegrationsInterconnect.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        GcpIntegrationsInterconnect.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.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)

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


@pulumi.output_type
class GcpIntegrationsKubernetes(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in GcpIntegrationsKubernetes. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        GcpIntegrationsKubernetes.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        GcpIntegrationsKubernetes.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.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)

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


@pulumi.output_type
class GcpIntegrationsLoadBalancing(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in GcpIntegrationsLoadBalancing. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        GcpIntegrationsLoadBalancing.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        GcpIntegrationsLoadBalancing.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.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)

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


@pulumi.output_type
class GcpIntegrationsMemCache(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in GcpIntegrationsMemCache. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        GcpIntegrationsMemCache.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        GcpIntegrationsMemCache.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.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)

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


@pulumi.output_type
class GcpIntegrationsPubSub(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "fetchTags":
            suggest = "fetch_tags"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in GcpIntegrationsPubSub. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        GcpIntegrationsPubSub.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        GcpIntegrationsPubSub.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 fetch_tags: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.bool fetch_tags: to fetch tags of the resource
        :param _builtins.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)

    @_builtins.property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[_builtins.bool]:
        """
        to fetch tags of the resource
        """
        return pulumi.get(self, "fetch_tags")

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


@pulumi.output_type
class GcpIntegrationsRedis(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in GcpIntegrationsRedis. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        GcpIntegrationsRedis.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        GcpIntegrationsRedis.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.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)

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


@pulumi.output_type
class GcpIntegrationsRouter(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in GcpIntegrationsRouter. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        GcpIntegrationsRouter.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        GcpIntegrationsRouter.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.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)

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


@pulumi.output_type
class GcpIntegrationsRun(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in GcpIntegrationsRun. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        GcpIntegrationsRun.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        GcpIntegrationsRun.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.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)

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


@pulumi.output_type
class GcpIntegrationsSpanner(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "fetchTags":
            suggest = "fetch_tags"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in GcpIntegrationsSpanner. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        GcpIntegrationsSpanner.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        GcpIntegrationsSpanner.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 fetch_tags: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.bool fetch_tags: to fetch tags of the resource
        :param _builtins.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)

    @_builtins.property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[_builtins.bool]:
        """
        to fetch tags of the resource
        """
        return pulumi.get(self, "fetch_tags")

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


@pulumi.output_type
class GcpIntegrationsSql(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in GcpIntegrationsSql. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        GcpIntegrationsSql.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        GcpIntegrationsSql.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.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)

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


@pulumi.output_type
class GcpIntegrationsStorage(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "fetchTags":
            suggest = "fetch_tags"
        elif key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in GcpIntegrationsStorage. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        GcpIntegrationsStorage.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        GcpIntegrationsStorage.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 fetch_tags: Optional[_builtins.bool] = None,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.bool fetch_tags: to fetch tags of the resource
        :param _builtins.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)

    @_builtins.property
    @pulumi.getter(name="fetchTags")
    def fetch_tags(self) -> Optional[_builtins.bool]:
        """
        to fetch tags of the resource
        """
        return pulumi.get(self, "fetch_tags")

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


@pulumi.output_type
class GcpIntegrationsVirtualMachines(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in GcpIntegrationsVirtualMachines. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        GcpIntegrationsVirtualMachines.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        GcpIntegrationsVirtualMachines.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.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)

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


@pulumi.output_type
class GcpIntegrationsVpcAccess(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "metricsPollingInterval":
            suggest = "metrics_polling_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in GcpIntegrationsVpcAccess. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        GcpIntegrationsVpcAccess.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        GcpIntegrationsVpcAccess.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 metrics_polling_interval: Optional[_builtins.int] = None):
        """
        :param _builtins.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)

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


