import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Use this resource to configure which GCP services New Relic polls as part of the **GCP Dimensional Metrics** integration. Each service is enabled by adding the corresponding block; omit a block to disable polling for that service. * * ## Prerequisite * * This resource requires a linked GCP account created with `newrelic.cloud.GcpLinkAccount` using its keyless (WIF) mode — set `useWorkloadIdentityFederation = true` along with `audience` and `serviceAccountEmail` on that resource. See the full GCP Dimensional Metrics guide for complete setup instructions including the required GCP Workload Identity Federation infrastructure. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as newrelic from "@pulumi/newrelic"; * * const example = new newrelic.cloud.GcpLinkAccount("example", { * accountId: newrelicAccountId, * name: "my-gcp-project", * projectId: "my-gcp-project-id", * useWorkloadIdentityFederation: true, * audience: "//iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/providers/PROVIDER_ID", * serviceAccountEmail: "newrelic-integration@my-gcp-project-id.iam.gserviceaccount.com", * }); * const exampleGcpDmIntegrations = new newrelic.cloud.GcpDmIntegrations("example", { * accountId: newrelicAccountId, * linkedAccountId: example.id, * aiPlatform: { * metricsPollingInterval: 300, * }, * apiGateway: { * metricsPollingInterval: 300, * }, * appEngine: { * metricsPollingInterval: 300, * }, * bigTable: { * metricsPollingInterval: 300, * }, * composer: { * metricsPollingInterval: 300, * }, * dataStore: { * metricsPollingInterval: 300, * }, * firebaseAuth: { * metricsPollingInterval: 300, * }, * firebaseDatabase: { * metricsPollingInterval: 300, * }, * firebaseHosting: { * metricsPollingInterval: 300, * }, * firebaseStorage: { * metricsPollingInterval: 300, * }, * firestore: { * metricsPollingInterval: 300, * }, * functions: { * metricsPollingInterval: 300, * }, * interconnect: { * metricsPollingInterval: 300, * }, * istio: { * metricsPollingInterval: 300, * }, * memCache: { * metricsPollingInterval: 300, * }, * memoryStore: { * metricsPollingInterval: 300, * }, * redis: { * metricsPollingInterval: 300, * }, * router: { * metricsPollingInterval: 300, * }, * run: { * metricsPollingInterval: 300, * }, * sql: { * metricsPollingInterval: 300, * }, * virtualMachines: { * metricsPollingInterval: 300, * }, * vpcAccess: { * metricsPollingInterval: 300, * }, * firebaseAppHosting: { * metricsPollingInterval: 300, * }, * firebaseVertexAi: { * metricsPollingInterval: 300, * }, * edgeContainer: { * metricsPollingInterval: 300, * }, * alloyDb: { * metricsPollingInterval: 60, * }, * bigQuery: { * metricsPollingInterval: 60, * }, * dataFlow: { * metricsPollingInterval: 60, * }, * dataProc: { * metricsPollingInterval: 60, * }, * kubernetes: { * metricsPollingInterval: 60, * }, * loadBalancing: { * metricsPollingInterval: 60, * }, * managedKafka: { * metricsPollingInterval: 60, * }, * pubSub: { * metricsPollingInterval: 60, * }, * spanner: { * metricsPollingInterval: 60, * }, * storage: { * metricsPollingInterval: 300, * }, * }); * ``` * * ## Import * * GCP DM integrations can be imported using the `id`: * * ```sh * $ pulumi import newrelic:cloud/gcpDmIntegrations:GcpDmIntegrations example * ``` */ export declare class GcpDmIntegrations extends pulumi.CustomResource { /** * Get an existing GcpDmIntegrations 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?: GcpDmIntegrationsState, opts?: pulumi.CustomResourceOptions): GcpDmIntegrations; /** * Returns true if the given object is an instance of GcpDmIntegrations. 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 GcpDmIntegrations; /** * The New Relic account ID to operate on. Defaults to the `accountId` set on the provider. */ readonly accountId: pulumi.Output; /** * GCP Vertex AI / AI Platform. */ readonly aiPlatform: pulumi.Output; /** * GCP AlloyDB. */ readonly alloyDb: pulumi.Output; /** * GCP API Gateway (Dimensional Metrics only). */ readonly apiGateway: pulumi.Output; /** * GCP App Engine. */ readonly appEngine: pulumi.Output; /** * GCP BigQuery. */ readonly bigQuery: pulumi.Output; /** * GCP Bigtable. */ readonly bigTable: pulumi.Output; /** * GCP Cloud Composer. */ readonly composer: pulumi.Output; /** * GCP Cloud Dataflow. */ readonly dataFlow: pulumi.Output; /** * GCP Cloud Dataproc. */ readonly dataProc: pulumi.Output; /** * GCP Cloud Datastore. */ readonly dataStore: pulumi.Output; /** * GCP Distributed Cloud Edge (Dimensional Metrics only; no entity synthesis). */ readonly edgeContainer: pulumi.Output; /** * Firebase App Hosting (Dimensional Metrics only; no entity synthesis). */ readonly firebaseAppHosting: pulumi.Output; /** * Firebase Authentication (Dimensional Metrics only). */ readonly firebaseAuth: pulumi.Output; /** * GCP Firebase Realtime Database. */ readonly firebaseDatabase: pulumi.Output; /** * GCP Firebase Hosting. */ readonly firebaseHosting: pulumi.Output; /** * GCP Firebase Storage. */ readonly firebaseStorage: pulumi.Output; /** * Firebase Vertex AI (Dimensional Metrics only; no entity synthesis). */ readonly firebaseVertexAi: pulumi.Output; /** * GCP Firestore. */ readonly firestore: pulumi.Output; /** * GCP Cloud Functions. */ readonly functions: pulumi.Output; /** * GCP Cloud Interconnect. */ readonly interconnect: pulumi.Output; /** * GCP Istio Service Mesh (Dimensional Metrics only; no entity synthesis). */ readonly istio: pulumi.Output; /** * GCP Google Kubernetes Engine (GKE). */ readonly kubernetes: pulumi.Output; /** * The ID of the linked GCP account created by `newrelic.cloud.GcpLinkAccount` (in keyless/WIF mode). */ readonly linkedAccountId: pulumi.Output; /** * GCP Cloud Load Balancing. */ readonly loadBalancing: pulumi.Output; /** * GCP Managed Service for Apache Kafka (Dimensional Metrics only). */ readonly managedKafka: pulumi.Output; /** * GCP Memcache. */ readonly memCache: pulumi.Output; /** * GCP Memorystore for Redis/Memcached (Dimensional Metrics only). */ readonly memoryStore: pulumi.Output; /** * GCP Cloud Pub/Sub. */ readonly pubSub: pulumi.Output; /** * GCP Memorystore for Redis (legacy). */ readonly redis: pulumi.Output; /** * GCP Cloud Router. */ readonly router: pulumi.Output; /** * GCP Cloud Run. */ readonly run: pulumi.Output; /** * GCP Cloud Spanner. */ readonly spanner: pulumi.Output; /** * GCP Cloud SQL. */ readonly sql: pulumi.Output; /** * GCP Cloud Storage. */ readonly storage: pulumi.Output; /** * GCP Compute Engine VMs. */ readonly virtualMachines: pulumi.Output; /** * GCP Serverless VPC Access. */ readonly vpcAccess: pulumi.Output; /** * Create a GcpDmIntegrations 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: GcpDmIntegrationsArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering GcpDmIntegrations resources. */ export interface GcpDmIntegrationsState { /** * The New Relic account ID to operate on. Defaults to the `accountId` set on the provider. */ accountId?: pulumi.Input; /** * GCP Vertex AI / AI Platform. */ aiPlatform?: pulumi.Input; /** * GCP AlloyDB. */ alloyDb?: pulumi.Input; /** * GCP API Gateway (Dimensional Metrics only). */ apiGateway?: pulumi.Input; /** * GCP App Engine. */ appEngine?: pulumi.Input; /** * GCP BigQuery. */ bigQuery?: pulumi.Input; /** * GCP Bigtable. */ bigTable?: pulumi.Input; /** * GCP Cloud Composer. */ composer?: pulumi.Input; /** * GCP Cloud Dataflow. */ dataFlow?: pulumi.Input; /** * GCP Cloud Dataproc. */ dataProc?: pulumi.Input; /** * GCP Cloud Datastore. */ dataStore?: pulumi.Input; /** * GCP Distributed Cloud Edge (Dimensional Metrics only; no entity synthesis). */ edgeContainer?: pulumi.Input; /** * Firebase App Hosting (Dimensional Metrics only; no entity synthesis). */ firebaseAppHosting?: pulumi.Input; /** * Firebase Authentication (Dimensional Metrics only). */ firebaseAuth?: pulumi.Input; /** * GCP Firebase Realtime Database. */ firebaseDatabase?: pulumi.Input; /** * GCP Firebase Hosting. */ firebaseHosting?: pulumi.Input; /** * GCP Firebase Storage. */ firebaseStorage?: pulumi.Input; /** * Firebase Vertex AI (Dimensional Metrics only; no entity synthesis). */ firebaseVertexAi?: pulumi.Input; /** * GCP Firestore. */ firestore?: pulumi.Input; /** * GCP Cloud Functions. */ functions?: pulumi.Input; /** * GCP Cloud Interconnect. */ interconnect?: pulumi.Input; /** * GCP Istio Service Mesh (Dimensional Metrics only; no entity synthesis). */ istio?: pulumi.Input; /** * GCP Google Kubernetes Engine (GKE). */ kubernetes?: pulumi.Input; /** * The ID of the linked GCP account created by `newrelic.cloud.GcpLinkAccount` (in keyless/WIF mode). */ linkedAccountId?: pulumi.Input; /** * GCP Cloud Load Balancing. */ loadBalancing?: pulumi.Input; /** * GCP Managed Service for Apache Kafka (Dimensional Metrics only). */ managedKafka?: pulumi.Input; /** * GCP Memcache. */ memCache?: pulumi.Input; /** * GCP Memorystore for Redis/Memcached (Dimensional Metrics only). */ memoryStore?: pulumi.Input; /** * GCP Cloud Pub/Sub. */ pubSub?: pulumi.Input; /** * GCP Memorystore for Redis (legacy). */ redis?: pulumi.Input; /** * GCP Cloud Router. */ router?: pulumi.Input; /** * GCP Cloud Run. */ run?: pulumi.Input; /** * GCP Cloud Spanner. */ spanner?: pulumi.Input; /** * GCP Cloud SQL. */ sql?: pulumi.Input; /** * GCP Cloud Storage. */ storage?: pulumi.Input; /** * GCP Compute Engine VMs. */ virtualMachines?: pulumi.Input; /** * GCP Serverless VPC Access. */ vpcAccess?: pulumi.Input; } /** * The set of arguments for constructing a GcpDmIntegrations resource. */ export interface GcpDmIntegrationsArgs { /** * The New Relic account ID to operate on. Defaults to the `accountId` set on the provider. */ accountId?: pulumi.Input; /** * GCP Vertex AI / AI Platform. */ aiPlatform?: pulumi.Input; /** * GCP AlloyDB. */ alloyDb?: pulumi.Input; /** * GCP API Gateway (Dimensional Metrics only). */ apiGateway?: pulumi.Input; /** * GCP App Engine. */ appEngine?: pulumi.Input; /** * GCP BigQuery. */ bigQuery?: pulumi.Input; /** * GCP Bigtable. */ bigTable?: pulumi.Input; /** * GCP Cloud Composer. */ composer?: pulumi.Input; /** * GCP Cloud Dataflow. */ dataFlow?: pulumi.Input; /** * GCP Cloud Dataproc. */ dataProc?: pulumi.Input; /** * GCP Cloud Datastore. */ dataStore?: pulumi.Input; /** * GCP Distributed Cloud Edge (Dimensional Metrics only; no entity synthesis). */ edgeContainer?: pulumi.Input; /** * Firebase App Hosting (Dimensional Metrics only; no entity synthesis). */ firebaseAppHosting?: pulumi.Input; /** * Firebase Authentication (Dimensional Metrics only). */ firebaseAuth?: pulumi.Input; /** * GCP Firebase Realtime Database. */ firebaseDatabase?: pulumi.Input; /** * GCP Firebase Hosting. */ firebaseHosting?: pulumi.Input; /** * GCP Firebase Storage. */ firebaseStorage?: pulumi.Input; /** * Firebase Vertex AI (Dimensional Metrics only; no entity synthesis). */ firebaseVertexAi?: pulumi.Input; /** * GCP Firestore. */ firestore?: pulumi.Input; /** * GCP Cloud Functions. */ functions?: pulumi.Input; /** * GCP Cloud Interconnect. */ interconnect?: pulumi.Input; /** * GCP Istio Service Mesh (Dimensional Metrics only; no entity synthesis). */ istio?: pulumi.Input; /** * GCP Google Kubernetes Engine (GKE). */ kubernetes?: pulumi.Input; /** * The ID of the linked GCP account created by `newrelic.cloud.GcpLinkAccount` (in keyless/WIF mode). */ linkedAccountId: pulumi.Input; /** * GCP Cloud Load Balancing. */ loadBalancing?: pulumi.Input; /** * GCP Managed Service for Apache Kafka (Dimensional Metrics only). */ managedKafka?: pulumi.Input; /** * GCP Memcache. */ memCache?: pulumi.Input; /** * GCP Memorystore for Redis/Memcached (Dimensional Metrics only). */ memoryStore?: pulumi.Input; /** * GCP Cloud Pub/Sub. */ pubSub?: pulumi.Input; /** * GCP Memorystore for Redis (legacy). */ redis?: pulumi.Input; /** * GCP Cloud Router. */ router?: pulumi.Input; /** * GCP Cloud Run. */ run?: pulumi.Input; /** * GCP Cloud Spanner. */ spanner?: pulumi.Input; /** * GCP Cloud SQL. */ sql?: pulumi.Input; /** * GCP Cloud Storage. */ storage?: pulumi.Input; /** * GCP Compute Engine VMs. */ virtualMachines?: pulumi.Input; /** * GCP Serverless VPC Access. */ vpcAccess?: pulumi.Input; } //# sourceMappingURL=gcpDmIntegrations.d.ts.map