# coding=utf-8
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import copy
import warnings
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
from .. import _utilities
from . import outputs
from ._inputs import *

__all__ = ['AwsIntegrationsArgs', 'AwsIntegrations']

@pulumi.input_type
class AwsIntegrationsArgs:
    def __init__(__self__, *,
                 linked_account_id: pulumi.Input[str],
                 account_id: Optional[pulumi.Input[str]] = None,
                 alb: Optional[pulumi.Input['AwsIntegrationsAlbArgs']] = None,
                 api_gateway: Optional[pulumi.Input['AwsIntegrationsApiGatewayArgs']] = None,
                 auto_scaling: Optional[pulumi.Input['AwsIntegrationsAutoScalingArgs']] = None,
                 aws_app_sync: Optional[pulumi.Input['AwsIntegrationsAwsAppSyncArgs']] = None,
                 aws_athena: Optional[pulumi.Input['AwsIntegrationsAwsAthenaArgs']] = None,
                 aws_cognito: Optional[pulumi.Input['AwsIntegrationsAwsCognitoArgs']] = None,
                 aws_connect: Optional[pulumi.Input['AwsIntegrationsAwsConnectArgs']] = None,
                 aws_direct_connect: Optional[pulumi.Input['AwsIntegrationsAwsDirectConnectArgs']] = None,
                 aws_fsx: Optional[pulumi.Input['AwsIntegrationsAwsFsxArgs']] = None,
                 aws_glue: Optional[pulumi.Input['AwsIntegrationsAwsGlueArgs']] = None,
                 aws_kinesis_analytics: Optional[pulumi.Input['AwsIntegrationsAwsKinesisAnalyticsArgs']] = None,
                 aws_media_convert: Optional[pulumi.Input['AwsIntegrationsAwsMediaConvertArgs']] = None,
                 aws_media_package_vod: Optional[pulumi.Input['AwsIntegrationsAwsMediaPackageVodArgs']] = None,
                 aws_mq: Optional[pulumi.Input['AwsIntegrationsAwsMqArgs']] = None,
                 aws_msk: Optional[pulumi.Input['AwsIntegrationsAwsMskArgs']] = None,
                 aws_neptune: Optional[pulumi.Input['AwsIntegrationsAwsNeptuneArgs']] = None,
                 aws_qldb: Optional[pulumi.Input['AwsIntegrationsAwsQldbArgs']] = None,
                 aws_route53resolver: Optional[pulumi.Input['AwsIntegrationsAwsRoute53resolverArgs']] = None,
                 aws_states: Optional[pulumi.Input['AwsIntegrationsAwsStatesArgs']] = None,
                 aws_transit_gateway: Optional[pulumi.Input['AwsIntegrationsAwsTransitGatewayArgs']] = None,
                 aws_waf: Optional[pulumi.Input['AwsIntegrationsAwsWafArgs']] = None,
                 aws_wafv2: Optional[pulumi.Input['AwsIntegrationsAwsWafv2Args']] = None,
                 billing: Optional[pulumi.Input['AwsIntegrationsBillingArgs']] = None,
                 cloudfront: Optional[pulumi.Input['AwsIntegrationsCloudfrontArgs']] = None,
                 cloudtrail: Optional[pulumi.Input['AwsIntegrationsCloudtrailArgs']] = None,
                 doc_db: Optional[pulumi.Input['AwsIntegrationsDocDbArgs']] = None,
                 dynamodb: Optional[pulumi.Input['AwsIntegrationsDynamodbArgs']] = None,
                 ebs: Optional[pulumi.Input['AwsIntegrationsEbsArgs']] = None,
                 ec2: Optional[pulumi.Input['AwsIntegrationsEc2Args']] = None,
                 ecs: Optional[pulumi.Input['AwsIntegrationsEcsArgs']] = None,
                 efs: Optional[pulumi.Input['AwsIntegrationsEfsArgs']] = None,
                 elasticache: Optional[pulumi.Input['AwsIntegrationsElasticacheArgs']] = None,
                 elasticbeanstalk: Optional[pulumi.Input['AwsIntegrationsElasticbeanstalkArgs']] = None,
                 elasticsearch: Optional[pulumi.Input['AwsIntegrationsElasticsearchArgs']] = None,
                 elb: Optional[pulumi.Input['AwsIntegrationsElbArgs']] = None,
                 emr: Optional[pulumi.Input['AwsIntegrationsEmrArgs']] = None,
                 health: Optional[pulumi.Input['AwsIntegrationsHealthArgs']] = None,
                 iam: Optional[pulumi.Input['AwsIntegrationsIamArgs']] = None,
                 iot: Optional[pulumi.Input['AwsIntegrationsIotArgs']] = None,
                 kinesis: Optional[pulumi.Input['AwsIntegrationsKinesisArgs']] = None,
                 kinesis_firehose: Optional[pulumi.Input['AwsIntegrationsKinesisFirehoseArgs']] = None,
                 lambda_: Optional[pulumi.Input['AwsIntegrationsLambdaArgs']] = None,
                 rds: Optional[pulumi.Input['AwsIntegrationsRdsArgs']] = None,
                 redshift: Optional[pulumi.Input['AwsIntegrationsRedshiftArgs']] = None,
                 route53: Optional[pulumi.Input['AwsIntegrationsRoute53Args']] = None,
                 s3: Optional[pulumi.Input['AwsIntegrationsS3Args']] = None,
                 ses: Optional[pulumi.Input['AwsIntegrationsSesArgs']] = None,
                 sns: Optional[pulumi.Input['AwsIntegrationsSnsArgs']] = None,
                 sqs: Optional[pulumi.Input['AwsIntegrationsSqsArgs']] = None,
                 trusted_advisor: Optional[pulumi.Input['AwsIntegrationsTrustedAdvisorArgs']] = None,
                 vpc: Optional[pulumi.Input['AwsIntegrationsVpcArgs']] = None,
                 x_ray: Optional[pulumi.Input['AwsIntegrationsXRayArgs']] = None):
        """
        The set of arguments for constructing a AwsIntegrations resource.
        :param pulumi.Input[str] linked_account_id: The ID of the linked AWS account in New Relic.
               
               
               The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 300 seconds.
        :param pulumi.Input[str] account_id: The New Relic account ID to operate on.  This allows the user to override the `account_id` attribute set on the provider. Defaults to the environment variable `NEW_RELIC_ACCOUNT_ID`.
        :param pulumi.Input['AwsIntegrationsAlbArgs'] alb: AWS ALB. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsApiGatewayArgs'] api_gateway: AWS API Gateway. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAutoScalingArgs'] auto_scaling: AWS Auto Scaling. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsAppSyncArgs'] aws_app_sync: AWS AppSync. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsAthenaArgs'] aws_athena: AWS Athena. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsCognitoArgs'] aws_cognito: AWS Cognito. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsConnectArgs'] aws_connect: AWS Connect. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsDirectConnectArgs'] aws_direct_connect: AWS Direct Connect. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsFsxArgs'] aws_fsx: AWS FSx. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsGlueArgs'] aws_glue: AWS Glue. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsKinesisAnalyticsArgs'] aws_kinesis_analytics: AWS Kinesis Data Analytics. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsMediaConvertArgs'] aws_media_convert: AWS Media Convert. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsMediaPackageVodArgs'] aws_media_package_vod: AWS MediaPackage VOD. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsMqArgs'] aws_mq: AWS MQ. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsMskArgs'] aws_msk: Amazon Managed Kafka (MSK). See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsNeptuneArgs'] aws_neptune: AWS Neptune. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsQldbArgs'] aws_qldb: Amazon QLDB. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsRoute53resolverArgs'] aws_route53resolver: AWS Route53 Resolver. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsStatesArgs'] aws_states: Aws states integration
        :param pulumi.Input['AwsIntegrationsAwsTransitGatewayArgs'] aws_transit_gateway: Amazon Transit Gateway. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsWafArgs'] aws_waf: AWS WAF. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsWafv2Args'] aws_wafv2: AWS WAF V2. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsBillingArgs'] billing: AWS Billing. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsCloudfrontArgs'] cloudfront: AWS CloudFront. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsCloudtrailArgs'] cloudtrail: AWS CloudTrail. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsDocDbArgs'] doc_db: AWS DocumentDB. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsDynamodbArgs'] dynamodb: Amazon DynamoDB. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsEbsArgs'] ebs: Amazon EBS. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsEc2Args'] ec2: Amazon EC2. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsEcsArgs'] ecs: Amazon ECS. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsEfsArgs'] efs: Amazon EFS. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsElasticacheArgs'] elasticache: AWS ElastiCache. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsElasticbeanstalkArgs'] elasticbeanstalk: AWS Elastic Beanstalk. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsElasticsearchArgs'] elasticsearch: AWS ElasticSearch. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsElbArgs'] elb: AWS ELB (Classic). See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsEmrArgs'] emr: AWS EMR. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsHealthArgs'] health: AWS Health. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsIamArgs'] iam: AWS IAM. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsIotArgs'] iot: AWS IoT. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsKinesisArgs'] kinesis: AWS Kinesis. See Integration blocks below for details.
               
               The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 3600 seconds.
        :param pulumi.Input['AwsIntegrationsKinesisFirehoseArgs'] kinesis_firehose: Amazon Kinesis Data Firehose. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsLambdaArgs'] lambda_: AWS Lambda. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsRdsArgs'] rds: Amazon RDS. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsRedshiftArgs'] redshift: Amazon Redshift. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsRoute53Args'] route53: Amazon Route 53. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsS3Args'] s3: Amazon S3. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsSesArgs'] ses: Amazon SES. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsSnsArgs'] sns: AWS SNS. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsSqsArgs'] sqs: AWS SQS. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsTrustedAdvisorArgs'] trusted_advisor: AWS Trusted Advisor. See Integration blocks below for details.
               
               All other arguments are dependent on the services to be integrated, which have been listed in the collapsible section below. All of these are **optional** blocks that can be added in any required combination. **For details on arguments that can be used with each service, check out the `Integration` blocks section below.**
        :param pulumi.Input['AwsIntegrationsVpcArgs'] vpc: VPC integration
        :param pulumi.Input['AwsIntegrationsXRayArgs'] x_ray: AWS X-Ray. See Integration blocks below for details.
               x
               
               The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 900 seconds.
        """
        pulumi.set(__self__, "linked_account_id", linked_account_id)
        if account_id is not None:
            pulumi.set(__self__, "account_id", account_id)
        if alb is not None:
            pulumi.set(__self__, "alb", alb)
        if api_gateway is not None:
            pulumi.set(__self__, "api_gateway", api_gateway)
        if auto_scaling is not None:
            pulumi.set(__self__, "auto_scaling", auto_scaling)
        if aws_app_sync is not None:
            pulumi.set(__self__, "aws_app_sync", aws_app_sync)
        if aws_athena is not None:
            pulumi.set(__self__, "aws_athena", aws_athena)
        if aws_cognito is not None:
            pulumi.set(__self__, "aws_cognito", aws_cognito)
        if aws_connect is not None:
            pulumi.set(__self__, "aws_connect", aws_connect)
        if aws_direct_connect is not None:
            pulumi.set(__self__, "aws_direct_connect", aws_direct_connect)
        if aws_fsx is not None:
            pulumi.set(__self__, "aws_fsx", aws_fsx)
        if aws_glue is not None:
            pulumi.set(__self__, "aws_glue", aws_glue)
        if aws_kinesis_analytics is not None:
            pulumi.set(__self__, "aws_kinesis_analytics", aws_kinesis_analytics)
        if aws_media_convert is not None:
            pulumi.set(__self__, "aws_media_convert", aws_media_convert)
        if aws_media_package_vod is not None:
            pulumi.set(__self__, "aws_media_package_vod", aws_media_package_vod)
        if aws_mq is not None:
            pulumi.set(__self__, "aws_mq", aws_mq)
        if aws_msk is not None:
            pulumi.set(__self__, "aws_msk", aws_msk)
        if aws_neptune is not None:
            pulumi.set(__self__, "aws_neptune", aws_neptune)
        if aws_qldb is not None:
            pulumi.set(__self__, "aws_qldb", aws_qldb)
        if aws_route53resolver is not None:
            pulumi.set(__self__, "aws_route53resolver", aws_route53resolver)
        if aws_states is not None:
            pulumi.set(__self__, "aws_states", aws_states)
        if aws_transit_gateway is not None:
            pulumi.set(__self__, "aws_transit_gateway", aws_transit_gateway)
        if aws_waf is not None:
            pulumi.set(__self__, "aws_waf", aws_waf)
        if aws_wafv2 is not None:
            pulumi.set(__self__, "aws_wafv2", aws_wafv2)
        if billing is not None:
            pulumi.set(__self__, "billing", billing)
        if cloudfront is not None:
            pulumi.set(__self__, "cloudfront", cloudfront)
        if cloudtrail is not None:
            pulumi.set(__self__, "cloudtrail", cloudtrail)
        if doc_db is not None:
            pulumi.set(__self__, "doc_db", doc_db)
        if dynamodb is not None:
            pulumi.set(__self__, "dynamodb", dynamodb)
        if ebs is not None:
            pulumi.set(__self__, "ebs", ebs)
        if ec2 is not None:
            pulumi.set(__self__, "ec2", ec2)
        if ecs is not None:
            pulumi.set(__self__, "ecs", ecs)
        if efs is not None:
            pulumi.set(__self__, "efs", efs)
        if elasticache is not None:
            pulumi.set(__self__, "elasticache", elasticache)
        if elasticbeanstalk is not None:
            pulumi.set(__self__, "elasticbeanstalk", elasticbeanstalk)
        if elasticsearch is not None:
            pulumi.set(__self__, "elasticsearch", elasticsearch)
        if elb is not None:
            pulumi.set(__self__, "elb", elb)
        if emr is not None:
            pulumi.set(__self__, "emr", emr)
        if health is not None:
            pulumi.set(__self__, "health", health)
        if iam is not None:
            pulumi.set(__self__, "iam", iam)
        if iot is not None:
            pulumi.set(__self__, "iot", iot)
        if kinesis is not None:
            pulumi.set(__self__, "kinesis", kinesis)
        if kinesis_firehose is not None:
            pulumi.set(__self__, "kinesis_firehose", kinesis_firehose)
        if lambda_ is not None:
            pulumi.set(__self__, "lambda_", lambda_)
        if rds is not None:
            pulumi.set(__self__, "rds", rds)
        if redshift is not None:
            pulumi.set(__self__, "redshift", redshift)
        if route53 is not None:
            pulumi.set(__self__, "route53", route53)
        if s3 is not None:
            pulumi.set(__self__, "s3", s3)
        if ses is not None:
            pulumi.set(__self__, "ses", ses)
        if sns is not None:
            pulumi.set(__self__, "sns", sns)
        if sqs is not None:
            pulumi.set(__self__, "sqs", sqs)
        if trusted_advisor is not None:
            pulumi.set(__self__, "trusted_advisor", trusted_advisor)
        if vpc is not None:
            pulumi.set(__self__, "vpc", vpc)
        if x_ray is not None:
            pulumi.set(__self__, "x_ray", x_ray)

    @property
    @pulumi.getter(name="linkedAccountId")
    def linked_account_id(self) -> pulumi.Input[str]:
        """
        The ID of the linked AWS account in New Relic.


        The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 300 seconds.
        """
        return pulumi.get(self, "linked_account_id")

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

    @property
    @pulumi.getter(name="accountId")
    def account_id(self) -> Optional[pulumi.Input[str]]:
        """
        The New Relic account ID to operate on.  This allows the user to override the `account_id` attribute set on the provider. Defaults to the environment variable `NEW_RELIC_ACCOUNT_ID`.
        """
        return pulumi.get(self, "account_id")

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

    @property
    @pulumi.getter
    def alb(self) -> Optional[pulumi.Input['AwsIntegrationsAlbArgs']]:
        """
        AWS ALB. See Integration blocks below for details.
        """
        return pulumi.get(self, "alb")

    @alb.setter
    def alb(self, value: Optional[pulumi.Input['AwsIntegrationsAlbArgs']]):
        pulumi.set(self, "alb", value)

    @property
    @pulumi.getter(name="apiGateway")
    def api_gateway(self) -> Optional[pulumi.Input['AwsIntegrationsApiGatewayArgs']]:
        """
        AWS API Gateway. See Integration blocks below for details.
        """
        return pulumi.get(self, "api_gateway")

    @api_gateway.setter
    def api_gateway(self, value: Optional[pulumi.Input['AwsIntegrationsApiGatewayArgs']]):
        pulumi.set(self, "api_gateway", value)

    @property
    @pulumi.getter(name="autoScaling")
    def auto_scaling(self) -> Optional[pulumi.Input['AwsIntegrationsAutoScalingArgs']]:
        """
        AWS Auto Scaling. See Integration blocks below for details.
        """
        return pulumi.get(self, "auto_scaling")

    @auto_scaling.setter
    def auto_scaling(self, value: Optional[pulumi.Input['AwsIntegrationsAutoScalingArgs']]):
        pulumi.set(self, "auto_scaling", value)

    @property
    @pulumi.getter(name="awsAppSync")
    def aws_app_sync(self) -> Optional[pulumi.Input['AwsIntegrationsAwsAppSyncArgs']]:
        """
        AWS AppSync. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_app_sync")

    @aws_app_sync.setter
    def aws_app_sync(self, value: Optional[pulumi.Input['AwsIntegrationsAwsAppSyncArgs']]):
        pulumi.set(self, "aws_app_sync", value)

    @property
    @pulumi.getter(name="awsAthena")
    def aws_athena(self) -> Optional[pulumi.Input['AwsIntegrationsAwsAthenaArgs']]:
        """
        AWS Athena. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_athena")

    @aws_athena.setter
    def aws_athena(self, value: Optional[pulumi.Input['AwsIntegrationsAwsAthenaArgs']]):
        pulumi.set(self, "aws_athena", value)

    @property
    @pulumi.getter(name="awsCognito")
    def aws_cognito(self) -> Optional[pulumi.Input['AwsIntegrationsAwsCognitoArgs']]:
        """
        AWS Cognito. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_cognito")

    @aws_cognito.setter
    def aws_cognito(self, value: Optional[pulumi.Input['AwsIntegrationsAwsCognitoArgs']]):
        pulumi.set(self, "aws_cognito", value)

    @property
    @pulumi.getter(name="awsConnect")
    def aws_connect(self) -> Optional[pulumi.Input['AwsIntegrationsAwsConnectArgs']]:
        """
        AWS Connect. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_connect")

    @aws_connect.setter
    def aws_connect(self, value: Optional[pulumi.Input['AwsIntegrationsAwsConnectArgs']]):
        pulumi.set(self, "aws_connect", value)

    @property
    @pulumi.getter(name="awsDirectConnect")
    def aws_direct_connect(self) -> Optional[pulumi.Input['AwsIntegrationsAwsDirectConnectArgs']]:
        """
        AWS Direct Connect. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_direct_connect")

    @aws_direct_connect.setter
    def aws_direct_connect(self, value: Optional[pulumi.Input['AwsIntegrationsAwsDirectConnectArgs']]):
        pulumi.set(self, "aws_direct_connect", value)

    @property
    @pulumi.getter(name="awsFsx")
    def aws_fsx(self) -> Optional[pulumi.Input['AwsIntegrationsAwsFsxArgs']]:
        """
        AWS FSx. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_fsx")

    @aws_fsx.setter
    def aws_fsx(self, value: Optional[pulumi.Input['AwsIntegrationsAwsFsxArgs']]):
        pulumi.set(self, "aws_fsx", value)

    @property
    @pulumi.getter(name="awsGlue")
    def aws_glue(self) -> Optional[pulumi.Input['AwsIntegrationsAwsGlueArgs']]:
        """
        AWS Glue. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_glue")

    @aws_glue.setter
    def aws_glue(self, value: Optional[pulumi.Input['AwsIntegrationsAwsGlueArgs']]):
        pulumi.set(self, "aws_glue", value)

    @property
    @pulumi.getter(name="awsKinesisAnalytics")
    def aws_kinesis_analytics(self) -> Optional[pulumi.Input['AwsIntegrationsAwsKinesisAnalyticsArgs']]:
        """
        AWS Kinesis Data Analytics. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_kinesis_analytics")

    @aws_kinesis_analytics.setter
    def aws_kinesis_analytics(self, value: Optional[pulumi.Input['AwsIntegrationsAwsKinesisAnalyticsArgs']]):
        pulumi.set(self, "aws_kinesis_analytics", value)

    @property
    @pulumi.getter(name="awsMediaConvert")
    def aws_media_convert(self) -> Optional[pulumi.Input['AwsIntegrationsAwsMediaConvertArgs']]:
        """
        AWS Media Convert. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_media_convert")

    @aws_media_convert.setter
    def aws_media_convert(self, value: Optional[pulumi.Input['AwsIntegrationsAwsMediaConvertArgs']]):
        pulumi.set(self, "aws_media_convert", value)

    @property
    @pulumi.getter(name="awsMediaPackageVod")
    def aws_media_package_vod(self) -> Optional[pulumi.Input['AwsIntegrationsAwsMediaPackageVodArgs']]:
        """
        AWS MediaPackage VOD. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_media_package_vod")

    @aws_media_package_vod.setter
    def aws_media_package_vod(self, value: Optional[pulumi.Input['AwsIntegrationsAwsMediaPackageVodArgs']]):
        pulumi.set(self, "aws_media_package_vod", value)

    @property
    @pulumi.getter(name="awsMq")
    def aws_mq(self) -> Optional[pulumi.Input['AwsIntegrationsAwsMqArgs']]:
        """
        AWS MQ. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_mq")

    @aws_mq.setter
    def aws_mq(self, value: Optional[pulumi.Input['AwsIntegrationsAwsMqArgs']]):
        pulumi.set(self, "aws_mq", value)

    @property
    @pulumi.getter(name="awsMsk")
    def aws_msk(self) -> Optional[pulumi.Input['AwsIntegrationsAwsMskArgs']]:
        """
        Amazon Managed Kafka (MSK). See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_msk")

    @aws_msk.setter
    def aws_msk(self, value: Optional[pulumi.Input['AwsIntegrationsAwsMskArgs']]):
        pulumi.set(self, "aws_msk", value)

    @property
    @pulumi.getter(name="awsNeptune")
    def aws_neptune(self) -> Optional[pulumi.Input['AwsIntegrationsAwsNeptuneArgs']]:
        """
        AWS Neptune. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_neptune")

    @aws_neptune.setter
    def aws_neptune(self, value: Optional[pulumi.Input['AwsIntegrationsAwsNeptuneArgs']]):
        pulumi.set(self, "aws_neptune", value)

    @property
    @pulumi.getter(name="awsQldb")
    def aws_qldb(self) -> Optional[pulumi.Input['AwsIntegrationsAwsQldbArgs']]:
        """
        Amazon QLDB. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_qldb")

    @aws_qldb.setter
    def aws_qldb(self, value: Optional[pulumi.Input['AwsIntegrationsAwsQldbArgs']]):
        pulumi.set(self, "aws_qldb", value)

    @property
    @pulumi.getter(name="awsRoute53resolver")
    def aws_route53resolver(self) -> Optional[pulumi.Input['AwsIntegrationsAwsRoute53resolverArgs']]:
        """
        AWS Route53 Resolver. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_route53resolver")

    @aws_route53resolver.setter
    def aws_route53resolver(self, value: Optional[pulumi.Input['AwsIntegrationsAwsRoute53resolverArgs']]):
        pulumi.set(self, "aws_route53resolver", value)

    @property
    @pulumi.getter(name="awsStates")
    def aws_states(self) -> Optional[pulumi.Input['AwsIntegrationsAwsStatesArgs']]:
        """
        Aws states integration
        """
        return pulumi.get(self, "aws_states")

    @aws_states.setter
    def aws_states(self, value: Optional[pulumi.Input['AwsIntegrationsAwsStatesArgs']]):
        pulumi.set(self, "aws_states", value)

    @property
    @pulumi.getter(name="awsTransitGateway")
    def aws_transit_gateway(self) -> Optional[pulumi.Input['AwsIntegrationsAwsTransitGatewayArgs']]:
        """
        Amazon Transit Gateway. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_transit_gateway")

    @aws_transit_gateway.setter
    def aws_transit_gateway(self, value: Optional[pulumi.Input['AwsIntegrationsAwsTransitGatewayArgs']]):
        pulumi.set(self, "aws_transit_gateway", value)

    @property
    @pulumi.getter(name="awsWaf")
    def aws_waf(self) -> Optional[pulumi.Input['AwsIntegrationsAwsWafArgs']]:
        """
        AWS WAF. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_waf")

    @aws_waf.setter
    def aws_waf(self, value: Optional[pulumi.Input['AwsIntegrationsAwsWafArgs']]):
        pulumi.set(self, "aws_waf", value)

    @property
    @pulumi.getter(name="awsWafv2")
    def aws_wafv2(self) -> Optional[pulumi.Input['AwsIntegrationsAwsWafv2Args']]:
        """
        AWS WAF V2. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_wafv2")

    @aws_wafv2.setter
    def aws_wafv2(self, value: Optional[pulumi.Input['AwsIntegrationsAwsWafv2Args']]):
        pulumi.set(self, "aws_wafv2", value)

    @property
    @pulumi.getter
    def billing(self) -> Optional[pulumi.Input['AwsIntegrationsBillingArgs']]:
        """
        AWS Billing. See Integration blocks below for details.
        """
        return pulumi.get(self, "billing")

    @billing.setter
    def billing(self, value: Optional[pulumi.Input['AwsIntegrationsBillingArgs']]):
        pulumi.set(self, "billing", value)

    @property
    @pulumi.getter
    def cloudfront(self) -> Optional[pulumi.Input['AwsIntegrationsCloudfrontArgs']]:
        """
        AWS CloudFront. See Integration blocks below for details.
        """
        return pulumi.get(self, "cloudfront")

    @cloudfront.setter
    def cloudfront(self, value: Optional[pulumi.Input['AwsIntegrationsCloudfrontArgs']]):
        pulumi.set(self, "cloudfront", value)

    @property
    @pulumi.getter
    def cloudtrail(self) -> Optional[pulumi.Input['AwsIntegrationsCloudtrailArgs']]:
        """
        AWS CloudTrail. See Integration blocks below for details.
        """
        return pulumi.get(self, "cloudtrail")

    @cloudtrail.setter
    def cloudtrail(self, value: Optional[pulumi.Input['AwsIntegrationsCloudtrailArgs']]):
        pulumi.set(self, "cloudtrail", value)

    @property
    @pulumi.getter(name="docDb")
    def doc_db(self) -> Optional[pulumi.Input['AwsIntegrationsDocDbArgs']]:
        """
        AWS DocumentDB. See Integration blocks below for details.
        """
        return pulumi.get(self, "doc_db")

    @doc_db.setter
    def doc_db(self, value: Optional[pulumi.Input['AwsIntegrationsDocDbArgs']]):
        pulumi.set(self, "doc_db", value)

    @property
    @pulumi.getter
    def dynamodb(self) -> Optional[pulumi.Input['AwsIntegrationsDynamodbArgs']]:
        """
        Amazon DynamoDB. See Integration blocks below for details.
        """
        return pulumi.get(self, "dynamodb")

    @dynamodb.setter
    def dynamodb(self, value: Optional[pulumi.Input['AwsIntegrationsDynamodbArgs']]):
        pulumi.set(self, "dynamodb", value)

    @property
    @pulumi.getter
    def ebs(self) -> Optional[pulumi.Input['AwsIntegrationsEbsArgs']]:
        """
        Amazon EBS. See Integration blocks below for details.
        """
        return pulumi.get(self, "ebs")

    @ebs.setter
    def ebs(self, value: Optional[pulumi.Input['AwsIntegrationsEbsArgs']]):
        pulumi.set(self, "ebs", value)

    @property
    @pulumi.getter
    def ec2(self) -> Optional[pulumi.Input['AwsIntegrationsEc2Args']]:
        """
        Amazon EC2. See Integration blocks below for details.
        """
        return pulumi.get(self, "ec2")

    @ec2.setter
    def ec2(self, value: Optional[pulumi.Input['AwsIntegrationsEc2Args']]):
        pulumi.set(self, "ec2", value)

    @property
    @pulumi.getter
    def ecs(self) -> Optional[pulumi.Input['AwsIntegrationsEcsArgs']]:
        """
        Amazon ECS. See Integration blocks below for details.
        """
        return pulumi.get(self, "ecs")

    @ecs.setter
    def ecs(self, value: Optional[pulumi.Input['AwsIntegrationsEcsArgs']]):
        pulumi.set(self, "ecs", value)

    @property
    @pulumi.getter
    def efs(self) -> Optional[pulumi.Input['AwsIntegrationsEfsArgs']]:
        """
        Amazon EFS. See Integration blocks below for details.
        """
        return pulumi.get(self, "efs")

    @efs.setter
    def efs(self, value: Optional[pulumi.Input['AwsIntegrationsEfsArgs']]):
        pulumi.set(self, "efs", value)

    @property
    @pulumi.getter
    def elasticache(self) -> Optional[pulumi.Input['AwsIntegrationsElasticacheArgs']]:
        """
        AWS ElastiCache. See Integration blocks below for details.
        """
        return pulumi.get(self, "elasticache")

    @elasticache.setter
    def elasticache(self, value: Optional[pulumi.Input['AwsIntegrationsElasticacheArgs']]):
        pulumi.set(self, "elasticache", value)

    @property
    @pulumi.getter
    def elasticbeanstalk(self) -> Optional[pulumi.Input['AwsIntegrationsElasticbeanstalkArgs']]:
        """
        AWS Elastic Beanstalk. See Integration blocks below for details.
        """
        return pulumi.get(self, "elasticbeanstalk")

    @elasticbeanstalk.setter
    def elasticbeanstalk(self, value: Optional[pulumi.Input['AwsIntegrationsElasticbeanstalkArgs']]):
        pulumi.set(self, "elasticbeanstalk", value)

    @property
    @pulumi.getter
    def elasticsearch(self) -> Optional[pulumi.Input['AwsIntegrationsElasticsearchArgs']]:
        """
        AWS ElasticSearch. See Integration blocks below for details.
        """
        return pulumi.get(self, "elasticsearch")

    @elasticsearch.setter
    def elasticsearch(self, value: Optional[pulumi.Input['AwsIntegrationsElasticsearchArgs']]):
        pulumi.set(self, "elasticsearch", value)

    @property
    @pulumi.getter
    def elb(self) -> Optional[pulumi.Input['AwsIntegrationsElbArgs']]:
        """
        AWS ELB (Classic). See Integration blocks below for details.
        """
        return pulumi.get(self, "elb")

    @elb.setter
    def elb(self, value: Optional[pulumi.Input['AwsIntegrationsElbArgs']]):
        pulumi.set(self, "elb", value)

    @property
    @pulumi.getter
    def emr(self) -> Optional[pulumi.Input['AwsIntegrationsEmrArgs']]:
        """
        AWS EMR. See Integration blocks below for details.
        """
        return pulumi.get(self, "emr")

    @emr.setter
    def emr(self, value: Optional[pulumi.Input['AwsIntegrationsEmrArgs']]):
        pulumi.set(self, "emr", value)

    @property
    @pulumi.getter
    def health(self) -> Optional[pulumi.Input['AwsIntegrationsHealthArgs']]:
        """
        AWS Health. See Integration blocks below for details.
        """
        return pulumi.get(self, "health")

    @health.setter
    def health(self, value: Optional[pulumi.Input['AwsIntegrationsHealthArgs']]):
        pulumi.set(self, "health", value)

    @property
    @pulumi.getter
    def iam(self) -> Optional[pulumi.Input['AwsIntegrationsIamArgs']]:
        """
        AWS IAM. See Integration blocks below for details.
        """
        return pulumi.get(self, "iam")

    @iam.setter
    def iam(self, value: Optional[pulumi.Input['AwsIntegrationsIamArgs']]):
        pulumi.set(self, "iam", value)

    @property
    @pulumi.getter
    def iot(self) -> Optional[pulumi.Input['AwsIntegrationsIotArgs']]:
        """
        AWS IoT. See Integration blocks below for details.
        """
        return pulumi.get(self, "iot")

    @iot.setter
    def iot(self, value: Optional[pulumi.Input['AwsIntegrationsIotArgs']]):
        pulumi.set(self, "iot", value)

    @property
    @pulumi.getter
    def kinesis(self) -> Optional[pulumi.Input['AwsIntegrationsKinesisArgs']]:
        """
        AWS Kinesis. See Integration blocks below for details.

        The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 3600 seconds.
        """
        return pulumi.get(self, "kinesis")

    @kinesis.setter
    def kinesis(self, value: Optional[pulumi.Input['AwsIntegrationsKinesisArgs']]):
        pulumi.set(self, "kinesis", value)

    @property
    @pulumi.getter(name="kinesisFirehose")
    def kinesis_firehose(self) -> Optional[pulumi.Input['AwsIntegrationsKinesisFirehoseArgs']]:
        """
        Amazon Kinesis Data Firehose. See Integration blocks below for details.
        """
        return pulumi.get(self, "kinesis_firehose")

    @kinesis_firehose.setter
    def kinesis_firehose(self, value: Optional[pulumi.Input['AwsIntegrationsKinesisFirehoseArgs']]):
        pulumi.set(self, "kinesis_firehose", value)

    @property
    @pulumi.getter(name="lambda")
    def lambda_(self) -> Optional[pulumi.Input['AwsIntegrationsLambdaArgs']]:
        """
        AWS Lambda. See Integration blocks below for details.
        """
        return pulumi.get(self, "lambda_")

    @lambda_.setter
    def lambda_(self, value: Optional[pulumi.Input['AwsIntegrationsLambdaArgs']]):
        pulumi.set(self, "lambda_", value)

    @property
    @pulumi.getter
    def rds(self) -> Optional[pulumi.Input['AwsIntegrationsRdsArgs']]:
        """
        Amazon RDS. See Integration blocks below for details.
        """
        return pulumi.get(self, "rds")

    @rds.setter
    def rds(self, value: Optional[pulumi.Input['AwsIntegrationsRdsArgs']]):
        pulumi.set(self, "rds", value)

    @property
    @pulumi.getter
    def redshift(self) -> Optional[pulumi.Input['AwsIntegrationsRedshiftArgs']]:
        """
        Amazon Redshift. See Integration blocks below for details.
        """
        return pulumi.get(self, "redshift")

    @redshift.setter
    def redshift(self, value: Optional[pulumi.Input['AwsIntegrationsRedshiftArgs']]):
        pulumi.set(self, "redshift", value)

    @property
    @pulumi.getter
    def route53(self) -> Optional[pulumi.Input['AwsIntegrationsRoute53Args']]:
        """
        Amazon Route 53. See Integration blocks below for details.
        """
        return pulumi.get(self, "route53")

    @route53.setter
    def route53(self, value: Optional[pulumi.Input['AwsIntegrationsRoute53Args']]):
        pulumi.set(self, "route53", value)

    @property
    @pulumi.getter
    def s3(self) -> Optional[pulumi.Input['AwsIntegrationsS3Args']]:
        """
        Amazon S3. See Integration blocks below for details.
        """
        return pulumi.get(self, "s3")

    @s3.setter
    def s3(self, value: Optional[pulumi.Input['AwsIntegrationsS3Args']]):
        pulumi.set(self, "s3", value)

    @property
    @pulumi.getter
    def ses(self) -> Optional[pulumi.Input['AwsIntegrationsSesArgs']]:
        """
        Amazon SES. See Integration blocks below for details.
        """
        return pulumi.get(self, "ses")

    @ses.setter
    def ses(self, value: Optional[pulumi.Input['AwsIntegrationsSesArgs']]):
        pulumi.set(self, "ses", value)

    @property
    @pulumi.getter
    def sns(self) -> Optional[pulumi.Input['AwsIntegrationsSnsArgs']]:
        """
        AWS SNS. See Integration blocks below for details.
        """
        return pulumi.get(self, "sns")

    @sns.setter
    def sns(self, value: Optional[pulumi.Input['AwsIntegrationsSnsArgs']]):
        pulumi.set(self, "sns", value)

    @property
    @pulumi.getter
    def sqs(self) -> Optional[pulumi.Input['AwsIntegrationsSqsArgs']]:
        """
        AWS SQS. See Integration blocks below for details.
        """
        return pulumi.get(self, "sqs")

    @sqs.setter
    def sqs(self, value: Optional[pulumi.Input['AwsIntegrationsSqsArgs']]):
        pulumi.set(self, "sqs", value)

    @property
    @pulumi.getter(name="trustedAdvisor")
    def trusted_advisor(self) -> Optional[pulumi.Input['AwsIntegrationsTrustedAdvisorArgs']]:
        """
        AWS Trusted Advisor. See Integration blocks below for details.

        All other arguments are dependent on the services to be integrated, which have been listed in the collapsible section below. All of these are **optional** blocks that can be added in any required combination. **For details on arguments that can be used with each service, check out the `Integration` blocks section below.**
        """
        return pulumi.get(self, "trusted_advisor")

    @trusted_advisor.setter
    def trusted_advisor(self, value: Optional[pulumi.Input['AwsIntegrationsTrustedAdvisorArgs']]):
        pulumi.set(self, "trusted_advisor", value)

    @property
    @pulumi.getter
    def vpc(self) -> Optional[pulumi.Input['AwsIntegrationsVpcArgs']]:
        """
        VPC integration
        """
        return pulumi.get(self, "vpc")

    @vpc.setter
    def vpc(self, value: Optional[pulumi.Input['AwsIntegrationsVpcArgs']]):
        pulumi.set(self, "vpc", value)

    @property
    @pulumi.getter(name="xRay")
    def x_ray(self) -> Optional[pulumi.Input['AwsIntegrationsXRayArgs']]:
        """
        AWS X-Ray. See Integration blocks below for details.
        x

        The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 900 seconds.
        """
        return pulumi.get(self, "x_ray")

    @x_ray.setter
    def x_ray(self, value: Optional[pulumi.Input['AwsIntegrationsXRayArgs']]):
        pulumi.set(self, "x_ray", value)


