import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Use this resource to integrate GCP services with New Relic. * * ## Prerequisite * * Setup is required for this resource to work properly. This resource assumes you have linked a GCP account to New Relic and configured it to pull metrics from GCP. * * New Relic doesn't automatically receive metrics from GCP services, so this resource can be used to configure integrations to those services. * * ## Example Usage * * Leave an integration block empty to use its default configuration. You can also use the full example, including the GCP set up, found in our guides. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as newrelic from "@pulumi/newrelic"; * * const foo = new newrelic.cloud.GcpLinkAccount("foo", { * name: "example", * projectId: "", * }); * const foo1 = new newrelic.cloud.GcpIntegrations("foo1", { * linkedAccountId: foo.id, * appEngine: { * metricsPollingInterval: 300, * }, * bigQuery: { * metricsPollingInterval: 300, * fetchTags: true, * }, * bigTable: { * metricsPollingInterval: 300, * }, * composer: { * metricsPollingInterval: 300, * }, * dataFlow: { * metricsPollingInterval: 300, * }, * dataProc: { * metricsPollingInterval: 300, * }, * dataStore: { * metricsPollingInterval: 300, * }, * fireBaseDatabase: { * metricsPollingInterval: 300, * }, * fireBaseHosting: { * metricsPollingInterval: 300, * }, * fireBaseStorage: { * metricsPollingInterval: 300, * }, * fireStore: { * metricsPollingInterval: 300, * }, * functions: { * metricsPollingInterval: 300, * }, * interconnect: { * metricsPollingInterval: 300, * }, * kubernetes: { * metricsPollingInterval: 300, * }, * loadBalancing: { * metricsPollingInterval: 300, * }, * memCache: { * metricsPollingInterval: 300, * }, * pubSub: { * metricsPollingInterval: 300, * fetchTags: true, * }, * redis: { * metricsPollingInterval: 300, * }, * router: { * metricsPollingInterval: 300, * }, * run: { * metricsPollingInterval: 300, * }, * spanner: { * metricsPollingInterval: 300, * fetchTags: true, * }, * sql: { * metricsPollingInterval: 300, * }, * storage: { * metricsPollingInterval: 300, * fetchTags: true, * }, * virtualMachines: { * metricsPollingInterval: 300, * }, * vpcAccess: { * metricsPollingInterval: 300, * }, * }); * ``` * * ## Import * * Linked GCP account integrations can be imported using the `id`, e.g. * * ```sh * $ pulumi import newrelic:cloud/gcpIntegrations:GcpIntegrations foo * ``` */ export declare class GcpIntegrations extends pulumi.CustomResource { /** * Get an existing GcpIntegrations 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?: GcpIntegrationsState, opts?: pulumi.CustomResourceOptions): GcpIntegrations; /** * Returns true if the given object is an instance of GcpIntegrations. 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 GcpIntegrations; /** * 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; /** * Alloy DB integration. See Integration blocks below for details. */ readonly alloyDb: pulumi.Output; /** * App Engine integration. See Integration blocks below for details. */ readonly appEngine: pulumi.Output; /** * Biq Query integration. See Integration blocks below for details. */ readonly bigQuery: pulumi.Output; /** * Big Table. See Integration blocks below for details. */ readonly bigTable: pulumi.Output; /** * Composer integration. See Integration blocks below for details. */ readonly composer: pulumi.Output; /** * Data Flow integration. See Integration blocks below for details. */ readonly dataFlow: pulumi.Output; /** * Data Proc integration. See Integration blocks below for details. */ readonly dataProc: pulumi.Output; /** * Data Store integration. See Integration blocks below for details. */ readonly dataStore: pulumi.Output; /** * Fire Base Database integration. See Integration blocks below for details. */ readonly fireBaseDatabase: pulumi.Output; /** * Fire Base Hosting integration. See Integration blocks below for details. */ readonly fireBaseHosting: pulumi.Output; /** * Fire Base Storage integration. See Integration blocks below for details. */ readonly fireBaseStorage: pulumi.Output; /** * Fire Store integration. See Integration blocks below for details. */ readonly fireStore: pulumi.Output; /** * Functions integration. See Integration blocks below for details. */ readonly functions: pulumi.Output; /** * Interconnect integration. See Integration blocks below for details. */ readonly interconnect: pulumi.Output; /** * Kubernetes integration. See Integration blocks below for details. */ readonly kubernetes: pulumi.Output; /** * The ID of the linked GCP account in New Relic. * * The following arguments/integration blocks are intended to be used with a minimum `metricsPollingInterval` of 300 seconds. */ readonly linkedAccountId: pulumi.Output; /** * Load Balancing integration. See Integration blocks below for details. */ readonly loadBalancing: pulumi.Output; /** * Mem cache integration. See Integration blocks below for details. */ readonly memCache: pulumi.Output; /** * Pub/Sub integration. See Integration blocks below for details. */ readonly pubSub: pulumi.Output; /** * Redis integration. See Integration blocks below for details. */ readonly redis: pulumi.Output; /** * Router integration. See Integration blocks below for details. */ readonly router: pulumi.Output; /** * Run integration. See Integration blocks below for details. */ readonly run: pulumi.Output; /** * Spanner integration. See Integration blocks below for details. */ readonly spanner: pulumi.Output; /** * SQL integration. See Integration blocks below for details. */ readonly sql: pulumi.Output; /** * Storage integration. See Integration blocks below for details. */ readonly storage: pulumi.Output; /** * Virtual machines integration. See Integration blocks below for details. */ readonly virtualMachines: pulumi.Output; /** * VPC Access integration. See Integration blocks below for details. */ readonly vpcAccess: pulumi.Output; /** * Create a GcpIntegrations 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: GcpIntegrationsArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering GcpIntegrations resources. */ export interface GcpIntegrationsState { /** * 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; /** * Alloy DB integration. See Integration blocks below for details. */ alloyDb?: pulumi.Input; /** * App Engine integration. See Integration blocks below for details. */ appEngine?: pulumi.Input; /** * Biq Query integration. See Integration blocks below for details. */ bigQuery?: pulumi.Input; /** * Big Table. See Integration blocks below for details. */ bigTable?: pulumi.Input; /** * Composer integration. See Integration blocks below for details. */ composer?: pulumi.Input; /** * Data Flow integration. See Integration blocks below for details. */ dataFlow?: pulumi.Input; /** * Data Proc integration. See Integration blocks below for details. */ dataProc?: pulumi.Input; /** * Data Store integration. See Integration blocks below for details. */ dataStore?: pulumi.Input; /** * Fire Base Database integration. See Integration blocks below for details. */ fireBaseDatabase?: pulumi.Input; /** * Fire Base Hosting integration. See Integration blocks below for details. */ fireBaseHosting?: pulumi.Input; /** * Fire Base Storage integration. See Integration blocks below for details. */ fireBaseStorage?: pulumi.Input; /** * Fire Store integration. See Integration blocks below for details. */ fireStore?: pulumi.Input; /** * Functions integration. See Integration blocks below for details. */ functions?: pulumi.Input; /** * Interconnect integration. See Integration blocks below for details. */ interconnect?: pulumi.Input; /** * Kubernetes integration. See Integration blocks below for details. */ kubernetes?: pulumi.Input; /** * The ID of the linked GCP account in New Relic. * * The following arguments/integration blocks are intended to be used with a minimum `metricsPollingInterval` of 300 seconds. */ linkedAccountId?: pulumi.Input; /** * Load Balancing integration. See Integration blocks below for details. */ loadBalancing?: pulumi.Input; /** * Mem cache integration. See Integration blocks below for details. */ memCache?: pulumi.Input; /** * Pub/Sub integration. See Integration blocks below for details. */ pubSub?: pulumi.Input; /** * Redis integration. See Integration blocks below for details. */ redis?: pulumi.Input; /** * Router integration. See Integration blocks below for details. */ router?: pulumi.Input; /** * Run integration. See Integration blocks below for details. */ run?: pulumi.Input; /** * Spanner integration. See Integration blocks below for details. */ spanner?: pulumi.Input; /** * SQL integration. See Integration blocks below for details. */ sql?: pulumi.Input; /** * Storage integration. See Integration blocks below for details. */ storage?: pulumi.Input; /** * Virtual machines integration. See Integration blocks below for details. */ virtualMachines?: pulumi.Input; /** * VPC Access integration. See Integration blocks below for details. */ vpcAccess?: pulumi.Input; } /** * The set of arguments for constructing a GcpIntegrations resource. */ export interface GcpIntegrationsArgs { /** * 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; /** * Alloy DB integration. See Integration blocks below for details. */ alloyDb?: pulumi.Input; /** * App Engine integration. See Integration blocks below for details. */ appEngine?: pulumi.Input; /** * Biq Query integration. See Integration blocks below for details. */ bigQuery?: pulumi.Input; /** * Big Table. See Integration blocks below for details. */ bigTable?: pulumi.Input; /** * Composer integration. See Integration blocks below for details. */ composer?: pulumi.Input; /** * Data Flow integration. See Integration blocks below for details. */ dataFlow?: pulumi.Input; /** * Data Proc integration. See Integration blocks below for details. */ dataProc?: pulumi.Input; /** * Data Store integration. See Integration blocks below for details. */ dataStore?: pulumi.Input; /** * Fire Base Database integration. See Integration blocks below for details. */ fireBaseDatabase?: pulumi.Input; /** * Fire Base Hosting integration. See Integration blocks below for details. */ fireBaseHosting?: pulumi.Input; /** * Fire Base Storage integration. See Integration blocks below for details. */ fireBaseStorage?: pulumi.Input; /** * Fire Store integration. See Integration blocks below for details. */ fireStore?: pulumi.Input; /** * Functions integration. See Integration blocks below for details. */ functions?: pulumi.Input; /** * Interconnect integration. See Integration blocks below for details. */ interconnect?: pulumi.Input; /** * Kubernetes integration. See Integration blocks below for details. */ kubernetes?: pulumi.Input; /** * The ID of the linked GCP account in New Relic. * * The following arguments/integration blocks are intended to be used with a minimum `metricsPollingInterval` of 300 seconds. */ linkedAccountId: pulumi.Input; /** * Load Balancing integration. See Integration blocks below for details. */ loadBalancing?: pulumi.Input; /** * Mem cache integration. See Integration blocks below for details. */ memCache?: pulumi.Input; /** * Pub/Sub integration. See Integration blocks below for details. */ pubSub?: pulumi.Input; /** * Redis integration. See Integration blocks below for details. */ redis?: pulumi.Input; /** * Router integration. See Integration blocks below for details. */ router?: pulumi.Input; /** * Run integration. See Integration blocks below for details. */ run?: pulumi.Input; /** * Spanner integration. See Integration blocks below for details. */ spanner?: pulumi.Input; /** * SQL integration. See Integration blocks below for details. */ sql?: pulumi.Input; /** * Storage integration. See Integration blocks below for details. */ storage?: pulumi.Input; /** * Virtual machines integration. See Integration blocks below for details. */ virtualMachines?: pulumi.Input; /** * VPC Access integration. See Integration blocks below for details. */ vpcAccess?: pulumi.Input; } //# sourceMappingURL=gcpIntegrations.d.ts.map