import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Use this resource to integrate Azure services with New Relic. * * ## Prerequisite * * To start receiving Azure data with New Relic Azure integrations, connect your Azure account to New Relic infrastructure monitoring. If you don't have one already, create a New Relic account. It's free, forever. * * Setup is required for this resource to work properly. This resource assumes you have linked an Azure account to New Relic. * * You can find instructions on how to set up Azure on [our documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/get-started/activate-azure-integrations/). * * ## Example Usage * * Leave an integration block empty to use its default configuration. You can also use the full example, including the Azure set up, found in our guides. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as newrelic from "@pulumi/newrelic"; * * const foo = new newrelic.cloud.AzureLinkAccount("foo", { * accountId: "The New Relic account ID where you want to link the Azure account", * applicationId: "ID of the application", * clientSecret: "Secret value of client's Azure account", * subscriptionId: "Subscription ID of Azure", * tenantId: "Tenant ID of the Azure", * name: "Name of the linked account", * }); * const fooAzureIntegrations = new newrelic.cloud.AzureIntegrations("foo", { * linkedAccountId: foo.id, * accountId: "The New Relic account ID", * apiManagement: { * metricsPollingInterval: 300, * resourceGroups: ["resource_groups"], * }, * appGateway: { * metricsPollingInterval: 300, * resourceGroups: ["resource_groups"], * }, * appService: { * metricsPollingInterval: 300, * resourceGroups: ["resource_groups"], * }, * containers: { * metricsPollingInterval: 300, * resourceGroups: ["resource_groups"], * }, * cosmosDb: { * metricsPollingInterval: 300, * resourceGroups: ["resource_groups"], * }, * costManagement: { * metricsPollingInterval: 3600, * tagKeys: ["tag_keys"], * }, * dataFactory: { * metricsPollingInterval: 300, * resourceGroups: ["resource_groups"], * }, * eventHub: { * metricsPollingInterval: 300, * resourceGroups: ["resource_groups"], * }, * expressRoute: { * metricsPollingInterval: 300, * resourceGroups: ["resource_groups"], * }, * firewalls: { * metricsPollingInterval: 300, * resourceGroups: ["resource_groups"], * }, * frontDoor: { * metricsPollingInterval: 300, * resourceGroups: ["resource_groups"], * }, * functions: { * metricsPollingInterval: 300, * resourceGroups: ["resource_groups"], * }, * keyVault: { * metricsPollingInterval: 300, * resourceGroups: ["resource_groups"], * }, * loadBalancer: { * metricsPollingInterval: 300, * resourceGroups: ["resource_groups"], * }, * logicApps: { * metricsPollingInterval: 300, * resourceGroups: ["resource_groups"], * }, * machineLearning: { * metricsPollingInterval: 300, * resourceGroups: ["resource_groups"], * }, * mariaDb: { * metricsPollingInterval: 3600, * resourceGroups: ["resource_groups"], * }, * monitor: { * metricsPollingInterval: 60, * resourceGroups: ["resource_groups"], * includeTags: ["env:production"], * excludeTags: [ * "env:staging", * "env:testing", * ], * enabled: true, * resourceTypes: ["microsoft.datashare/accounts"], * }, * mysql: { * metricsPollingInterval: 3600, * resourceGroups: ["resource_groups"], * }, * mysqlFlexible: { * metricsPollingInterval: 3600, * resourceGroups: ["resource_groups"], * }, * postgresql: { * metricsPollingInterval: 3600, * resourceGroups: ["resource_groups"], * }, * postgresqlFlexible: { * metricsPollingInterval: 3600, * resourceGroups: ["resource_groups"], * }, * powerBiDedicated: { * metricsPollingInterval: 300, * resourceGroups: ["resource_groups"], * }, * redisCache: { * metricsPollingInterval: 300, * resourceGroups: ["resource_groups"], * }, * serviceBus: { * metricsPollingInterval: 300, * resourceGroups: ["resource_groups"], * }, * sql: { * metricsPollingInterval: 300, * resourceGroups: ["resource_groups"], * }, * sqlManaged: { * metricsPollingInterval: 300, * resourceGroups: ["resource_groups"], * }, * storage: { * metricsPollingInterval: 1800, * resourceGroups: ["resource_groups"], * }, * virtualMachine: { * metricsPollingInterval: 300, * resourceGroups: ["resource_groups"], * }, * virtualNetworks: { * metricsPollingInterval: 300, * resourceGroups: ["resource_groups"], * }, * vms: { * metricsPollingInterval: 300, * resourceGroups: ["resource_groups"], * }, * vpnGateway: { * metricsPollingInterval: 300, * resourceGroups: ["resource_groups"], * }, * }); * ``` * * ## Import * * Linked Azure accounts can be imported using `id`, you can find the `id` of existing Azure linked accounts in Azure dashboard under Infrastructure in NewRelic. * * ```sh * $ pulumi import newrelic:cloud/azureIntegrations:AzureIntegrations foo * * ``` */ export declare class AzureIntegrations extends pulumi.CustomResource { /** * Get an existing AzureIntegrations resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: AzureIntegrationsState, opts?: pulumi.CustomResourceOptions): AzureIntegrations; /** * Returns true if the given object is an instance of AzureIntegrations. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is AzureIntegrations; /** * The New Relic account ID to operate on. This allows the user to override the `accountId` attribute set on the provider. Defaults to the environment variable `NEW_RELIC_ACCOUNT_ID`. */ readonly accountId: pulumi.Output; /** * Azure API Management. See Integration blocks below for details. */ readonly apiManagement: pulumi.Output; /** * Azure App Gateway. See Integration blocks below for details. */ readonly appGateway: pulumi.Output; /** * Azure App Service. See Integration blocks below for details. */ readonly appService: pulumi.Output; /** * Azure Auto Discovery */ readonly autoDiscovery: pulumi.Output; /** * Azure Containers. See Integration blocks below for details. */ readonly containers: pulumi.Output; /** * Azure CosmosDB. See Integration blocks below for details. */ readonly cosmosDb: pulumi.Output; /** * Azure Cost Management. See Integration blocks below for details. */ readonly costManagement: pulumi.Output; /** * Azure Data Factory. See Integration blocks below for details. */ readonly dataFactory: pulumi.Output; /** * Azure Event Hub. See Integration blocks below for details. */ readonly eventHub: pulumi.Output; /** * Azure Express Route. See Integration blocks below for details. */ readonly expressRoute: pulumi.Output; /** * Azure Firewalls. See Integration blocks below for details. */ readonly firewalls: pulumi.Output; /** * Azure Front Door. See Integration blocks below for details. */ readonly frontDoor: pulumi.Output; /** * Azure Functions. See Integration blocks below for details. */ readonly functions: pulumi.Output; /** * Azure Key Vault. See Integration blocks below for details. */ readonly keyVault: pulumi.Output; /** * The ID of the linked Azure account in New Relic. * * The following arguments/integration blocks are intended to be used with a minimum `metricsPollingInterval` of 60 seconds. */ readonly linkedAccountId: pulumi.Output; /** * Azure Load Balancer. See Integration blocks below for details. */ readonly loadBalancer: pulumi.Output; /** * Azure Logic Apps. See Integration blocks below for details. */ readonly logicApps: pulumi.Output; /** * Azure Machine Learning. See Integration blocks below for details. */ readonly machineLearning: pulumi.Output; /** * Azure MariaDB. See Integration blocks below for details. */ readonly mariaDb: pulumi.Output; /** * Azure Monitor. See Integration blocks below for details. * * The following arguments/integration blocks are intended to be used with a minimum `metricsPollingInterval` of 300 seconds. */ readonly monitor: pulumi.Output; /** * Azure MySQL. See Integration blocks below for details. */ readonly mysql: pulumi.Output; /** * Azure MySQL Flexible Server. See Integration blocks below for details. */ readonly mysqlFlexible: pulumi.Output; /** * Azure PostgreSQL. See Integration blocks below for details. */ readonly postgresql: pulumi.Output; /** * Azure PostgreSQL Flexible Server. See Integration blocks below for details. */ readonly postgresqlFlexible: pulumi.Output; /** * Azure Power BI Dedicated. See Integration blocks below for details. */ readonly powerBiDedicated: pulumi.Output; /** * Azure Redis Cache. See Integration blocks below for details. */ readonly redisCache: pulumi.Output; /** * Azure Service Bus. See Integration blocks below for details. */ readonly serviceBus: pulumi.Output; /** * Azure SQL. See Integration blocks below for details. */ readonly sql: pulumi.Output; /** * Azure SQL Managed. See Integration blocks below for details. */ readonly sqlManaged: pulumi.Output; /** * for Azure Storage. See Integration blocks below for details. * * The following arguments/integration blocks are intended to be used with a minimum `metricsPollingInterval` of 3600 seconds. */ readonly storage: pulumi.Output; /** * Azure Virtual machine. See Integration blocks below for details. */ readonly virtualMachine: pulumi.Output; /** * for Azure Virtual networks. See Integration blocks below for details. */ readonly virtualNetworks: pulumi.Output; /** * Azure VMs. See Integration blocks below for details. */ readonly vms: pulumi.Output; /** * Azure VPN Gateway. See Integration blocks below for details. * * The following arguments/integration blocks are intended to be used with a minimum `metricsPollingInterval` of 1800 seconds. */ readonly vpnGateway: pulumi.Output; /** * Create a AzureIntegrations resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: AzureIntegrationsArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering AzureIntegrations resources. */ export interface AzureIntegrationsState { /** * The New Relic account ID to operate on. This allows the user to override the `accountId` attribute set on the provider. Defaults to the environment variable `NEW_RELIC_ACCOUNT_ID`. */ accountId?: pulumi.Input; /** * Azure API Management. See Integration blocks below for details. */ apiManagement?: pulumi.Input; /** * Azure App Gateway. See Integration blocks below for details. */ appGateway?: pulumi.Input; /** * Azure App Service. See Integration blocks below for details. */ appService?: pulumi.Input; /** * Azure Auto Discovery */ autoDiscovery?: pulumi.Input; /** * Azure Containers. See Integration blocks below for details. */ containers?: pulumi.Input; /** * Azure CosmosDB. See Integration blocks below for details. */ cosmosDb?: pulumi.Input; /** * Azure Cost Management. See Integration blocks below for details. */ costManagement?: pulumi.Input; /** * Azure Data Factory. See Integration blocks below for details. */ dataFactory?: pulumi.Input; /** * Azure Event Hub. See Integration blocks below for details. */ eventHub?: pulumi.Input; /** * Azure Express Route. See Integration blocks below for details. */ expressRoute?: pulumi.Input; /** * Azure Firewalls. See Integration blocks below for details. */ firewalls?: pulumi.Input; /** * Azure Front Door. See Integration blocks below for details. */ frontDoor?: pulumi.Input; /** * Azure Functions. See Integration blocks below for details. */ functions?: pulumi.Input; /** * Azure Key Vault. See Integration blocks below for details. */ keyVault?: pulumi.Input; /** * The ID of the linked Azure account in New Relic. * * The following arguments/integration blocks are intended to be used with a minimum `metricsPollingInterval` of 60 seconds. */ linkedAccountId?: pulumi.Input; /** * Azure Load Balancer. See Integration blocks below for details. */ loadBalancer?: pulumi.Input; /** * Azure Logic Apps. See Integration blocks below for details. */ logicApps?: pulumi.Input; /** * Azure Machine Learning. See Integration blocks below for details. */ machineLearning?: pulumi.Input; /** * Azure MariaDB. See Integration blocks below for details. */ mariaDb?: pulumi.Input; /** * Azure Monitor. See Integration blocks below for details. * * The following arguments/integration blocks are intended to be used with a minimum `metricsPollingInterval` of 300 seconds. */ monitor?: pulumi.Input; /** * Azure MySQL. See Integration blocks below for details. */ mysql?: pulumi.Input; /** * Azure MySQL Flexible Server. See Integration blocks below for details. */ mysqlFlexible?: pulumi.Input; /** * Azure PostgreSQL. See Integration blocks below for details. */ postgresql?: pulumi.Input; /** * Azure PostgreSQL Flexible Server. See Integration blocks below for details. */ postgresqlFlexible?: pulumi.Input; /** * Azure Power BI Dedicated. See Integration blocks below for details. */ powerBiDedicated?: pulumi.Input; /** * Azure Redis Cache. See Integration blocks below for details. */ redisCache?: pulumi.Input; /** * Azure Service Bus. See Integration blocks below for details. */ serviceBus?: pulumi.Input; /** * Azure SQL. See Integration blocks below for details. */ sql?: pulumi.Input; /** * Azure SQL Managed. See Integration blocks below for details. */ sqlManaged?: pulumi.Input; /** * for Azure Storage. See Integration blocks below for details. * * The following arguments/integration blocks are intended to be used with a minimum `metricsPollingInterval` of 3600 seconds. */ storage?: pulumi.Input; /** * Azure Virtual machine. See Integration blocks below for details. */ virtualMachine?: pulumi.Input; /** * for Azure Virtual networks. See Integration blocks below for details. */ virtualNetworks?: pulumi.Input; /** * Azure VMs. See Integration blocks below for details. */ vms?: pulumi.Input; /** * Azure VPN Gateway. See Integration blocks below for details. * * The following arguments/integration blocks are intended to be used with a minimum `metricsPollingInterval` of 1800 seconds. */ vpnGateway?: pulumi.Input; } /** * The set of arguments for constructing a AzureIntegrations resource. */ export interface AzureIntegrationsArgs { /** * The New Relic account ID to operate on. This allows the user to override the `accountId` attribute set on the provider. Defaults to the environment variable `NEW_RELIC_ACCOUNT_ID`. */ accountId?: pulumi.Input; /** * Azure API Management. See Integration blocks below for details. */ apiManagement?: pulumi.Input; /** * Azure App Gateway. See Integration blocks below for details. */ appGateway?: pulumi.Input; /** * Azure App Service. See Integration blocks below for details. */ appService?: pulumi.Input; /** * Azure Auto Discovery */ autoDiscovery?: pulumi.Input; /** * Azure Containers. See Integration blocks below for details. */ containers?: pulumi.Input; /** * Azure CosmosDB. See Integration blocks below for details. */ cosmosDb?: pulumi.Input; /** * Azure Cost Management. See Integration blocks below for details. */ costManagement?: pulumi.Input; /** * Azure Data Factory. See Integration blocks below for details. */ dataFactory?: pulumi.Input; /** * Azure Event Hub. See Integration blocks below for details. */ eventHub?: pulumi.Input; /** * Azure Express Route. See Integration blocks below for details. */ expressRoute?: pulumi.Input; /** * Azure Firewalls. See Integration blocks below for details. */ firewalls?: pulumi.Input; /** * Azure Front Door. See Integration blocks below for details. */ frontDoor?: pulumi.Input; /** * Azure Functions. See Integration blocks below for details. */ functions?: pulumi.Input; /** * Azure Key Vault. See Integration blocks below for details. */ keyVault?: pulumi.Input; /** * The ID of the linked Azure account in New Relic. * * The following arguments/integration blocks are intended to be used with a minimum `metricsPollingInterval` of 60 seconds. */ linkedAccountId: pulumi.Input; /** * Azure Load Balancer. See Integration blocks below for details. */ loadBalancer?: pulumi.Input; /** * Azure Logic Apps. See Integration blocks below for details. */ logicApps?: pulumi.Input; /** * Azure Machine Learning. See Integration blocks below for details. */ machineLearning?: pulumi.Input; /** * Azure MariaDB. See Integration blocks below for details. */ mariaDb?: pulumi.Input; /** * Azure Monitor. See Integration blocks below for details. * * The following arguments/integration blocks are intended to be used with a minimum `metricsPollingInterval` of 300 seconds. */ monitor?: pulumi.Input; /** * Azure MySQL. See Integration blocks below for details. */ mysql?: pulumi.Input; /** * Azure MySQL Flexible Server. See Integration blocks below for details. */ mysqlFlexible?: pulumi.Input; /** * Azure PostgreSQL. See Integration blocks below for details. */ postgresql?: pulumi.Input; /** * Azure PostgreSQL Flexible Server. See Integration blocks below for details. */ postgresqlFlexible?: pulumi.Input; /** * Azure Power BI Dedicated. See Integration blocks below for details. */ powerBiDedicated?: pulumi.Input; /** * Azure Redis Cache. See Integration blocks below for details. */ redisCache?: pulumi.Input; /** * Azure Service Bus. See Integration blocks below for details. */ serviceBus?: pulumi.Input; /** * Azure SQL. See Integration blocks below for details. */ sql?: pulumi.Input; /** * Azure SQL Managed. See Integration blocks below for details. */ sqlManaged?: pulumi.Input; /** * for Azure Storage. See Integration blocks below for details. * * The following arguments/integration blocks are intended to be used with a minimum `metricsPollingInterval` of 3600 seconds. */ storage?: pulumi.Input; /** * Azure Virtual machine. See Integration blocks below for details. */ virtualMachine?: pulumi.Input; /** * for Azure Virtual networks. See Integration blocks below for details. */ virtualNetworks?: pulumi.Input; /** * Azure VMs. See Integration blocks below for details. */ vms?: pulumi.Input; /** * Azure VPN Gateway. See Integration blocks below for details. * * The following arguments/integration blocks are intended to be used with a minimum `metricsPollingInterval` of 1800 seconds. */ vpnGateway?: pulumi.Input; } //# sourceMappingURL=azureIntegrations.d.ts.map