@pulumi.input_type
class _AwsIntegrationsState:
    def __init__(__self__, *,
                 account_id: Optional[pulumi.Input[str]] = None,
                 alb: Optional[pulumi.Input['AwsIntegrationsAlbArgs']] = None,
                 api_gateway: Optional[pulumi.Input['AwsIntegrationsApiGatewayArgs']] = None,
                 auto_scaling: Optional[pulumi.Input['AwsIntegrationsAutoScalingArgs']] = None,
                 aws_app_sync: Optional[pulumi.Input['AwsIntegrationsAwsAppSyncArgs']] = None,
                 aws_athena: Optional[pulumi.Input['AwsIntegrationsAwsAthenaArgs']] = None,
                 aws_cognito: Optional[pulumi.Input['AwsIntegrationsAwsCognitoArgs']] = None,
                 aws_connect: Optional[pulumi.Input['AwsIntegrationsAwsConnectArgs']] = None,
                 aws_direct_connect: Optional[pulumi.Input['AwsIntegrationsAwsDirectConnectArgs']] = None,
                 aws_fsx: Optional[pulumi.Input['AwsIntegrationsAwsFsxArgs']] = None,
                 aws_glue: Optional[pulumi.Input['AwsIntegrationsAwsGlueArgs']] = None,
                 aws_kinesis_analytics: Optional[pulumi.Input['AwsIntegrationsAwsKinesisAnalyticsArgs']] = None,
                 aws_media_convert: Optional[pulumi.Input['AwsIntegrationsAwsMediaConvertArgs']] = None,
                 aws_media_package_vod: Optional[pulumi.Input['AwsIntegrationsAwsMediaPackageVodArgs']] = None,
                 aws_mq: Optional[pulumi.Input['AwsIntegrationsAwsMqArgs']] = None,
                 aws_msk: Optional[pulumi.Input['AwsIntegrationsAwsMskArgs']] = None,
                 aws_neptune: Optional[pulumi.Input['AwsIntegrationsAwsNeptuneArgs']] = None,
                 aws_qldb: Optional[pulumi.Input['AwsIntegrationsAwsQldbArgs']] = None,
                 aws_route53resolver: Optional[pulumi.Input['AwsIntegrationsAwsRoute53resolverArgs']] = None,
                 aws_states: Optional[pulumi.Input['AwsIntegrationsAwsStatesArgs']] = None,
                 aws_transit_gateway: Optional[pulumi.Input['AwsIntegrationsAwsTransitGatewayArgs']] = None,
                 aws_waf: Optional[pulumi.Input['AwsIntegrationsAwsWafArgs']] = None,
                 aws_wafv2: Optional[pulumi.Input['AwsIntegrationsAwsWafv2Args']] = None,
                 billing: Optional[pulumi.Input['AwsIntegrationsBillingArgs']] = None,
                 cloudfront: Optional[pulumi.Input['AwsIntegrationsCloudfrontArgs']] = None,
                 cloudtrail: Optional[pulumi.Input['AwsIntegrationsCloudtrailArgs']] = None,
                 doc_db: Optional[pulumi.Input['AwsIntegrationsDocDbArgs']] = None,
                 dynamodb: Optional[pulumi.Input['AwsIntegrationsDynamodbArgs']] = None,
                 ebs: Optional[pulumi.Input['AwsIntegrationsEbsArgs']] = None,
                 ec2: Optional[pulumi.Input['AwsIntegrationsEc2Args']] = None,
                 ecs: Optional[pulumi.Input['AwsIntegrationsEcsArgs']] = None,
                 efs: Optional[pulumi.Input['AwsIntegrationsEfsArgs']] = None,
                 elasticache: Optional[pulumi.Input['AwsIntegrationsElasticacheArgs']] = None,
                 elasticbeanstalk: Optional[pulumi.Input['AwsIntegrationsElasticbeanstalkArgs']] = None,
                 elasticsearch: Optional[pulumi.Input['AwsIntegrationsElasticsearchArgs']] = None,
                 elb: Optional[pulumi.Input['AwsIntegrationsElbArgs']] = None,
                 emr: Optional[pulumi.Input['AwsIntegrationsEmrArgs']] = None,
                 health: Optional[pulumi.Input['AwsIntegrationsHealthArgs']] = None,
                 iam: Optional[pulumi.Input['AwsIntegrationsIamArgs']] = None,
                 iot: Optional[pulumi.Input['AwsIntegrationsIotArgs']] = None,
                 kinesis: Optional[pulumi.Input['AwsIntegrationsKinesisArgs']] = None,
                 kinesis_firehose: Optional[pulumi.Input['AwsIntegrationsKinesisFirehoseArgs']] = None,
                 lambda_: Optional[pulumi.Input['AwsIntegrationsLambdaArgs']] = None,
                 linked_account_id: Optional[pulumi.Input[str]] = None,
                 rds: Optional[pulumi.Input['AwsIntegrationsRdsArgs']] = None,
                 redshift: Optional[pulumi.Input['AwsIntegrationsRedshiftArgs']] = None,
                 route53: Optional[pulumi.Input['AwsIntegrationsRoute53Args']] = None,
                 s3: Optional[pulumi.Input['AwsIntegrationsS3Args']] = None,
                 ses: Optional[pulumi.Input['AwsIntegrationsSesArgs']] = None,
                 sns: Optional[pulumi.Input['AwsIntegrationsSnsArgs']] = None,
                 sqs: Optional[pulumi.Input['AwsIntegrationsSqsArgs']] = None,
                 trusted_advisor: Optional[pulumi.Input['AwsIntegrationsTrustedAdvisorArgs']] = None,
                 vpc: Optional[pulumi.Input['AwsIntegrationsVpcArgs']] = None,
                 x_ray: Optional[pulumi.Input['AwsIntegrationsXRayArgs']] = None):
        """
        Input properties used for looking up and filtering AwsIntegrations resources.
        :param pulumi.Input[str] account_id: The New Relic account ID to operate on.  This allows the user to override the `account_id` attribute set on the provider. Defaults to the environment variable `NEW_RELIC_ACCOUNT_ID`.
        :param pulumi.Input['AwsIntegrationsAlbArgs'] alb: AWS ALB. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsApiGatewayArgs'] api_gateway: AWS API Gateway. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAutoScalingArgs'] auto_scaling: AWS Auto Scaling. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsAppSyncArgs'] aws_app_sync: AWS AppSync. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsAthenaArgs'] aws_athena: AWS Athena. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsCognitoArgs'] aws_cognito: AWS Cognito. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsConnectArgs'] aws_connect: AWS Connect. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsDirectConnectArgs'] aws_direct_connect: AWS Direct Connect. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsFsxArgs'] aws_fsx: AWS FSx. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsGlueArgs'] aws_glue: AWS Glue. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsKinesisAnalyticsArgs'] aws_kinesis_analytics: AWS Kinesis Data Analytics. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsMediaConvertArgs'] aws_media_convert: AWS Media Convert. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsMediaPackageVodArgs'] aws_media_package_vod: AWS MediaPackage VOD. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsMqArgs'] aws_mq: AWS MQ. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsMskArgs'] aws_msk: Amazon Managed Kafka (MSK). See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsNeptuneArgs'] aws_neptune: AWS Neptune. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsQldbArgs'] aws_qldb: Amazon QLDB. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsRoute53resolverArgs'] aws_route53resolver: AWS Route53 Resolver. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsStatesArgs'] aws_states: Aws states integration
        :param pulumi.Input['AwsIntegrationsAwsTransitGatewayArgs'] aws_transit_gateway: Amazon Transit Gateway. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsWafArgs'] aws_waf: AWS WAF. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsAwsWafv2Args'] aws_wafv2: AWS WAF V2. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsBillingArgs'] billing: AWS Billing. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsCloudfrontArgs'] cloudfront: AWS CloudFront. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsCloudtrailArgs'] cloudtrail: AWS CloudTrail. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsDocDbArgs'] doc_db: AWS DocumentDB. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsDynamodbArgs'] dynamodb: Amazon DynamoDB. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsEbsArgs'] ebs: Amazon EBS. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsEc2Args'] ec2: Amazon EC2. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsEcsArgs'] ecs: Amazon ECS. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsEfsArgs'] efs: Amazon EFS. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsElasticacheArgs'] elasticache: AWS ElastiCache. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsElasticbeanstalkArgs'] elasticbeanstalk: AWS Elastic Beanstalk. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsElasticsearchArgs'] elasticsearch: AWS ElasticSearch. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsElbArgs'] elb: AWS ELB (Classic). See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsEmrArgs'] emr: AWS EMR. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsHealthArgs'] health: AWS Health. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsIamArgs'] iam: AWS IAM. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsIotArgs'] iot: AWS IoT. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsKinesisArgs'] kinesis: AWS Kinesis. See Integration blocks below for details.
               
               The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 3600 seconds.
        :param pulumi.Input['AwsIntegrationsKinesisFirehoseArgs'] kinesis_firehose: Amazon Kinesis Data Firehose. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsLambdaArgs'] lambda_: AWS Lambda. See Integration blocks below for details.
        :param pulumi.Input[str] linked_account_id: The ID of the linked AWS account in New Relic.
               
               
               The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 300 seconds.
        :param pulumi.Input['AwsIntegrationsRdsArgs'] rds: Amazon RDS. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsRedshiftArgs'] redshift: Amazon Redshift. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsRoute53Args'] route53: Amazon Route 53. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsS3Args'] s3: Amazon S3. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsSesArgs'] ses: Amazon SES. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsSnsArgs'] sns: AWS SNS. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsSqsArgs'] sqs: AWS SQS. See Integration blocks below for details.
        :param pulumi.Input['AwsIntegrationsTrustedAdvisorArgs'] trusted_advisor: AWS Trusted Advisor. See Integration blocks below for details.
               
               All other arguments are dependent on the services to be integrated, which have been listed in the collapsible section below. All of these are **optional** blocks that can be added in any required combination. **For details on arguments that can be used with each service, check out the `Integration` blocks section below.**
        :param pulumi.Input['AwsIntegrationsVpcArgs'] vpc: VPC integration
        :param pulumi.Input['AwsIntegrationsXRayArgs'] x_ray: AWS X-Ray. See Integration blocks below for details.
               x
               
               The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 900 seconds.
        """
        if account_id is not None:
            pulumi.set(__self__, "account_id", account_id)
        if alb is not None:
            pulumi.set(__self__, "alb", alb)
        if api_gateway is not None:
            pulumi.set(__self__, "api_gateway", api_gateway)
        if auto_scaling is not None:
            pulumi.set(__self__, "auto_scaling", auto_scaling)
        if aws_app_sync is not None:
            pulumi.set(__self__, "aws_app_sync", aws_app_sync)
        if aws_athena is not None:
            pulumi.set(__self__, "aws_athena", aws_athena)
        if aws_cognito is not None:
            pulumi.set(__self__, "aws_cognito", aws_cognito)
        if aws_connect is not None:
            pulumi.set(__self__, "aws_connect", aws_connect)
        if aws_direct_connect is not None:
            pulumi.set(__self__, "aws_direct_connect", aws_direct_connect)
        if aws_fsx is not None:
            pulumi.set(__self__, "aws_fsx", aws_fsx)
        if aws_glue is not None:
            pulumi.set(__self__, "aws_glue", aws_glue)
        if aws_kinesis_analytics is not None:
            pulumi.set(__self__, "aws_kinesis_analytics", aws_kinesis_analytics)
        if aws_media_convert is not None:
            pulumi.set(__self__, "aws_media_convert", aws_media_convert)
        if aws_media_package_vod is not None:
            pulumi.set(__self__, "aws_media_package_vod", aws_media_package_vod)
        if aws_mq is not None:
            pulumi.set(__self__, "aws_mq", aws_mq)
        if aws_msk is not None:
            pulumi.set(__self__, "aws_msk", aws_msk)
        if aws_neptune is not None:
            pulumi.set(__self__, "aws_neptune", aws_neptune)
        if aws_qldb is not None:
            pulumi.set(__self__, "aws_qldb", aws_qldb)
        if aws_route53resolver is not None:
            pulumi.set(__self__, "aws_route53resolver", aws_route53resolver)
        if aws_states is not None:
            pulumi.set(__self__, "aws_states", aws_states)
        if aws_transit_gateway is not None:
            pulumi.set(__self__, "aws_transit_gateway", aws_transit_gateway)
        if aws_waf is not None:
            pulumi.set(__self__, "aws_waf", aws_waf)
        if aws_wafv2 is not None:
            pulumi.set(__self__, "aws_wafv2", aws_wafv2)
        if billing is not None:
            pulumi.set(__self__, "billing", billing)
        if cloudfront is not None:
            pulumi.set(__self__, "cloudfront", cloudfront)
        if cloudtrail is not None:
            pulumi.set(__self__, "cloudtrail", cloudtrail)
        if doc_db is not None:
            pulumi.set(__self__, "doc_db", doc_db)
        if dynamodb is not None:
            pulumi.set(__self__, "dynamodb", dynamodb)
        if ebs is not None:
            pulumi.set(__self__, "ebs", ebs)
        if ec2 is not None:
            pulumi.set(__self__, "ec2", ec2)
        if ecs is not None:
            pulumi.set(__self__, "ecs", ecs)
        if efs is not None:
            pulumi.set(__self__, "efs", efs)
        if elasticache is not None:
            pulumi.set(__self__, "elasticache", elasticache)
        if elasticbeanstalk is not None:
            pulumi.set(__self__, "elasticbeanstalk", elasticbeanstalk)
        if elasticsearch is not None:
            pulumi.set(__self__, "elasticsearch", elasticsearch)
        if elb is not None:
            pulumi.set(__self__, "elb", elb)
        if emr is not None:
            pulumi.set(__self__, "emr", emr)
        if health is not None:
            pulumi.set(__self__, "health", health)
        if iam is not None:
            pulumi.set(__self__, "iam", iam)
        if iot is not None:
            pulumi.set(__self__, "iot", iot)
        if kinesis is not None:
            pulumi.set(__self__, "kinesis", kinesis)
        if kinesis_firehose is not None:
            pulumi.set(__self__, "kinesis_firehose", kinesis_firehose)
        if lambda_ is not None:
            pulumi.set(__self__, "lambda_", lambda_)
        if linked_account_id is not None:
            pulumi.set(__self__, "linked_account_id", linked_account_id)
        if rds is not None:
            pulumi.set(__self__, "rds", rds)
        if redshift is not None:
            pulumi.set(__self__, "redshift", redshift)
        if route53 is not None:
            pulumi.set(__self__, "route53", route53)
        if s3 is not None:
            pulumi.set(__self__, "s3", s3)
        if ses is not None:
            pulumi.set(__self__, "ses", ses)
        if sns is not None:
            pulumi.set(__self__, "sns", sns)
        if sqs is not None:
            pulumi.set(__self__, "sqs", sqs)
        if trusted_advisor is not None:
            pulumi.set(__self__, "trusted_advisor", trusted_advisor)
        if vpc is not None:
            pulumi.set(__self__, "vpc", vpc)
        if x_ray is not None:
            pulumi.set(__self__, "x_ray", x_ray)

    @property
    @pulumi.getter(name="accountId")
    def account_id(self) -> Optional[pulumi.Input[str]]:
        """
        The New Relic account ID to operate on.  This allows the user to override the `account_id` attribute set on the provider. Defaults to the environment variable `NEW_RELIC_ACCOUNT_ID`.
        """
        return pulumi.get(self, "account_id")

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

    @property
    @pulumi.getter
    def alb(self) -> Optional[pulumi.Input['AwsIntegrationsAlbArgs']]:
        """
        AWS ALB. See Integration blocks below for details.
        """
        return pulumi.get(self, "alb")

    @alb.setter
    def alb(self, value: Optional[pulumi.Input['AwsIntegrationsAlbArgs']]):
        pulumi.set(self, "alb", value)

    @property
    @pulumi.getter(name="apiGateway")
    def api_gateway(self) -> Optional[pulumi.Input['AwsIntegrationsApiGatewayArgs']]:
        """
        AWS API Gateway. See Integration blocks below for details.
        """
        return pulumi.get(self, "api_gateway")

    @api_gateway.setter
    def api_gateway(self, value: Optional[pulumi.Input['AwsIntegrationsApiGatewayArgs']]):
        pulumi.set(self, "api_gateway", value)

    @property
    @pulumi.getter(name="autoScaling")
    def auto_scaling(self) -> Optional[pulumi.Input['AwsIntegrationsAutoScalingArgs']]:
        """
        AWS Auto Scaling. See Integration blocks below for details.
        """
        return pulumi.get(self, "auto_scaling")

    @auto_scaling.setter
    def auto_scaling(self, value: Optional[pulumi.Input['AwsIntegrationsAutoScalingArgs']]):
        pulumi.set(self, "auto_scaling", value)

    @property
    @pulumi.getter(name="awsAppSync")
    def aws_app_sync(self) -> Optional[pulumi.Input['AwsIntegrationsAwsAppSyncArgs']]:
        """
        AWS AppSync. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_app_sync")

    @aws_app_sync.setter
    def aws_app_sync(self, value: Optional[pulumi.Input['AwsIntegrationsAwsAppSyncArgs']]):
        pulumi.set(self, "aws_app_sync", value)

    @property
    @pulumi.getter(name="awsAthena")
    def aws_athena(self) -> Optional[pulumi.Input['AwsIntegrationsAwsAthenaArgs']]:
        """
        AWS Athena. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_athena")

    @aws_athena.setter
    def aws_athena(self, value: Optional[pulumi.Input['AwsIntegrationsAwsAthenaArgs']]):
        pulumi.set(self, "aws_athena", value)

    @property
    @pulumi.getter(name="awsCognito")
    def aws_cognito(self) -> Optional[pulumi.Input['AwsIntegrationsAwsCognitoArgs']]:
        """
        AWS Cognito. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_cognito")

    @aws_cognito.setter
    def aws_cognito(self, value: Optional[pulumi.Input['AwsIntegrationsAwsCognitoArgs']]):
        pulumi.set(self, "aws_cognito", value)

    @property
    @pulumi.getter(name="awsConnect")
    def aws_connect(self) -> Optional[pulumi.Input['AwsIntegrationsAwsConnectArgs']]:
        """
        AWS Connect. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_connect")

    @aws_connect.setter
    def aws_connect(self, value: Optional[pulumi.Input['AwsIntegrationsAwsConnectArgs']]):
        pulumi.set(self, "aws_connect", value)

    @property
    @pulumi.getter(name="awsDirectConnect")
    def aws_direct_connect(self) -> Optional[pulumi.Input['AwsIntegrationsAwsDirectConnectArgs']]:
        """
        AWS Direct Connect. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_direct_connect")

    @aws_direct_connect.setter
    def aws_direct_connect(self, value: Optional[pulumi.Input['AwsIntegrationsAwsDirectConnectArgs']]):
        pulumi.set(self, "aws_direct_connect", value)

    @property
    @pulumi.getter(name="awsFsx")
    def aws_fsx(self) -> Optional[pulumi.Input['AwsIntegrationsAwsFsxArgs']]:
        """
        AWS FSx. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_fsx")

    @aws_fsx.setter
    def aws_fsx(self, value: Optional[pulumi.Input['AwsIntegrationsAwsFsxArgs']]):
        pulumi.set(self, "aws_fsx", value)

    @property
    @pulumi.getter(name="awsGlue")
    def aws_glue(self) -> Optional[pulumi.Input['AwsIntegrationsAwsGlueArgs']]:
        """
        AWS Glue. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_glue")

    @aws_glue.setter
    def aws_glue(self, value: Optional[pulumi.Input['AwsIntegrationsAwsGlueArgs']]):
        pulumi.set(self, "aws_glue", value)

    @property
    @pulumi.getter(name="awsKinesisAnalytics")
    def aws_kinesis_analytics(self) -> Optional[pulumi.Input['AwsIntegrationsAwsKinesisAnalyticsArgs']]:
        """
        AWS Kinesis Data Analytics. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_kinesis_analytics")

    @aws_kinesis_analytics.setter
    def aws_kinesis_analytics(self, value: Optional[pulumi.Input['AwsIntegrationsAwsKinesisAnalyticsArgs']]):
        pulumi.set(self, "aws_kinesis_analytics", value)

    @property
    @pulumi.getter(name="awsMediaConvert")
    def aws_media_convert(self) -> Optional[pulumi.Input['AwsIntegrationsAwsMediaConvertArgs']]:
        """
        AWS Media Convert. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_media_convert")

    @aws_media_convert.setter
    def aws_media_convert(self, value: Optional[pulumi.Input['AwsIntegrationsAwsMediaConvertArgs']]):
        pulumi.set(self, "aws_media_convert", value)

    @property
    @pulumi.getter(name="awsMediaPackageVod")
    def aws_media_package_vod(self) -> Optional[pulumi.Input['AwsIntegrationsAwsMediaPackageVodArgs']]:
        """
        AWS MediaPackage VOD. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_media_package_vod")

    @aws_media_package_vod.setter
    def aws_media_package_vod(self, value: Optional[pulumi.Input['AwsIntegrationsAwsMediaPackageVodArgs']]):
        pulumi.set(self, "aws_media_package_vod", value)

    @property
    @pulumi.getter(name="awsMq")
    def aws_mq(self) -> Optional[pulumi.Input['AwsIntegrationsAwsMqArgs']]:
        """
        AWS MQ. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_mq")

    @aws_mq.setter
    def aws_mq(self, value: Optional[pulumi.Input['AwsIntegrationsAwsMqArgs']]):
        pulumi.set(self, "aws_mq", value)

    @property
    @pulumi.getter(name="awsMsk")
    def aws_msk(self) -> Optional[pulumi.Input['AwsIntegrationsAwsMskArgs']]:
        """
        Amazon Managed Kafka (MSK). See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_msk")

    @aws_msk.setter
    def aws_msk(self, value: Optional[pulumi.Input['AwsIntegrationsAwsMskArgs']]):
        pulumi.set(self, "aws_msk", value)

    @property
    @pulumi.getter(name="awsNeptune")
    def aws_neptune(self) -> Optional[pulumi.Input['AwsIntegrationsAwsNeptuneArgs']]:
        """
        AWS Neptune. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_neptune")

    @aws_neptune.setter
    def aws_neptune(self, value: Optional[pulumi.Input['AwsIntegrationsAwsNeptuneArgs']]):
        pulumi.set(self, "aws_neptune", value)

    @property
    @pulumi.getter(name="awsQldb")
    def aws_qldb(self) -> Optional[pulumi.Input['AwsIntegrationsAwsQldbArgs']]:
        """
        Amazon QLDB. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_qldb")

    @aws_qldb.setter
    def aws_qldb(self, value: Optional[pulumi.Input['AwsIntegrationsAwsQldbArgs']]):
        pulumi.set(self, "aws_qldb", value)

    @property
    @pulumi.getter(name="awsRoute53resolver")
    def aws_route53resolver(self) -> Optional[pulumi.Input['AwsIntegrationsAwsRoute53resolverArgs']]:
        """
        AWS Route53 Resolver. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_route53resolver")

    @aws_route53resolver.setter
    def aws_route53resolver(self, value: Optional[pulumi.Input['AwsIntegrationsAwsRoute53resolverArgs']]):
        pulumi.set(self, "aws_route53resolver", value)

    @property
    @pulumi.getter(name="awsStates")
    def aws_states(self) -> Optional[pulumi.Input['AwsIntegrationsAwsStatesArgs']]:
        """
        Aws states integration
        """
        return pulumi.get(self, "aws_states")

    @aws_states.setter
    def aws_states(self, value: Optional[pulumi.Input['AwsIntegrationsAwsStatesArgs']]):
        pulumi.set(self, "aws_states", value)

    @property
    @pulumi.getter(name="awsTransitGateway")
    def aws_transit_gateway(self) -> Optional[pulumi.Input['AwsIntegrationsAwsTransitGatewayArgs']]:
        """
        Amazon Transit Gateway. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_transit_gateway")

    @aws_transit_gateway.setter
    def aws_transit_gateway(self, value: Optional[pulumi.Input['AwsIntegrationsAwsTransitGatewayArgs']]):
        pulumi.set(self, "aws_transit_gateway", value)

    @property
    @pulumi.getter(name="awsWaf")
    def aws_waf(self) -> Optional[pulumi.Input['AwsIntegrationsAwsWafArgs']]:
        """
        AWS WAF. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_waf")

    @aws_waf.setter
    def aws_waf(self, value: Optional[pulumi.Input['AwsIntegrationsAwsWafArgs']]):
        pulumi.set(self, "aws_waf", value)

    @property
    @pulumi.getter(name="awsWafv2")
    def aws_wafv2(self) -> Optional[pulumi.Input['AwsIntegrationsAwsWafv2Args']]:
        """
        AWS WAF V2. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_wafv2")

    @aws_wafv2.setter
    def aws_wafv2(self, value: Optional[pulumi.Input['AwsIntegrationsAwsWafv2Args']]):
        pulumi.set(self, "aws_wafv2", value)

    @property
    @pulumi.getter
    def billing(self) -> Optional[pulumi.Input['AwsIntegrationsBillingArgs']]:
        """
        AWS Billing. See Integration blocks below for details.
        """
        return pulumi.get(self, "billing")

    @billing.setter
    def billing(self, value: Optional[pulumi.Input['AwsIntegrationsBillingArgs']]):
        pulumi.set(self, "billing", value)

    @property
    @pulumi.getter
    def cloudfront(self) -> Optional[pulumi.Input['AwsIntegrationsCloudfrontArgs']]:
        """
        AWS CloudFront. See Integration blocks below for details.
        """
        return pulumi.get(self, "cloudfront")

    @cloudfront.setter
    def cloudfront(self, value: Optional[pulumi.Input['AwsIntegrationsCloudfrontArgs']]):
        pulumi.set(self, "cloudfront", value)

    @property
    @pulumi.getter
    def cloudtrail(self) -> Optional[pulumi.Input['AwsIntegrationsCloudtrailArgs']]:
        """
        AWS CloudTrail. See Integration blocks below for details.
        """
        return pulumi.get(self, "cloudtrail")

    @cloudtrail.setter
    def cloudtrail(self, value: Optional[pulumi.Input['AwsIntegrationsCloudtrailArgs']]):
        pulumi.set(self, "cloudtrail", value)

    @property
    @pulumi.getter(name="docDb")
    def doc_db(self) -> Optional[pulumi.Input['AwsIntegrationsDocDbArgs']]:
        """
        AWS DocumentDB. See Integration blocks below for details.
        """
        return pulumi.get(self, "doc_db")

    @doc_db.setter
    def doc_db(self, value: Optional[pulumi.Input['AwsIntegrationsDocDbArgs']]):
        pulumi.set(self, "doc_db", value)

    @property
    @pulumi.getter
    def dynamodb(self) -> Optional[pulumi.Input['AwsIntegrationsDynamodbArgs']]:
        """
        Amazon DynamoDB. See Integration blocks below for details.
        """
        return pulumi.get(self, "dynamodb")

    @dynamodb.setter
    def dynamodb(self, value: Optional[pulumi.Input['AwsIntegrationsDynamodbArgs']]):
        pulumi.set(self, "dynamodb", value)

    @property
    @pulumi.getter
    def ebs(self) -> Optional[pulumi.Input['AwsIntegrationsEbsArgs']]:
        """
        Amazon EBS. See Integration blocks below for details.
        """
        return pulumi.get(self, "ebs")

    @ebs.setter
    def ebs(self, value: Optional[pulumi.Input['AwsIntegrationsEbsArgs']]):
        pulumi.set(self, "ebs", value)

    @property
    @pulumi.getter
    def ec2(self) -> Optional[pulumi.Input['AwsIntegrationsEc2Args']]:
        """
        Amazon EC2. See Integration blocks below for details.
        """
        return pulumi.get(self, "ec2")

    @ec2.setter
    def ec2(self, value: Optional[pulumi.Input['AwsIntegrationsEc2Args']]):
        pulumi.set(self, "ec2", value)

    @property
    @pulumi.getter
    def ecs(self) -> Optional[pulumi.Input['AwsIntegrationsEcsArgs']]:
        """
        Amazon ECS. See Integration blocks below for details.
        """
        return pulumi.get(self, "ecs")

    @ecs.setter
    def ecs(self, value: Optional[pulumi.Input['AwsIntegrationsEcsArgs']]):
        pulumi.set(self, "ecs", value)

    @property
    @pulumi.getter
    def efs(self) -> Optional[pulumi.Input['AwsIntegrationsEfsArgs']]:
        """
        Amazon EFS. See Integration blocks below for details.
        """
        return pulumi.get(self, "efs")

    @efs.setter
    def efs(self, value: Optional[pulumi.Input['AwsIntegrationsEfsArgs']]):
        pulumi.set(self, "efs", value)

    @property
    @pulumi.getter
    def elasticache(self) -> Optional[pulumi.Input['AwsIntegrationsElasticacheArgs']]:
        """
        AWS ElastiCache. See Integration blocks below for details.
        """
        return pulumi.get(self, "elasticache")

    @elasticache.setter
    def elasticache(self, value: Optional[pulumi.Input['AwsIntegrationsElasticacheArgs']]):
        pulumi.set(self, "elasticache", value)

    @property
    @pulumi.getter
    def elasticbeanstalk(self) -> Optional[pulumi.Input['AwsIntegrationsElasticbeanstalkArgs']]:
        """
        AWS Elastic Beanstalk. See Integration blocks below for details.
        """
        return pulumi.get(self, "elasticbeanstalk")

    @elasticbeanstalk.setter
    def elasticbeanstalk(self, value: Optional[pulumi.Input['AwsIntegrationsElasticbeanstalkArgs']]):
        pulumi.set(self, "elasticbeanstalk", value)

    @property
    @pulumi.getter
    def elasticsearch(self) -> Optional[pulumi.Input['AwsIntegrationsElasticsearchArgs']]:
        """
        AWS ElasticSearch. See Integration blocks below for details.
        """
        return pulumi.get(self, "elasticsearch")

    @elasticsearch.setter
    def elasticsearch(self, value: Optional[pulumi.Input['AwsIntegrationsElasticsearchArgs']]):
        pulumi.set(self, "elasticsearch", value)

    @property
    @pulumi.getter
    def elb(self) -> Optional[pulumi.Input['AwsIntegrationsElbArgs']]:
        """
        AWS ELB (Classic). See Integration blocks below for details.
        """
        return pulumi.get(self, "elb")

    @elb.setter
    def elb(self, value: Optional[pulumi.Input['AwsIntegrationsElbArgs']]):
        pulumi.set(self, "elb", value)

    @property
    @pulumi.getter
    def emr(self) -> Optional[pulumi.Input['AwsIntegrationsEmrArgs']]:
        """
        AWS EMR. See Integration blocks below for details.
        """
        return pulumi.get(self, "emr")

    @emr.setter
    def emr(self, value: Optional[pulumi.Input['AwsIntegrationsEmrArgs']]):
        pulumi.set(self, "emr", value)

    @property
    @pulumi.getter
    def health(self) -> Optional[pulumi.Input['AwsIntegrationsHealthArgs']]:
        """
        AWS Health. See Integration blocks below for details.
        """
        return pulumi.get(self, "health")

    @health.setter
    def health(self, value: Optional[pulumi.Input['AwsIntegrationsHealthArgs']]):
        pulumi.set(self, "health", value)

    @property
    @pulumi.getter
    def iam(self) -> Optional[pulumi.Input['AwsIntegrationsIamArgs']]:
        """
        AWS IAM. See Integration blocks below for details.
        """
        return pulumi.get(self, "iam")

    @iam.setter
    def iam(self, value: Optional[pulumi.Input['AwsIntegrationsIamArgs']]):
        pulumi.set(self, "iam", value)

    @property
    @pulumi.getter
    def iot(self) -> Optional[pulumi.Input['AwsIntegrationsIotArgs']]:
        """
        AWS IoT. See Integration blocks below for details.
        """
        return pulumi.get(self, "iot")

    @iot.setter
    def iot(self, value: Optional[pulumi.Input['AwsIntegrationsIotArgs']]):
        pulumi.set(self, "iot", value)

    @property
    @pulumi.getter
    def kinesis(self) -> Optional[pulumi.Input['AwsIntegrationsKinesisArgs']]:
        """
        AWS Kinesis. See Integration blocks below for details.

        The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 3600 seconds.
        """
        return pulumi.get(self, "kinesis")

    @kinesis.setter
    def kinesis(self, value: Optional[pulumi.Input['AwsIntegrationsKinesisArgs']]):
        pulumi.set(self, "kinesis", value)

    @property
    @pulumi.getter(name="kinesisFirehose")
    def kinesis_firehose(self) -> Optional[pulumi.Input['AwsIntegrationsKinesisFirehoseArgs']]:
        """
        Amazon Kinesis Data Firehose. See Integration blocks below for details.
        """
        return pulumi.get(self, "kinesis_firehose")

    @kinesis_firehose.setter
    def kinesis_firehose(self, value: Optional[pulumi.Input['AwsIntegrationsKinesisFirehoseArgs']]):
        pulumi.set(self, "kinesis_firehose", value)

    @property
    @pulumi.getter(name="lambda")
    def lambda_(self) -> Optional[pulumi.Input['AwsIntegrationsLambdaArgs']]:
        """
        AWS Lambda. See Integration blocks below for details.
        """
        return pulumi.get(self, "lambda_")

    @lambda_.setter
    def lambda_(self, value: Optional[pulumi.Input['AwsIntegrationsLambdaArgs']]):
        pulumi.set(self, "lambda_", value)

    @property
    @pulumi.getter(name="linkedAccountId")
    def linked_account_id(self) -> Optional[pulumi.Input[str]]:
        """
        The ID of the linked AWS account in New Relic.


        The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 300 seconds.
        """
        return pulumi.get(self, "linked_account_id")

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

    @property
    @pulumi.getter
    def rds(self) -> Optional[pulumi.Input['AwsIntegrationsRdsArgs']]:
        """
        Amazon RDS. See Integration blocks below for details.
        """
        return pulumi.get(self, "rds")

    @rds.setter
    def rds(self, value: Optional[pulumi.Input['AwsIntegrationsRdsArgs']]):
        pulumi.set(self, "rds", value)

    @property
    @pulumi.getter
    def redshift(self) -> Optional[pulumi.Input['AwsIntegrationsRedshiftArgs']]:
        """
        Amazon Redshift. See Integration blocks below for details.
        """
        return pulumi.get(self, "redshift")

    @redshift.setter
    def redshift(self, value: Optional[pulumi.Input['AwsIntegrationsRedshiftArgs']]):
        pulumi.set(self, "redshift", value)

    @property
    @pulumi.getter
    def route53(self) -> Optional[pulumi.Input['AwsIntegrationsRoute53Args']]:
        """
        Amazon Route 53. See Integration blocks below for details.
        """
        return pulumi.get(self, "route53")

    @route53.setter
    def route53(self, value: Optional[pulumi.Input['AwsIntegrationsRoute53Args']]):
        pulumi.set(self, "route53", value)

    @property
    @pulumi.getter
    def s3(self) -> Optional[pulumi.Input['AwsIntegrationsS3Args']]:
        """
        Amazon S3. See Integration blocks below for details.
        """
        return pulumi.get(self, "s3")

    @s3.setter
    def s3(self, value: Optional[pulumi.Input['AwsIntegrationsS3Args']]):
        pulumi.set(self, "s3", value)

    @property
    @pulumi.getter
    def ses(self) -> Optional[pulumi.Input['AwsIntegrationsSesArgs']]:
        """
        Amazon SES. See Integration blocks below for details.
        """
        return pulumi.get(self, "ses")

    @ses.setter
    def ses(self, value: Optional[pulumi.Input['AwsIntegrationsSesArgs']]):
        pulumi.set(self, "ses", value)

    @property
    @pulumi.getter
    def sns(self) -> Optional[pulumi.Input['AwsIntegrationsSnsArgs']]:
        """
        AWS SNS. See Integration blocks below for details.
        """
        return pulumi.get(self, "sns")

    @sns.setter
    def sns(self, value: Optional[pulumi.Input['AwsIntegrationsSnsArgs']]):
        pulumi.set(self, "sns", value)

    @property
    @pulumi.getter
    def sqs(self) -> Optional[pulumi.Input['AwsIntegrationsSqsArgs']]:
        """
        AWS SQS. See Integration blocks below for details.
        """
        return pulumi.get(self, "sqs")

    @sqs.setter
    def sqs(self, value: Optional[pulumi.Input['AwsIntegrationsSqsArgs']]):
        pulumi.set(self, "sqs", value)

    @property
    @pulumi.getter(name="trustedAdvisor")
    def trusted_advisor(self) -> Optional[pulumi.Input['AwsIntegrationsTrustedAdvisorArgs']]:
        """
        AWS Trusted Advisor. See Integration blocks below for details.

        All other arguments are dependent on the services to be integrated, which have been listed in the collapsible section below. All of these are **optional** blocks that can be added in any required combination. **For details on arguments that can be used with each service, check out the `Integration` blocks section below.**
        """
        return pulumi.get(self, "trusted_advisor")

    @trusted_advisor.setter
    def trusted_advisor(self, value: Optional[pulumi.Input['AwsIntegrationsTrustedAdvisorArgs']]):
        pulumi.set(self, "trusted_advisor", value)

    @property
    @pulumi.getter
    def vpc(self) -> Optional[pulumi.Input['AwsIntegrationsVpcArgs']]:
        """
        VPC integration
        """
        return pulumi.get(self, "vpc")

    @vpc.setter
    def vpc(self, value: Optional[pulumi.Input['AwsIntegrationsVpcArgs']]):
        pulumi.set(self, "vpc", value)

    @property
    @pulumi.getter(name="xRay")
    def x_ray(self) -> Optional[pulumi.Input['AwsIntegrationsXRayArgs']]:
        """
        AWS X-Ray. See Integration blocks below for details.
        x

        The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 900 seconds.
        """
        return pulumi.get(self, "x_ray")

    @x_ray.setter
    def x_ray(self, value: Optional[pulumi.Input['AwsIntegrationsXRayArgs']]):
        pulumi.set(self, "x_ray", value)


class AwsIntegrations(pulumi.CustomResource):
    @overload
    def __init__(__self__,
                 resource_name: str,
                 opts: Optional[pulumi.ResourceOptions] = None,
                 account_id: Optional[pulumi.Input[str]] = None,
                 alb: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAlbArgs']]] = None,
                 api_gateway: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsApiGatewayArgs']]] = None,
                 auto_scaling: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAutoScalingArgs']]] = None,
                 aws_app_sync: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsAppSyncArgs']]] = None,
                 aws_athena: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsAthenaArgs']]] = None,
                 aws_cognito: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsCognitoArgs']]] = None,
                 aws_connect: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsConnectArgs']]] = None,
                 aws_direct_connect: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsDirectConnectArgs']]] = None,
                 aws_fsx: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsFsxArgs']]] = None,
                 aws_glue: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsGlueArgs']]] = None,
                 aws_kinesis_analytics: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsKinesisAnalyticsArgs']]] = None,
                 aws_media_convert: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsMediaConvertArgs']]] = None,
                 aws_media_package_vod: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsMediaPackageVodArgs']]] = None,
                 aws_mq: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsMqArgs']]] = None,
                 aws_msk: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsMskArgs']]] = None,
                 aws_neptune: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsNeptuneArgs']]] = None,
                 aws_qldb: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsQldbArgs']]] = None,
                 aws_route53resolver: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsRoute53resolverArgs']]] = None,
                 aws_states: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsStatesArgs']]] = None,
                 aws_transit_gateway: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsTransitGatewayArgs']]] = None,
                 aws_waf: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsWafArgs']]] = None,
                 aws_wafv2: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsWafv2Args']]] = None,
                 billing: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsBillingArgs']]] = None,
                 cloudfront: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsCloudfrontArgs']]] = None,
                 cloudtrail: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsCloudtrailArgs']]] = None,
                 doc_db: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsDocDbArgs']]] = None,
                 dynamodb: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsDynamodbArgs']]] = None,
                 ebs: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsEbsArgs']]] = None,
                 ec2: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsEc2Args']]] = None,
                 ecs: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsEcsArgs']]] = None,
                 efs: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsEfsArgs']]] = None,
                 elasticache: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsElasticacheArgs']]] = None,
                 elasticbeanstalk: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsElasticbeanstalkArgs']]] = None,
                 elasticsearch: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsElasticsearchArgs']]] = None,
                 elb: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsElbArgs']]] = None,
                 emr: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsEmrArgs']]] = None,
                 health: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsHealthArgs']]] = None,
                 iam: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsIamArgs']]] = None,
                 iot: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsIotArgs']]] = None,
                 kinesis: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsKinesisArgs']]] = None,
                 kinesis_firehose: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsKinesisFirehoseArgs']]] = None,
                 lambda_: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsLambdaArgs']]] = None,
                 linked_account_id: Optional[pulumi.Input[str]] = None,
                 rds: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsRdsArgs']]] = None,
                 redshift: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsRedshiftArgs']]] = None,
                 route53: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsRoute53Args']]] = None,
                 s3: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsS3Args']]] = None,
                 ses: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsSesArgs']]] = None,
                 sns: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsSnsArgs']]] = None,
                 sqs: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsSqsArgs']]] = None,
                 trusted_advisor: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsTrustedAdvisorArgs']]] = None,
                 vpc: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsVpcArgs']]] = None,
                 x_ray: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsXRayArgs']]] = None,
                 __props__=None):
        """
        Use this resource to integrate AWS services with New Relic.

        ## Prerequisite

        Setup is required for this resource to work properly. This resource assumes you have linked an AWS account to New Relic and configured it to push metrics using CloudWatch Metric Streams.

        New Relic doesn't automatically receive metrics from AWS for some services so this resource can be used to configure integrations to those services.

        Using a metric stream to New Relic is the preferred way to integrate with AWS. Follow the [steps outlined here](https://docs.newrelic.com/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-metric-stream/#set-up-metric-stream) to set up a metric stream. This resource supports any integration that's not available through AWS metric stream.

        ## Example Usage

        Leave an integration block empty to use its default configuration. You can also use the full example, including the AWS set up, found in our guides.

        ```python
        import pulumi
        import pulumi_newrelic as newrelic

        foo = newrelic.cloud.AwsLinkAccount("foo",
            arn=newrelic_aws_role["arn"],
            metric_collection_mode="PULL",
            name="foo")
        bar = newrelic.cloud.AwsIntegrations("bar",
            linked_account_id=foo.id,
            billing=newrelic.cloud.AwsIntegrationsBillingArgs(
                metrics_polling_interval=3600,
            ),
            cloudtrail=newrelic.cloud.AwsIntegrationsCloudtrailArgs(
                metrics_polling_interval=300,
                aws_regions=[
                    "us-east-1",
                    "us-east-2",
                ],
            ),
            health=newrelic.cloud.AwsIntegrationsHealthArgs(
                metrics_polling_interval=300,
            ),
            trusted_advisor=newrelic.cloud.AwsIntegrationsTrustedAdvisorArgs(
                metrics_polling_interval=3600,
            ),
            vpc=newrelic.cloud.AwsIntegrationsVpcArgs(
                metrics_polling_interval=900,
                aws_regions=[
                    "us-east-1",
                    "us-east-2",
                ],
                fetch_nat_gateway=True,
                fetch_vpn=False,
                tag_key="tag key",
                tag_value="tag value",
            ),
            x_ray=newrelic.cloud.AwsIntegrationsXRayArgs(
                metrics_polling_interval=300,
                aws_regions=[
                    "us-east-1",
                    "us-east-2",
                ],
            ),
            s3=newrelic.cloud.AwsIntegrationsS3Args(
                metrics_polling_interval=3600,
            ),
            doc_db=newrelic.cloud.AwsIntegrationsDocDbArgs(
                metrics_polling_interval=300,
            ),
            sqs=newrelic.cloud.AwsIntegrationsSqsArgs(
                fetch_extended_inventory=True,
                fetch_tags=True,
                queue_prefixes=["queue prefix"],
                metrics_polling_interval=300,
                aws_regions=["us-east-1"],
                tag_key="tag key",
                tag_value="tag value",
            ),
            ebs=newrelic.cloud.AwsIntegrationsEbsArgs(
                metrics_polling_interval=900,
                fetch_extended_inventory=True,
                aws_regions=["us-east-1"],
                tag_key="tag key",
                tag_value="tag value",
            ),
            alb=newrelic.cloud.AwsIntegrationsAlbArgs(
                fetch_extended_inventory=True,
                fetch_tags=True,
                load_balancer_prefixes=["load balancer prefix"],
                metrics_polling_interval=300,
                aws_regions=["us-east-1"],
                tag_key="tag key",
                tag_value="tag value",
            ),
            elasticache=newrelic.cloud.AwsIntegrationsElasticacheArgs(
                aws_regions=["us-east-1"],
                fetch_tags=True,
                metrics_polling_interval=300,
                tag_key="tag key",
                tag_value="tag value",
            ),
            api_gateway=newrelic.cloud.AwsIntegrationsApiGatewayArgs(
                metrics_polling_interval=300,
                aws_regions=["us-east-1"],
                stage_prefixes=["stage prefix"],
                tag_key="tag key",
                tag_value="tag value",
            ),
            auto_scaling=newrelic.cloud.AwsIntegrationsAutoScalingArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_app_sync=newrelic.cloud.AwsIntegrationsAwsAppSyncArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_athena=newrelic.cloud.AwsIntegrationsAwsAthenaArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_cognito=newrelic.cloud.AwsIntegrationsAwsCognitoArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_connect=newrelic.cloud.AwsIntegrationsAwsConnectArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_direct_connect=newrelic.cloud.AwsIntegrationsAwsDirectConnectArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_fsx=newrelic.cloud.AwsIntegrationsAwsFsxArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_glue=newrelic.cloud.AwsIntegrationsAwsGlueArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_kinesis_analytics=newrelic.cloud.AwsIntegrationsAwsKinesisAnalyticsArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_media_convert=newrelic.cloud.AwsIntegrationsAwsMediaConvertArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_media_package_vod=newrelic.cloud.AwsIntegrationsAwsMediaPackageVodArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_mq=newrelic.cloud.AwsIntegrationsAwsMqArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_msk=newrelic.cloud.AwsIntegrationsAwsMskArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_neptune=newrelic.cloud.AwsIntegrationsAwsNeptuneArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_qldb=newrelic.cloud.AwsIntegrationsAwsQldbArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_route53resolver=newrelic.cloud.AwsIntegrationsAwsRoute53resolverArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_states=newrelic.cloud.AwsIntegrationsAwsStatesArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_transit_gateway=newrelic.cloud.AwsIntegrationsAwsTransitGatewayArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_waf=newrelic.cloud.AwsIntegrationsAwsWafArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_wafv2=newrelic.cloud.AwsIntegrationsAwsWafv2Args(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            cloudfront=newrelic.cloud.AwsIntegrationsCloudfrontArgs(
                fetch_lambdas_at_edge=True,
                fetch_tags=True,
                metrics_polling_interval=300,
                tag_key="tag key",
                tag_value="tag value",
            ),
            dynamodb=newrelic.cloud.AwsIntegrationsDynamodbArgs(
                aws_regions=["us-east-1"],
                fetch_extended_inventory=True,
                fetch_tags=True,
                metrics_polling_interval=300,
                tag_key="tag key",
                tag_value="tag value",
            ),
            ec2=newrelic.cloud.AwsIntegrationsEc2Args(
                aws_regions=["us-east-1"],
                duplicate_ec2_tags=True,
                fetch_ip_addresses=True,
                metrics_polling_interval=300,
                tag_key="tag key",
                tag_value="tag value",
            ),
            ecs=newrelic.cloud.AwsIntegrationsEcsArgs(
                aws_regions=["us-east-1"],
                fetch_tags=True,
                metrics_polling_interval=300,
                tag_key="tag key",
                tag_value="tag value",
            ),
            efs=newrelic.cloud.AwsIntegrationsEfsArgs(
                aws_regions=["us-east-1"],
                fetch_tags=True,
                metrics_polling_interval=300,
                tag_key="tag key",
                tag_value="tag value",
            ),
            elasticbeanstalk=newrelic.cloud.AwsIntegrationsElasticbeanstalkArgs(
                aws_regions=["us-east-1"],
                fetch_extended_inventory=True,
                fetch_tags=True,
                metrics_polling_interval=300,
                tag_key="tag key",
                tag_value="tag value",
            ),
            elasticsearch=newrelic.cloud.AwsIntegrationsElasticsearchArgs(
                aws_regions=["us-east-1"],
                fetch_nodes=True,
                metrics_polling_interval=300,
                tag_key="tag key",
                tag_value="tag value",
            ),
            elb=newrelic.cloud.AwsIntegrationsElbArgs(
                aws_regions=["us-east-1"],
                fetch_extended_inventory=True,
                fetch_tags=True,
                metrics_polling_interval=300,
            ),
            emr=newrelic.cloud.AwsIntegrationsEmrArgs(
                aws_regions=["us-east-1"],
                fetch_tags=True,
                metrics_polling_interval=300,
                tag_key="tag key",
                tag_value="tag value",
            ),
            iam=newrelic.cloud.AwsIntegrationsIamArgs(
                metrics_polling_interval=300,
                tag_key="tag key",
                tag_value="tag value",
            ),
            iot=newrelic.cloud.AwsIntegrationsIotArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            kinesis=newrelic.cloud.AwsIntegrationsKinesisArgs(
                aws_regions=["us-east-1"],
                fetch_shards=True,
                fetch_tags=True,
                metrics_polling_interval=900,
                tag_key="tag key",
                tag_value="tag value",
            ),
            kinesis_firehose=newrelic.cloud.AwsIntegrationsKinesisFirehoseArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            lambda_=newrelic.cloud.AwsIntegrationsLambdaArgs(
                aws_regions=["us-east-1"],
                fetch_tags=True,
                metrics_polling_interval=300,
                tag_key="tag key",
                tag_value="tag value",
            ),
            rds=newrelic.cloud.AwsIntegrationsRdsArgs(
                aws_regions=["us-east-1"],
                fetch_tags=True,
                metrics_polling_interval=300,
                tag_key="tag key",
                tag_value="tag value",
            ),
            redshift=newrelic.cloud.AwsIntegrationsRedshiftArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
                tag_key="tag key",
                tag_value="tag value",
            ),
            route53=newrelic.cloud.AwsIntegrationsRoute53Args(
                fetch_extended_inventory=True,
                metrics_polling_interval=300,
            ),
            ses=newrelic.cloud.AwsIntegrationsSesArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            sns=newrelic.cloud.AwsIntegrationsSnsArgs(
                aws_regions=["us-east-1"],
                fetch_extended_inventory=True,
                metrics_polling_interval=300,
            ))
        ```

        ## Supported AWS Integrations

        <details>
          <summary>Expand this section to view all supported AWS services supported, that may be integrated via this resource.</summary>

        | Block                   | Description                   |
        |-------------------------|-------------------------------|
        | `alb`                   | ALB Integration               |
        | `api_gateway`           | API Gateway Integration       |
        | `auto_scaling`          | Auto Scaling Integration      |
        | `aws_app_sync`          | AppSync Integration           |
        | `aws_athena`            | Athena Integration            |
        | `aws_cognito`           | Cognito Integration           |
        | `aws_connect`           | Connect Integration           |
        | `aws_direct_connect`    | Direct Connect Integration    |
        | `aws_fsx`               | FSx Integration               |
        | `aws_glue`              | Glue Integration              |
        | `aws_kinesis_analytics` | Kinesis Analytics Integration |
        | `aws_media_convert`     | MediaConvert Integration      |
        | `aws_media_package_vod` | Media Package VOD Integration |
        | `aws_mq`                | MQ Integration                |
        | `aws_msk`               | MSK Integration               |
        | `aws_neptune`           | Neptune Integration           |
        | `aws_qldb`              | QLDB Integration              |
        | `aws_route53resolver`   | Route53 Resolver Integration  |
        | `aws_states`            | States Integration            |
        | `aws_transit_gateway`   | Transit Gateway Integration   |
        | `aws_waf`               | WAF Integration               |
        | `aws_wafv2`             | WAFv2 Integration             |
        | `billing`               | Billing Integration           |
        | `cloudfront`            | CloudFront Integration        |
        | `cloudtrail`            | CloudTrail Integration        |
        | `doc_db`                | DocumentDB Integration        |
        | `dynamodb`              | DynamoDB Integration          |
        | `ebs`                   | EBS Integration               |
        | `ec2`                   | EC2 Integration               |
        | `ecs`                   | ECS Integration               |
        | `efs`                   | EFS Integration               |
        | `elasticache`           | ElastiCache Integration       |
        | `elasticbeanstalk`      | Elastic Beanstalk Integration |
        | `elasticsearch`         | Elasticsearch Integration     |
        | `elb`                   | ELB Integration               |
        | `emr`                   | EMR Integration               |
        | `health`                | Health Integration            |
        | `iam`                   | IAM Integration               |
        | `iot`                   | IoT Integration               |
        | `kinesis`               | Kinesis Integration           |
        | `kinesis_firehose`      | Kinesis Firehose Integration  |
        | `lambda`                | Lambda Integration            |
        | `rds`                   | RDS Integration               |
        | `redshift`              | Redshift Integration          |
        | `route53`               | Route53 Integration           |
        | `s3`                    | S3 Integration                |
        | `ses`                   | SES Integration               |
        | `sns`                   | SNS Integration               |
        | `sqs`                   | SQS Integration               |
        | `trusted_advisor`       | Trusted Advisor Integration   |
        | `vpc`                   | VPC Integration               |
        | `x_ray`                 | X-Ray Integration             |

        </details>

        ## Import

        Linked AWS account integrations can be imported using the `id`, e.g.

        bash

        ```sh
        $ pulumi import newrelic:cloud/awsIntegrations:AwsIntegrations foo <id>
        ```

        :param str resource_name: The name of the resource.
        :param pulumi.ResourceOptions opts: Options for the resource.
        :param pulumi.Input[str] account_id: The New Relic account ID to operate on.  This allows the user to override the `account_id` attribute set on the provider. Defaults to the environment variable `NEW_RELIC_ACCOUNT_ID`.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAlbArgs']] alb: AWS ALB. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsApiGatewayArgs']] api_gateway: AWS API Gateway. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAutoScalingArgs']] auto_scaling: AWS Auto Scaling. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsAppSyncArgs']] aws_app_sync: AWS AppSync. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsAthenaArgs']] aws_athena: AWS Athena. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsCognitoArgs']] aws_cognito: AWS Cognito. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsConnectArgs']] aws_connect: AWS Connect. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsDirectConnectArgs']] aws_direct_connect: AWS Direct Connect. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsFsxArgs']] aws_fsx: AWS FSx. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsGlueArgs']] aws_glue: AWS Glue. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsKinesisAnalyticsArgs']] aws_kinesis_analytics: AWS Kinesis Data Analytics. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsMediaConvertArgs']] aws_media_convert: AWS Media Convert. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsMediaPackageVodArgs']] aws_media_package_vod: AWS MediaPackage VOD. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsMqArgs']] aws_mq: AWS MQ. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsMskArgs']] aws_msk: Amazon Managed Kafka (MSK). See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsNeptuneArgs']] aws_neptune: AWS Neptune. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsQldbArgs']] aws_qldb: Amazon QLDB. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsRoute53resolverArgs']] aws_route53resolver: AWS Route53 Resolver. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsStatesArgs']] aws_states: Aws states integration
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsTransitGatewayArgs']] aws_transit_gateway: Amazon Transit Gateway. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsWafArgs']] aws_waf: AWS WAF. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsWafv2Args']] aws_wafv2: AWS WAF V2. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsBillingArgs']] billing: AWS Billing. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsCloudfrontArgs']] cloudfront: AWS CloudFront. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsCloudtrailArgs']] cloudtrail: AWS CloudTrail. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsDocDbArgs']] doc_db: AWS DocumentDB. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsDynamodbArgs']] dynamodb: Amazon DynamoDB. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsEbsArgs']] ebs: Amazon EBS. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsEc2Args']] ec2: Amazon EC2. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsEcsArgs']] ecs: Amazon ECS. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsEfsArgs']] efs: Amazon EFS. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsElasticacheArgs']] elasticache: AWS ElastiCache. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsElasticbeanstalkArgs']] elasticbeanstalk: AWS Elastic Beanstalk. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsElasticsearchArgs']] elasticsearch: AWS ElasticSearch. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsElbArgs']] elb: AWS ELB (Classic). See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsEmrArgs']] emr: AWS EMR. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsHealthArgs']] health: AWS Health. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsIamArgs']] iam: AWS IAM. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsIotArgs']] iot: AWS IoT. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsKinesisArgs']] kinesis: AWS Kinesis. See Integration blocks below for details.
               
               The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 3600 seconds.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsKinesisFirehoseArgs']] kinesis_firehose: Amazon Kinesis Data Firehose. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsLambdaArgs']] lambda_: AWS Lambda. See Integration blocks below for details.
        :param pulumi.Input[str] linked_account_id: The ID of the linked AWS account in New Relic.
               
               
               The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 300 seconds.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsRdsArgs']] rds: Amazon RDS. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsRedshiftArgs']] redshift: Amazon Redshift. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsRoute53Args']] route53: Amazon Route 53. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsS3Args']] s3: Amazon S3. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsSesArgs']] ses: Amazon SES. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsSnsArgs']] sns: AWS SNS. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsSqsArgs']] sqs: AWS SQS. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsTrustedAdvisorArgs']] trusted_advisor: AWS Trusted Advisor. See Integration blocks below for details.
               
               All other arguments are dependent on the services to be integrated, which have been listed in the collapsible section below. All of these are **optional** blocks that can be added in any required combination. **For details on arguments that can be used with each service, check out the `Integration` blocks section below.**
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsVpcArgs']] vpc: VPC integration
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsXRayArgs']] x_ray: AWS X-Ray. See Integration blocks below for details.
               x
               
               The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 900 seconds.
        """
        ...
    @overload
    def __init__(__self__,
                 resource_name: str,
                 args: AwsIntegrationsArgs,
                 opts: Optional[pulumi.ResourceOptions] = None):
        """
        Use this resource to integrate AWS services with New Relic.

        ## Prerequisite

        Setup is required for this resource to work properly. This resource assumes you have linked an AWS account to New Relic and configured it to push metrics using CloudWatch Metric Streams.

        New Relic doesn't automatically receive metrics from AWS for some services so this resource can be used to configure integrations to those services.

        Using a metric stream to New Relic is the preferred way to integrate with AWS. Follow the [steps outlined here](https://docs.newrelic.com/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-metric-stream/#set-up-metric-stream) to set up a metric stream. This resource supports any integration that's not available through AWS metric stream.

        ## Example Usage

        Leave an integration block empty to use its default configuration. You can also use the full example, including the AWS set up, found in our guides.

        ```python
        import pulumi
        import pulumi_newrelic as newrelic

        foo = newrelic.cloud.AwsLinkAccount("foo",
            arn=newrelic_aws_role["arn"],
            metric_collection_mode="PULL",
            name="foo")
        bar = newrelic.cloud.AwsIntegrations("bar",
            linked_account_id=foo.id,
            billing=newrelic.cloud.AwsIntegrationsBillingArgs(
                metrics_polling_interval=3600,
            ),
            cloudtrail=newrelic.cloud.AwsIntegrationsCloudtrailArgs(
                metrics_polling_interval=300,
                aws_regions=[
                    "us-east-1",
                    "us-east-2",
                ],
            ),
            health=newrelic.cloud.AwsIntegrationsHealthArgs(
                metrics_polling_interval=300,
            ),
            trusted_advisor=newrelic.cloud.AwsIntegrationsTrustedAdvisorArgs(
                metrics_polling_interval=3600,
            ),
            vpc=newrelic.cloud.AwsIntegrationsVpcArgs(
                metrics_polling_interval=900,
                aws_regions=[
                    "us-east-1",
                    "us-east-2",
                ],
                fetch_nat_gateway=True,
                fetch_vpn=False,
                tag_key="tag key",
                tag_value="tag value",
            ),
            x_ray=newrelic.cloud.AwsIntegrationsXRayArgs(
                metrics_polling_interval=300,
                aws_regions=[
                    "us-east-1",
                    "us-east-2",
                ],
            ),
            s3=newrelic.cloud.AwsIntegrationsS3Args(
                metrics_polling_interval=3600,
            ),
            doc_db=newrelic.cloud.AwsIntegrationsDocDbArgs(
                metrics_polling_interval=300,
            ),
            sqs=newrelic.cloud.AwsIntegrationsSqsArgs(
                fetch_extended_inventory=True,
                fetch_tags=True,
                queue_prefixes=["queue prefix"],
                metrics_polling_interval=300,
                aws_regions=["us-east-1"],
                tag_key="tag key",
                tag_value="tag value",
            ),
            ebs=newrelic.cloud.AwsIntegrationsEbsArgs(
                metrics_polling_interval=900,
                fetch_extended_inventory=True,
                aws_regions=["us-east-1"],
                tag_key="tag key",
                tag_value="tag value",
            ),
            alb=newrelic.cloud.AwsIntegrationsAlbArgs(
                fetch_extended_inventory=True,
                fetch_tags=True,
                load_balancer_prefixes=["load balancer prefix"],
                metrics_polling_interval=300,
                aws_regions=["us-east-1"],
                tag_key="tag key",
                tag_value="tag value",
            ),
            elasticache=newrelic.cloud.AwsIntegrationsElasticacheArgs(
                aws_regions=["us-east-1"],
                fetch_tags=True,
                metrics_polling_interval=300,
                tag_key="tag key",
                tag_value="tag value",
            ),
            api_gateway=newrelic.cloud.AwsIntegrationsApiGatewayArgs(
                metrics_polling_interval=300,
                aws_regions=["us-east-1"],
                stage_prefixes=["stage prefix"],
                tag_key="tag key",
                tag_value="tag value",
            ),
            auto_scaling=newrelic.cloud.AwsIntegrationsAutoScalingArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_app_sync=newrelic.cloud.AwsIntegrationsAwsAppSyncArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_athena=newrelic.cloud.AwsIntegrationsAwsAthenaArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_cognito=newrelic.cloud.AwsIntegrationsAwsCognitoArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_connect=newrelic.cloud.AwsIntegrationsAwsConnectArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_direct_connect=newrelic.cloud.AwsIntegrationsAwsDirectConnectArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_fsx=newrelic.cloud.AwsIntegrationsAwsFsxArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_glue=newrelic.cloud.AwsIntegrationsAwsGlueArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_kinesis_analytics=newrelic.cloud.AwsIntegrationsAwsKinesisAnalyticsArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_media_convert=newrelic.cloud.AwsIntegrationsAwsMediaConvertArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_media_package_vod=newrelic.cloud.AwsIntegrationsAwsMediaPackageVodArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_mq=newrelic.cloud.AwsIntegrationsAwsMqArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_msk=newrelic.cloud.AwsIntegrationsAwsMskArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_neptune=newrelic.cloud.AwsIntegrationsAwsNeptuneArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_qldb=newrelic.cloud.AwsIntegrationsAwsQldbArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_route53resolver=newrelic.cloud.AwsIntegrationsAwsRoute53resolverArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_states=newrelic.cloud.AwsIntegrationsAwsStatesArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_transit_gateway=newrelic.cloud.AwsIntegrationsAwsTransitGatewayArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_waf=newrelic.cloud.AwsIntegrationsAwsWafArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            aws_wafv2=newrelic.cloud.AwsIntegrationsAwsWafv2Args(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            cloudfront=newrelic.cloud.AwsIntegrationsCloudfrontArgs(
                fetch_lambdas_at_edge=True,
                fetch_tags=True,
                metrics_polling_interval=300,
                tag_key="tag key",
                tag_value="tag value",
            ),
            dynamodb=newrelic.cloud.AwsIntegrationsDynamodbArgs(
                aws_regions=["us-east-1"],
                fetch_extended_inventory=True,
                fetch_tags=True,
                metrics_polling_interval=300,
                tag_key="tag key",
                tag_value="tag value",
            ),
            ec2=newrelic.cloud.AwsIntegrationsEc2Args(
                aws_regions=["us-east-1"],
                duplicate_ec2_tags=True,
                fetch_ip_addresses=True,
                metrics_polling_interval=300,
                tag_key="tag key",
                tag_value="tag value",
            ),
            ecs=newrelic.cloud.AwsIntegrationsEcsArgs(
                aws_regions=["us-east-1"],
                fetch_tags=True,
                metrics_polling_interval=300,
                tag_key="tag key",
                tag_value="tag value",
            ),
            efs=newrelic.cloud.AwsIntegrationsEfsArgs(
                aws_regions=["us-east-1"],
                fetch_tags=True,
                metrics_polling_interval=300,
                tag_key="tag key",
                tag_value="tag value",
            ),
            elasticbeanstalk=newrelic.cloud.AwsIntegrationsElasticbeanstalkArgs(
                aws_regions=["us-east-1"],
                fetch_extended_inventory=True,
                fetch_tags=True,
                metrics_polling_interval=300,
                tag_key="tag key",
                tag_value="tag value",
            ),
            elasticsearch=newrelic.cloud.AwsIntegrationsElasticsearchArgs(
                aws_regions=["us-east-1"],
                fetch_nodes=True,
                metrics_polling_interval=300,
                tag_key="tag key",
                tag_value="tag value",
            ),
            elb=newrelic.cloud.AwsIntegrationsElbArgs(
                aws_regions=["us-east-1"],
                fetch_extended_inventory=True,
                fetch_tags=True,
                metrics_polling_interval=300,
            ),
            emr=newrelic.cloud.AwsIntegrationsEmrArgs(
                aws_regions=["us-east-1"],
                fetch_tags=True,
                metrics_polling_interval=300,
                tag_key="tag key",
                tag_value="tag value",
            ),
            iam=newrelic.cloud.AwsIntegrationsIamArgs(
                metrics_polling_interval=300,
                tag_key="tag key",
                tag_value="tag value",
            ),
            iot=newrelic.cloud.AwsIntegrationsIotArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            kinesis=newrelic.cloud.AwsIntegrationsKinesisArgs(
                aws_regions=["us-east-1"],
                fetch_shards=True,
                fetch_tags=True,
                metrics_polling_interval=900,
                tag_key="tag key",
                tag_value="tag value",
            ),
            kinesis_firehose=newrelic.cloud.AwsIntegrationsKinesisFirehoseArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            lambda_=newrelic.cloud.AwsIntegrationsLambdaArgs(
                aws_regions=["us-east-1"],
                fetch_tags=True,
                metrics_polling_interval=300,
                tag_key="tag key",
                tag_value="tag value",
            ),
            rds=newrelic.cloud.AwsIntegrationsRdsArgs(
                aws_regions=["us-east-1"],
                fetch_tags=True,
                metrics_polling_interval=300,
                tag_key="tag key",
                tag_value="tag value",
            ),
            redshift=newrelic.cloud.AwsIntegrationsRedshiftArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
                tag_key="tag key",
                tag_value="tag value",
            ),
            route53=newrelic.cloud.AwsIntegrationsRoute53Args(
                fetch_extended_inventory=True,
                metrics_polling_interval=300,
            ),
            ses=newrelic.cloud.AwsIntegrationsSesArgs(
                aws_regions=["us-east-1"],
                metrics_polling_interval=300,
            ),
            sns=newrelic.cloud.AwsIntegrationsSnsArgs(
                aws_regions=["us-east-1"],
                fetch_extended_inventory=True,
                metrics_polling_interval=300,
            ))
        ```

        ## Supported AWS Integrations

        <details>
          <summary>Expand this section to view all supported AWS services supported, that may be integrated via this resource.</summary>

        | Block                   | Description                   |
        |-------------------------|-------------------------------|
        | `alb`                   | ALB Integration               |
        | `api_gateway`           | API Gateway Integration       |
        | `auto_scaling`          | Auto Scaling Integration      |
        | `aws_app_sync`          | AppSync Integration           |
        | `aws_athena`            | Athena Integration            |
        | `aws_cognito`           | Cognito Integration           |
        | `aws_connect`           | Connect Integration           |
        | `aws_direct_connect`    | Direct Connect Integration    |
        | `aws_fsx`               | FSx Integration               |
        | `aws_glue`              | Glue Integration              |
        | `aws_kinesis_analytics` | Kinesis Analytics Integration |
        | `aws_media_convert`     | MediaConvert Integration      |
        | `aws_media_package_vod` | Media Package VOD Integration |
        | `aws_mq`                | MQ Integration                |
        | `aws_msk`               | MSK Integration               |
        | `aws_neptune`           | Neptune Integration           |
        | `aws_qldb`              | QLDB Integration              |
        | `aws_route53resolver`   | Route53 Resolver Integration  |
        | `aws_states`            | States Integration            |
        | `aws_transit_gateway`   | Transit Gateway Integration   |
        | `aws_waf`               | WAF Integration               |
        | `aws_wafv2`             | WAFv2 Integration             |
        | `billing`               | Billing Integration           |
        | `cloudfront`            | CloudFront Integration        |
        | `cloudtrail`            | CloudTrail Integration        |
        | `doc_db`                | DocumentDB Integration        |
        | `dynamodb`              | DynamoDB Integration          |
        | `ebs`                   | EBS Integration               |
        | `ec2`                   | EC2 Integration               |
        | `ecs`                   | ECS Integration               |
        | `efs`                   | EFS Integration               |
        | `elasticache`           | ElastiCache Integration       |
        | `elasticbeanstalk`      | Elastic Beanstalk Integration |
        | `elasticsearch`         | Elasticsearch Integration     |
        | `elb`                   | ELB Integration               |
        | `emr`                   | EMR Integration               |
        | `health`                | Health Integration            |
        | `iam`                   | IAM Integration               |
        | `iot`                   | IoT Integration               |
        | `kinesis`               | Kinesis Integration           |
        | `kinesis_firehose`      | Kinesis Firehose Integration  |
        | `lambda`                | Lambda Integration            |
        | `rds`                   | RDS Integration               |
        | `redshift`              | Redshift Integration          |
        | `route53`               | Route53 Integration           |
        | `s3`                    | S3 Integration                |
        | `ses`                   | SES Integration               |
        | `sns`                   | SNS Integration               |
        | `sqs`                   | SQS Integration               |
        | `trusted_advisor`       | Trusted Advisor Integration   |
        | `vpc`                   | VPC Integration               |
        | `x_ray`                 | X-Ray Integration             |

        </details>

        ## Import

        Linked AWS account integrations can be imported using the `id`, e.g.

        bash

        ```sh
        $ pulumi import newrelic:cloud/awsIntegrations:AwsIntegrations foo <id>
        ```

        :param str resource_name: The name of the resource.
        :param AwsIntegrationsArgs args: The arguments to use to populate this resource's properties.
        :param pulumi.ResourceOptions opts: Options for the resource.
        """
        ...
    def __init__(__self__, resource_name: str, *args, **kwargs):
        resource_args, opts = _utilities.get_resource_args_opts(AwsIntegrationsArgs, pulumi.ResourceOptions, *args, **kwargs)
        if resource_args is not None:
            __self__._internal_init(resource_name, opts, **resource_args.__dict__)
        else:
            __self__._internal_init(resource_name, *args, **kwargs)

    def _internal_init(__self__,
                 resource_name: str,
                 opts: Optional[pulumi.ResourceOptions] = None,
                 account_id: Optional[pulumi.Input[str]] = None,
                 alb: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAlbArgs']]] = None,
                 api_gateway: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsApiGatewayArgs']]] = None,
                 auto_scaling: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAutoScalingArgs']]] = None,
                 aws_app_sync: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsAppSyncArgs']]] = None,
                 aws_athena: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsAthenaArgs']]] = None,
                 aws_cognito: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsCognitoArgs']]] = None,
                 aws_connect: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsConnectArgs']]] = None,
                 aws_direct_connect: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsDirectConnectArgs']]] = None,
                 aws_fsx: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsFsxArgs']]] = None,
                 aws_glue: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsGlueArgs']]] = None,
                 aws_kinesis_analytics: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsKinesisAnalyticsArgs']]] = None,
                 aws_media_convert: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsMediaConvertArgs']]] = None,
                 aws_media_package_vod: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsMediaPackageVodArgs']]] = None,
                 aws_mq: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsMqArgs']]] = None,
                 aws_msk: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsMskArgs']]] = None,
                 aws_neptune: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsNeptuneArgs']]] = None,
                 aws_qldb: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsQldbArgs']]] = None,
                 aws_route53resolver: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsRoute53resolverArgs']]] = None,
                 aws_states: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsStatesArgs']]] = None,
                 aws_transit_gateway: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsTransitGatewayArgs']]] = None,
                 aws_waf: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsWafArgs']]] = None,
                 aws_wafv2: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsWafv2Args']]] = None,
                 billing: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsBillingArgs']]] = None,
                 cloudfront: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsCloudfrontArgs']]] = None,
                 cloudtrail: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsCloudtrailArgs']]] = None,
                 doc_db: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsDocDbArgs']]] = None,
                 dynamodb: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsDynamodbArgs']]] = None,
                 ebs: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsEbsArgs']]] = None,
                 ec2: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsEc2Args']]] = None,
                 ecs: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsEcsArgs']]] = None,
                 efs: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsEfsArgs']]] = None,
                 elasticache: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsElasticacheArgs']]] = None,
                 elasticbeanstalk: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsElasticbeanstalkArgs']]] = None,
                 elasticsearch: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsElasticsearchArgs']]] = None,
                 elb: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsElbArgs']]] = None,
                 emr: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsEmrArgs']]] = None,
                 health: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsHealthArgs']]] = None,
                 iam: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsIamArgs']]] = None,
                 iot: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsIotArgs']]] = None,
                 kinesis: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsKinesisArgs']]] = None,
                 kinesis_firehose: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsKinesisFirehoseArgs']]] = None,
                 lambda_: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsLambdaArgs']]] = None,
                 linked_account_id: Optional[pulumi.Input[str]] = None,
                 rds: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsRdsArgs']]] = None,
                 redshift: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsRedshiftArgs']]] = None,
                 route53: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsRoute53Args']]] = None,
                 s3: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsS3Args']]] = None,
                 ses: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsSesArgs']]] = None,
                 sns: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsSnsArgs']]] = None,
                 sqs: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsSqsArgs']]] = None,
                 trusted_advisor: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsTrustedAdvisorArgs']]] = None,
                 vpc: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsVpcArgs']]] = None,
                 x_ray: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsXRayArgs']]] = None,
                 __props__=None):
        opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
        if not isinstance(opts, pulumi.ResourceOptions):
            raise TypeError('Expected resource options to be a ResourceOptions instance')
        if opts.id is None:
            if __props__ is not None:
                raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
            __props__ = AwsIntegrationsArgs.__new__(AwsIntegrationsArgs)

            __props__.__dict__["account_id"] = account_id
            __props__.__dict__["alb"] = alb
            __props__.__dict__["api_gateway"] = api_gateway
            __props__.__dict__["auto_scaling"] = auto_scaling
            __props__.__dict__["aws_app_sync"] = aws_app_sync
            __props__.__dict__["aws_athena"] = aws_athena
            __props__.__dict__["aws_cognito"] = aws_cognito
            __props__.__dict__["aws_connect"] = aws_connect
            __props__.__dict__["aws_direct_connect"] = aws_direct_connect
            __props__.__dict__["aws_fsx"] = aws_fsx
            __props__.__dict__["aws_glue"] = aws_glue
            __props__.__dict__["aws_kinesis_analytics"] = aws_kinesis_analytics
            __props__.__dict__["aws_media_convert"] = aws_media_convert
            __props__.__dict__["aws_media_package_vod"] = aws_media_package_vod
            __props__.__dict__["aws_mq"] = aws_mq
            __props__.__dict__["aws_msk"] = aws_msk
            __props__.__dict__["aws_neptune"] = aws_neptune
            __props__.__dict__["aws_qldb"] = aws_qldb
            __props__.__dict__["aws_route53resolver"] = aws_route53resolver
            __props__.__dict__["aws_states"] = aws_states
            __props__.__dict__["aws_transit_gateway"] = aws_transit_gateway
            __props__.__dict__["aws_waf"] = aws_waf
            __props__.__dict__["aws_wafv2"] = aws_wafv2
            __props__.__dict__["billing"] = billing
            __props__.__dict__["cloudfront"] = cloudfront
            __props__.__dict__["cloudtrail"] = cloudtrail
            __props__.__dict__["doc_db"] = doc_db
            __props__.__dict__["dynamodb"] = dynamodb
            __props__.__dict__["ebs"] = ebs
            __props__.__dict__["ec2"] = ec2
            __props__.__dict__["ecs"] = ecs
            __props__.__dict__["efs"] = efs
            __props__.__dict__["elasticache"] = elasticache
            __props__.__dict__["elasticbeanstalk"] = elasticbeanstalk
            __props__.__dict__["elasticsearch"] = elasticsearch
            __props__.__dict__["elb"] = elb
            __props__.__dict__["emr"] = emr
            __props__.__dict__["health"] = health
            __props__.__dict__["iam"] = iam
            __props__.__dict__["iot"] = iot
            __props__.__dict__["kinesis"] = kinesis
            __props__.__dict__["kinesis_firehose"] = kinesis_firehose
            __props__.__dict__["lambda_"] = lambda_
            if linked_account_id is None and not opts.urn:
                raise TypeError("Missing required property 'linked_account_id'")
            __props__.__dict__["linked_account_id"] = linked_account_id
            __props__.__dict__["rds"] = rds
            __props__.__dict__["redshift"] = redshift
            __props__.__dict__["route53"] = route53
            __props__.__dict__["s3"] = s3
            __props__.__dict__["ses"] = ses
            __props__.__dict__["sns"] = sns
            __props__.__dict__["sqs"] = sqs
            __props__.__dict__["trusted_advisor"] = trusted_advisor
            __props__.__dict__["vpc"] = vpc
            __props__.__dict__["x_ray"] = x_ray
        super(AwsIntegrations, __self__).__init__(
            'newrelic:cloud/awsIntegrations:AwsIntegrations',
            resource_name,
            __props__,
            opts)

    @staticmethod
    def get(resource_name: str,
            id: pulumi.Input[str],
            opts: Optional[pulumi.ResourceOptions] = None,
            account_id: Optional[pulumi.Input[str]] = None,
            alb: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAlbArgs']]] = None,
            api_gateway: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsApiGatewayArgs']]] = None,
            auto_scaling: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAutoScalingArgs']]] = None,
            aws_app_sync: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsAppSyncArgs']]] = None,
            aws_athena: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsAthenaArgs']]] = None,
            aws_cognito: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsCognitoArgs']]] = None,
            aws_connect: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsConnectArgs']]] = None,
            aws_direct_connect: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsDirectConnectArgs']]] = None,
            aws_fsx: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsFsxArgs']]] = None,
            aws_glue: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsGlueArgs']]] = None,
            aws_kinesis_analytics: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsKinesisAnalyticsArgs']]] = None,
            aws_media_convert: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsMediaConvertArgs']]] = None,
            aws_media_package_vod: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsMediaPackageVodArgs']]] = None,
            aws_mq: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsMqArgs']]] = None,
            aws_msk: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsMskArgs']]] = None,
            aws_neptune: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsNeptuneArgs']]] = None,
            aws_qldb: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsQldbArgs']]] = None,
            aws_route53resolver: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsRoute53resolverArgs']]] = None,
            aws_states: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsStatesArgs']]] = None,
            aws_transit_gateway: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsTransitGatewayArgs']]] = None,
            aws_waf: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsWafArgs']]] = None,
            aws_wafv2: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsAwsWafv2Args']]] = None,
            billing: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsBillingArgs']]] = None,
            cloudfront: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsCloudfrontArgs']]] = None,
            cloudtrail: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsCloudtrailArgs']]] = None,
            doc_db: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsDocDbArgs']]] = None,
            dynamodb: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsDynamodbArgs']]] = None,
            ebs: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsEbsArgs']]] = None,
            ec2: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsEc2Args']]] = None,
            ecs: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsEcsArgs']]] = None,
            efs: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsEfsArgs']]] = None,
            elasticache: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsElasticacheArgs']]] = None,
            elasticbeanstalk: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsElasticbeanstalkArgs']]] = None,
            elasticsearch: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsElasticsearchArgs']]] = None,
            elb: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsElbArgs']]] = None,
            emr: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsEmrArgs']]] = None,
            health: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsHealthArgs']]] = None,
            iam: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsIamArgs']]] = None,
            iot: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsIotArgs']]] = None,
            kinesis: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsKinesisArgs']]] = None,
            kinesis_firehose: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsKinesisFirehoseArgs']]] = None,
            lambda_: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsLambdaArgs']]] = None,
            linked_account_id: Optional[pulumi.Input[str]] = None,
            rds: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsRdsArgs']]] = None,
            redshift: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsRedshiftArgs']]] = None,
            route53: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsRoute53Args']]] = None,
            s3: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsS3Args']]] = None,
            ses: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsSesArgs']]] = None,
            sns: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsSnsArgs']]] = None,
            sqs: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsSqsArgs']]] = None,
            trusted_advisor: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsTrustedAdvisorArgs']]] = None,
            vpc: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsVpcArgs']]] = None,
            x_ray: Optional[pulumi.Input[pulumi.InputType['AwsIntegrationsXRayArgs']]] = None) -> 'AwsIntegrations':
        """
        Get an existing AwsIntegrations resource's state with the given name, id, and optional extra
        properties used to qualify the lookup.

        :param str resource_name: The unique name of the resulting resource.
        :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
        :param pulumi.ResourceOptions opts: Options for the resource.
        :param pulumi.Input[str] account_id: The New Relic account ID to operate on.  This allows the user to override the `account_id` attribute set on the provider. Defaults to the environment variable `NEW_RELIC_ACCOUNT_ID`.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAlbArgs']] alb: AWS ALB. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsApiGatewayArgs']] api_gateway: AWS API Gateway. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAutoScalingArgs']] auto_scaling: AWS Auto Scaling. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsAppSyncArgs']] aws_app_sync: AWS AppSync. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsAthenaArgs']] aws_athena: AWS Athena. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsCognitoArgs']] aws_cognito: AWS Cognito. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsConnectArgs']] aws_connect: AWS Connect. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsDirectConnectArgs']] aws_direct_connect: AWS Direct Connect. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsFsxArgs']] aws_fsx: AWS FSx. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsGlueArgs']] aws_glue: AWS Glue. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsKinesisAnalyticsArgs']] aws_kinesis_analytics: AWS Kinesis Data Analytics. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsMediaConvertArgs']] aws_media_convert: AWS Media Convert. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsMediaPackageVodArgs']] aws_media_package_vod: AWS MediaPackage VOD. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsMqArgs']] aws_mq: AWS MQ. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsMskArgs']] aws_msk: Amazon Managed Kafka (MSK). See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsNeptuneArgs']] aws_neptune: AWS Neptune. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsQldbArgs']] aws_qldb: Amazon QLDB. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsRoute53resolverArgs']] aws_route53resolver: AWS Route53 Resolver. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsStatesArgs']] aws_states: Aws states integration
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsTransitGatewayArgs']] aws_transit_gateway: Amazon Transit Gateway. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsWafArgs']] aws_waf: AWS WAF. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsAwsWafv2Args']] aws_wafv2: AWS WAF V2. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsBillingArgs']] billing: AWS Billing. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsCloudfrontArgs']] cloudfront: AWS CloudFront. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsCloudtrailArgs']] cloudtrail: AWS CloudTrail. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsDocDbArgs']] doc_db: AWS DocumentDB. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsDynamodbArgs']] dynamodb: Amazon DynamoDB. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsEbsArgs']] ebs: Amazon EBS. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsEc2Args']] ec2: Amazon EC2. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsEcsArgs']] ecs: Amazon ECS. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsEfsArgs']] efs: Amazon EFS. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsElasticacheArgs']] elasticache: AWS ElastiCache. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsElasticbeanstalkArgs']] elasticbeanstalk: AWS Elastic Beanstalk. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsElasticsearchArgs']] elasticsearch: AWS ElasticSearch. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsElbArgs']] elb: AWS ELB (Classic). See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsEmrArgs']] emr: AWS EMR. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsHealthArgs']] health: AWS Health. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsIamArgs']] iam: AWS IAM. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsIotArgs']] iot: AWS IoT. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsKinesisArgs']] kinesis: AWS Kinesis. See Integration blocks below for details.
               
               The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 3600 seconds.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsKinesisFirehoseArgs']] kinesis_firehose: Amazon Kinesis Data Firehose. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsLambdaArgs']] lambda_: AWS Lambda. See Integration blocks below for details.
        :param pulumi.Input[str] linked_account_id: The ID of the linked AWS account in New Relic.
               
               
               The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 300 seconds.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsRdsArgs']] rds: Amazon RDS. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsRedshiftArgs']] redshift: Amazon Redshift. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsRoute53Args']] route53: Amazon Route 53. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsS3Args']] s3: Amazon S3. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsSesArgs']] ses: Amazon SES. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsSnsArgs']] sns: AWS SNS. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsSqsArgs']] sqs: AWS SQS. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsTrustedAdvisorArgs']] trusted_advisor: AWS Trusted Advisor. See Integration blocks below for details.
               
               All other arguments are dependent on the services to be integrated, which have been listed in the collapsible section below. All of these are **optional** blocks that can be added in any required combination. **For details on arguments that can be used with each service, check out the `Integration` blocks section below.**
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsVpcArgs']] vpc: VPC integration
        :param pulumi.Input[pulumi.InputType['AwsIntegrationsXRayArgs']] x_ray: AWS X-Ray. See Integration blocks below for details.
               x
               
               The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 900 seconds.
        """
        opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))

        __props__ = _AwsIntegrationsState.__new__(_AwsIntegrationsState)

        __props__.__dict__["account_id"] = account_id
        __props__.__dict__["alb"] = alb
        __props__.__dict__["api_gateway"] = api_gateway
        __props__.__dict__["auto_scaling"] = auto_scaling
        __props__.__dict__["aws_app_sync"] = aws_app_sync
        __props__.__dict__["aws_athena"] = aws_athena
        __props__.__dict__["aws_cognito"] = aws_cognito
        __props__.__dict__["aws_connect"] = aws_connect
        __props__.__dict__["aws_direct_connect"] = aws_direct_connect
        __props__.__dict__["aws_fsx"] = aws_fsx
        __props__.__dict__["aws_glue"] = aws_glue
        __props__.__dict__["aws_kinesis_analytics"] = aws_kinesis_analytics
        __props__.__dict__["aws_media_convert"] = aws_media_convert
        __props__.__dict__["aws_media_package_vod"] = aws_media_package_vod
        __props__.__dict__["aws_mq"] = aws_mq
        __props__.__dict__["aws_msk"] = aws_msk
        __props__.__dict__["aws_neptune"] = aws_neptune
        __props__.__dict__["aws_qldb"] = aws_qldb
        __props__.__dict__["aws_route53resolver"] = aws_route53resolver
        __props__.__dict__["aws_states"] = aws_states
        __props__.__dict__["aws_transit_gateway"] = aws_transit_gateway
        __props__.__dict__["aws_waf"] = aws_waf
        __props__.__dict__["aws_wafv2"] = aws_wafv2
        __props__.__dict__["billing"] = billing
        __props__.__dict__["cloudfront"] = cloudfront
        __props__.__dict__["cloudtrail"] = cloudtrail
        __props__.__dict__["doc_db"] = doc_db
        __props__.__dict__["dynamodb"] = dynamodb
        __props__.__dict__["ebs"] = ebs
        __props__.__dict__["ec2"] = ec2
        __props__.__dict__["ecs"] = ecs
        __props__.__dict__["efs"] = efs
        __props__.__dict__["elasticache"] = elasticache
        __props__.__dict__["elasticbeanstalk"] = elasticbeanstalk
        __props__.__dict__["elasticsearch"] = elasticsearch
        __props__.__dict__["elb"] = elb
        __props__.__dict__["emr"] = emr
        __props__.__dict__["health"] = health
        __props__.__dict__["iam"] = iam
        __props__.__dict__["iot"] = iot
        __props__.__dict__["kinesis"] = kinesis
        __props__.__dict__["kinesis_firehose"] = kinesis_firehose
        __props__.__dict__["lambda_"] = lambda_
        __props__.__dict__["linked_account_id"] = linked_account_id
        __props__.__dict__["rds"] = rds
        __props__.__dict__["redshift"] = redshift
        __props__.__dict__["route53"] = route53
        __props__.__dict__["s3"] = s3
        __props__.__dict__["ses"] = ses
        __props__.__dict__["sns"] = sns
        __props__.__dict__["sqs"] = sqs
        __props__.__dict__["trusted_advisor"] = trusted_advisor
        __props__.__dict__["vpc"] = vpc
        __props__.__dict__["x_ray"] = x_ray
        return AwsIntegrations(resource_name, opts=opts, __props__=__props__)

    @property
    @pulumi.getter(name="accountId")
    def account_id(self) -> pulumi.Output[str]:
        """
        The New Relic account ID to operate on.  This allows the user to override the `account_id` attribute set on the provider. Defaults to the environment variable `NEW_RELIC_ACCOUNT_ID`.
        """
        return pulumi.get(self, "account_id")

    @property
    @pulumi.getter
    def alb(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsAlb']]:
        """
        AWS ALB. See Integration blocks below for details.
        """
        return pulumi.get(self, "alb")

    @property
    @pulumi.getter(name="apiGateway")
    def api_gateway(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsApiGateway']]:
        """
        AWS API Gateway. See Integration blocks below for details.
        """
        return pulumi.get(self, "api_gateway")

    @property
    @pulumi.getter(name="autoScaling")
    def auto_scaling(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsAutoScaling']]:
        """
        AWS Auto Scaling. See Integration blocks below for details.
        """
        return pulumi.get(self, "auto_scaling")

    @property
    @pulumi.getter(name="awsAppSync")
    def aws_app_sync(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsAwsAppSync']]:
        """
        AWS AppSync. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_app_sync")

    @property
    @pulumi.getter(name="awsAthena")
    def aws_athena(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsAwsAthena']]:
        """
        AWS Athena. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_athena")

    @property
    @pulumi.getter(name="awsCognito")
    def aws_cognito(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsAwsCognito']]:
        """
        AWS Cognito. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_cognito")

    @property
    @pulumi.getter(name="awsConnect")
    def aws_connect(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsAwsConnect']]:
        """
        AWS Connect. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_connect")

    @property
    @pulumi.getter(name="awsDirectConnect")
    def aws_direct_connect(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsAwsDirectConnect']]:
        """
        AWS Direct Connect. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_direct_connect")

    @property
    @pulumi.getter(name="awsFsx")
    def aws_fsx(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsAwsFsx']]:
        """
        AWS FSx. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_fsx")

    @property
    @pulumi.getter(name="awsGlue")
    def aws_glue(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsAwsGlue']]:
        """
        AWS Glue. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_glue")

    @property
    @pulumi.getter(name="awsKinesisAnalytics")
    def aws_kinesis_analytics(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsAwsKinesisAnalytics']]:
        """
        AWS Kinesis Data Analytics. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_kinesis_analytics")

    @property
    @pulumi.getter(name="awsMediaConvert")
    def aws_media_convert(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsAwsMediaConvert']]:
        """
        AWS Media Convert. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_media_convert")

    @property
    @pulumi.getter(name="awsMediaPackageVod")
    def aws_media_package_vod(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsAwsMediaPackageVod']]:
        """
        AWS MediaPackage VOD. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_media_package_vod")

    @property
    @pulumi.getter(name="awsMq")
    def aws_mq(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsAwsMq']]:
        """
        AWS MQ. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_mq")

    @property
    @pulumi.getter(name="awsMsk")
    def aws_msk(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsAwsMsk']]:
        """
        Amazon Managed Kafka (MSK). See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_msk")

    @property
    @pulumi.getter(name="awsNeptune")
    def aws_neptune(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsAwsNeptune']]:
        """
        AWS Neptune. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_neptune")

    @property
    @pulumi.getter(name="awsQldb")
    def aws_qldb(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsAwsQldb']]:
        """
        Amazon QLDB. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_qldb")

    @property
    @pulumi.getter(name="awsRoute53resolver")
    def aws_route53resolver(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsAwsRoute53resolver']]:
        """
        AWS Route53 Resolver. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_route53resolver")

    @property
    @pulumi.getter(name="awsStates")
    def aws_states(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsAwsStates']]:
        """
        Aws states integration
        """
        return pulumi.get(self, "aws_states")

    @property
    @pulumi.getter(name="awsTransitGateway")
    def aws_transit_gateway(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsAwsTransitGateway']]:
        """
        Amazon Transit Gateway. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_transit_gateway")

    @property
    @pulumi.getter(name="awsWaf")
    def aws_waf(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsAwsWaf']]:
        """
        AWS WAF. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_waf")

    @property
    @pulumi.getter(name="awsWafv2")
    def aws_wafv2(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsAwsWafv2']]:
        """
        AWS WAF V2. See Integration blocks below for details.
        """
        return pulumi.get(self, "aws_wafv2")

    @property
    @pulumi.getter
    def billing(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsBilling']]:
        """
        AWS Billing. See Integration blocks below for details.
        """
        return pulumi.get(self, "billing")

    @property
    @pulumi.getter
    def cloudfront(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsCloudfront']]:
        """
        AWS CloudFront. See Integration blocks below for details.
        """
        return pulumi.get(self, "cloudfront")

    @property
    @pulumi.getter
    def cloudtrail(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsCloudtrail']]:
        """
        AWS CloudTrail. See Integration blocks below for details.
        """
        return pulumi.get(self, "cloudtrail")

    @property
    @pulumi.getter(name="docDb")
    def doc_db(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsDocDb']]:
        """
        AWS DocumentDB. See Integration blocks below for details.
        """
        return pulumi.get(self, "doc_db")

    @property
    @pulumi.getter
    def dynamodb(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsDynamodb']]:
        """
        Amazon DynamoDB. See Integration blocks below for details.
        """
        return pulumi.get(self, "dynamodb")

    @property
    @pulumi.getter
    def ebs(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsEbs']]:
        """
        Amazon EBS. See Integration blocks below for details.
        """
        return pulumi.get(self, "ebs")

    @property
    @pulumi.getter
    def ec2(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsEc2']]:
        """
        Amazon EC2. See Integration blocks below for details.
        """
        return pulumi.get(self, "ec2")

    @property
    @pulumi.getter
    def ecs(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsEcs']]:
        """
        Amazon ECS. See Integration blocks below for details.
        """
        return pulumi.get(self, "ecs")

    @property
    @pulumi.getter
    def efs(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsEfs']]:
        """
        Amazon EFS. See Integration blocks below for details.
        """
        return pulumi.get(self, "efs")

    @property
    @pulumi.getter
    def elasticache(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsElasticache']]:
        """
        AWS ElastiCache. See Integration blocks below for details.
        """
        return pulumi.get(self, "elasticache")

    @property
    @pulumi.getter
    def elasticbeanstalk(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsElasticbeanstalk']]:
        """
        AWS Elastic Beanstalk. See Integration blocks below for details.
        """
        return pulumi.get(self, "elasticbeanstalk")

    @property
    @pulumi.getter
    def elasticsearch(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsElasticsearch']]:
        """
        AWS ElasticSearch. See Integration blocks below for details.
        """
        return pulumi.get(self, "elasticsearch")

    @property
    @pulumi.getter
    def elb(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsElb']]:
        """
        AWS ELB (Classic). See Integration blocks below for details.
        """
        return pulumi.get(self, "elb")

    @property
    @pulumi.getter
    def emr(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsEmr']]:
        """
        AWS EMR. See Integration blocks below for details.
        """
        return pulumi.get(self, "emr")

    @property
    @pulumi.getter
    def health(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsHealth']]:
        """
        AWS Health. See Integration blocks below for details.
        """
        return pulumi.get(self, "health")

    @property
    @pulumi.getter
    def iam(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsIam']]:
        """
        AWS IAM. See Integration blocks below for details.
        """
        return pulumi.get(self, "iam")

    @property
    @pulumi.getter
    def iot(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsIot']]:
        """
        AWS IoT. See Integration blocks below for details.
        """
        return pulumi.get(self, "iot")

    @property
    @pulumi.getter
    def kinesis(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsKinesis']]:
        """
        AWS Kinesis. See Integration blocks below for details.

        The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 3600 seconds.
        """
        return pulumi.get(self, "kinesis")

    @property
    @pulumi.getter(name="kinesisFirehose")
    def kinesis_firehose(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsKinesisFirehose']]:
        """
        Amazon Kinesis Data Firehose. See Integration blocks below for details.
        """
        return pulumi.get(self, "kinesis_firehose")

    @property
    @pulumi.getter(name="lambda")
    def lambda_(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsLambda']]:
        """
        AWS Lambda. See Integration blocks below for details.
        """
        return pulumi.get(self, "lambda_")

    @property
    @pulumi.getter(name="linkedAccountId")
    def linked_account_id(self) -> pulumi.Output[str]:
        """
        The ID of the linked AWS account in New Relic.


        The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 300 seconds.
        """
        return pulumi.get(self, "linked_account_id")

    @property
    @pulumi.getter
    def rds(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsRds']]:
        """
        Amazon RDS. See Integration blocks below for details.
        """
        return pulumi.get(self, "rds")

    @property
    @pulumi.getter
    def redshift(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsRedshift']]:
        """
        Amazon Redshift. See Integration blocks below for details.
        """
        return pulumi.get(self, "redshift")

    @property
    @pulumi.getter
    def route53(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsRoute53']]:
        """
        Amazon Route 53. See Integration blocks below for details.
        """
        return pulumi.get(self, "route53")

    @property
    @pulumi.getter
    def s3(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsS3']]:
        """
        Amazon S3. See Integration blocks below for details.
        """
        return pulumi.get(self, "s3")

    @property
    @pulumi.getter
    def ses(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsSes']]:
        """
        Amazon SES. See Integration blocks below for details.
        """
        return pulumi.get(self, "ses")

    @property
    @pulumi.getter
    def sns(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsSns']]:
        """
        AWS SNS. See Integration blocks below for details.
        """
        return pulumi.get(self, "sns")

    @property
    @pulumi.getter
    def sqs(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsSqs']]:
        """
        AWS SQS. See Integration blocks below for details.
        """
        return pulumi.get(self, "sqs")

    @property
    @pulumi.getter(name="trustedAdvisor")
    def trusted_advisor(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsTrustedAdvisor']]:
        """
        AWS Trusted Advisor. See Integration blocks below for details.

        All other arguments are dependent on the services to be integrated, which have been listed in the collapsible section below. All of these are **optional** blocks that can be added in any required combination. **For details on arguments that can be used with each service, check out the `Integration` blocks section below.**
        """
        return pulumi.get(self, "trusted_advisor")

    @property
    @pulumi.getter
    def vpc(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsVpc']]:
        """
        VPC integration
        """
        return pulumi.get(self, "vpc")

    @property
    @pulumi.getter(name="xRay")
    def x_ray(self) -> pulumi.Output[Optional['outputs.AwsIntegrationsXRay']]:
        """
        AWS X-Ray. See Integration blocks below for details.
        x

        The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 900 seconds.
        """
        return pulumi.get(self, "x_ray")

