signalfx logo
SignalFx v5.7.0, Jan 18 23

signalfx.gcp.Integration

SignalFx GCP Integration

NOTE When managing integrations use a session token for an administrator to authenticate the SignalFx provider. See Operations that require a session token for an administrator. Otherwise you’ll receive a 4xx error.

Example Usage

using System.Collections.Generic;
using System.IO;
using Pulumi;
using SignalFx = Pulumi.SignalFx;

return await Deployment.RunAsync(() => 
{
    var gcpMyteam = new SignalFx.Gcp.Integration("gcpMyteam", new()
    {
        Enabled = true,
        PollRate = 300,
        ProjectServiceKeys = new[]
        {
            new SignalFx.Gcp.Inputs.IntegrationProjectServiceKeyArgs
            {
                ProjectId = "gcp_project_id_1",
                ProjectKey = File.ReadAllText("/path/to/gcp_credentials_1.json"),
            },
            new SignalFx.Gcp.Inputs.IntegrationProjectServiceKeyArgs
            {
                ProjectId = "gcp_project_id_2",
                ProjectKey = File.ReadAllText("/path/to/gcp_credentials_2.json"),
            },
        },
        Services = new[]
        {
            "compute",
        },
    });

});
package main

import (
	"io/ioutil"

	"github.com/pulumi/pulumi-signalfx/sdk/v5/go/signalfx/gcp"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func readFileOrPanic(path string) pulumi.StringPtrInput {
	data, err := ioutil.ReadFile(path)
	if err != nil {
		panic(err.Error())
	}
	return pulumi.String(string(data))
}

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := gcp.NewIntegration(ctx, "gcpMyteam", &gcp.IntegrationArgs{
			Enabled:  pulumi.Bool(true),
			PollRate: pulumi.Int(300),
			ProjectServiceKeys: gcp.IntegrationProjectServiceKeyArray{
				&gcp.IntegrationProjectServiceKeyArgs{
					ProjectId:  pulumi.String("gcp_project_id_1"),
					ProjectKey: readFileOrPanic("/path/to/gcp_credentials_1.json"),
				},
				&gcp.IntegrationProjectServiceKeyArgs{
					ProjectId:  pulumi.String("gcp_project_id_2"),
					ProjectKey: readFileOrPanic("/path/to/gcp_credentials_2.json"),
				},
			},
			Services: pulumi.StringArray{
				pulumi.String("compute"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.signalfx.gcp.Integration;
import com.pulumi.signalfx.gcp.IntegrationArgs;
import com.pulumi.signalfx.gcp.inputs.IntegrationProjectServiceKeyArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var gcpMyteam = new Integration("gcpMyteam", IntegrationArgs.builder()        
            .enabled(true)
            .pollRate(300)
            .projectServiceKeys(            
                IntegrationProjectServiceKeyArgs.builder()
                    .projectId("gcp_project_id_1")
                    .projectKey(Files.readString(Paths.get("/path/to/gcp_credentials_1.json")))
                    .build(),
                IntegrationProjectServiceKeyArgs.builder()
                    .projectId("gcp_project_id_2")
                    .projectKey(Files.readString(Paths.get("/path/to/gcp_credentials_2.json")))
                    .build())
            .services("compute")
            .build());

    }
}
import pulumi
import pulumi_signalfx as signalfx

gcp_myteam = signalfx.gcp.Integration("gcpMyteam",
    enabled=True,
    poll_rate=300,
    project_service_keys=[
        signalfx.gcp.IntegrationProjectServiceKeyArgs(
            project_id="gcp_project_id_1",
            project_key=(lambda path: open(path).read())("/path/to/gcp_credentials_1.json"),
        ),
        signalfx.gcp.IntegrationProjectServiceKeyArgs(
            project_id="gcp_project_id_2",
            project_key=(lambda path: open(path).read())("/path/to/gcp_credentials_2.json"),
        ),
    ],
    services=["compute"])
import * as pulumi from "@pulumi/pulumi";
import * as fs from "fs";
import * as signalfx from "@pulumi/signalfx";

const gcpMyteam = new signalfx.gcp.Integration("gcpMyteam", {
    enabled: true,
    pollRate: 300,
    projectServiceKeys: [
        {
            projectId: "gcp_project_id_1",
            projectKey: fs.readFileSync("/path/to/gcp_credentials_1.json"),
        },
        {
            projectId: "gcp_project_id_2",
            projectKey: fs.readFileSync("/path/to/gcp_credentials_2.json"),
        },
    ],
    services: ["compute"],
});
resources:
  gcpMyteam:
    type: signalfx:gcp:Integration
    properties:
      enabled: true
      pollRate: 300
      projectServiceKeys:
        - projectId: gcp_project_id_1
          projectKey:
            fn::readFile: /path/to/gcp_credentials_1.json
        - projectId: gcp_project_id_2
          projectKey:
            fn::readFile: /path/to/gcp_credentials_2.json
      services:
        - compute

Create Integration Resource

new Integration(name: string, args: IntegrationArgs, opts?: CustomResourceOptions);
@overload
def Integration(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                enabled: Optional[bool] = None,
                import_gcp_metrics: Optional[bool] = None,
                name: Optional[str] = None,
                named_token: Optional[str] = None,
                poll_rate: Optional[int] = None,
                project_service_keys: Optional[Sequence[IntegrationProjectServiceKeyArgs]] = None,
                services: Optional[Sequence[str]] = None,
                use_metric_source_project_for_quota: Optional[bool] = None,
                whitelists: Optional[Sequence[str]] = None)
@overload
def Integration(resource_name: str,
                args: IntegrationArgs,
                opts: Optional[ResourceOptions] = None)
func NewIntegration(ctx *Context, name string, args IntegrationArgs, opts ...ResourceOption) (*Integration, error)
public Integration(string name, IntegrationArgs args, CustomResourceOptions? opts = null)
public Integration(String name, IntegrationArgs args)
public Integration(String name, IntegrationArgs args, CustomResourceOptions options)
type: signalfx:gcp:Integration
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args IntegrationArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args IntegrationArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args IntegrationArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args IntegrationArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args IntegrationArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Integration Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The Integration resource accepts the following input properties:

Enabled bool

Whether the integration is enabled.

ImportGcpMetrics bool

If enabled, SignalFx will sync also Google Cloud Metrics data. If disabled, SignalFx will import only metadata. Defaults to true.

Name string

Name of the integration.

NamedToken string

Name of the org token to be used for data ingestion. If not specified then default access token is used.

PollRate int

GCP integration poll rate (in seconds). Value between 60 and 600. Default: 300.

ProjectServiceKeys List<Pulumi.SignalFx.Gcp.Inputs.IntegrationProjectServiceKeyArgs>

GCP projects to add.

Services List<string>

GCP service metrics to import. Can be an empty list, or not included, to import 'All services'. See the documentation for Creating Integrations for valid values.

UseMetricSourceProjectForQuota bool

When this value is set to true Observability Cloud will force usage of a quota from the project where metrics are stored. For this to work the service account provided for the project needs to be provided with serviceusage.services.use permission or Service Usage Consumer role in this project. When set to false default quota settings are used.

Whitelists List<string>

Compute Metadata Whitelist.

Enabled bool

Whether the integration is enabled.

ImportGcpMetrics bool

If enabled, SignalFx will sync also Google Cloud Metrics data. If disabled, SignalFx will import only metadata. Defaults to true.

Name string

Name of the integration.

NamedToken string

Name of the org token to be used for data ingestion. If not specified then default access token is used.

PollRate int

GCP integration poll rate (in seconds). Value between 60 and 600. Default: 300.

ProjectServiceKeys []IntegrationProjectServiceKeyArgs

GCP projects to add.

Services []string

GCP service metrics to import. Can be an empty list, or not included, to import 'All services'. See the documentation for Creating Integrations for valid values.

UseMetricSourceProjectForQuota bool

When this value is set to true Observability Cloud will force usage of a quota from the project where metrics are stored. For this to work the service account provided for the project needs to be provided with serviceusage.services.use permission or Service Usage Consumer role in this project. When set to false default quota settings are used.

Whitelists []string

Compute Metadata Whitelist.

enabled Boolean

Whether the integration is enabled.

importGcpMetrics Boolean

If enabled, SignalFx will sync also Google Cloud Metrics data. If disabled, SignalFx will import only metadata. Defaults to true.

name String

Name of the integration.

namedToken String

Name of the org token to be used for data ingestion. If not specified then default access token is used.

pollRate Integer

GCP integration poll rate (in seconds). Value between 60 and 600. Default: 300.

projectServiceKeys List<IntegrationProjectServiceKeyArgs>

GCP projects to add.

services List<String>

GCP service metrics to import. Can be an empty list, or not included, to import 'All services'. See the documentation for Creating Integrations for valid values.

useMetricSourceProjectForQuota Boolean

When this value is set to true Observability Cloud will force usage of a quota from the project where metrics are stored. For this to work the service account provided for the project needs to be provided with serviceusage.services.use permission or Service Usage Consumer role in this project. When set to false default quota settings are used.

whitelists List<String>

Compute Metadata Whitelist.

enabled boolean

Whether the integration is enabled.

importGcpMetrics boolean

If enabled, SignalFx will sync also Google Cloud Metrics data. If disabled, SignalFx will import only metadata. Defaults to true.

name string

Name of the integration.

namedToken string

Name of the org token to be used for data ingestion. If not specified then default access token is used.

pollRate number

GCP integration poll rate (in seconds). Value between 60 and 600. Default: 300.

projectServiceKeys IntegrationProjectServiceKeyArgs[]

GCP projects to add.

services string[]

GCP service metrics to import. Can be an empty list, or not included, to import 'All services'. See the documentation for Creating Integrations for valid values.

useMetricSourceProjectForQuota boolean

When this value is set to true Observability Cloud will force usage of a quota from the project where metrics are stored. For this to work the service account provided for the project needs to be provided with serviceusage.services.use permission or Service Usage Consumer role in this project. When set to false default quota settings are used.

whitelists string[]

Compute Metadata Whitelist.

enabled bool

Whether the integration is enabled.

import_gcp_metrics bool

If enabled, SignalFx will sync also Google Cloud Metrics data. If disabled, SignalFx will import only metadata. Defaults to true.

name str

Name of the integration.

named_token str

Name of the org token to be used for data ingestion. If not specified then default access token is used.

poll_rate int

GCP integration poll rate (in seconds). Value between 60 and 600. Default: 300.

project_service_keys Sequence[IntegrationProjectServiceKeyArgs]

GCP projects to add.

services Sequence[str]

GCP service metrics to import. Can be an empty list, or not included, to import 'All services'. See the documentation for Creating Integrations for valid values.

use_metric_source_project_for_quota bool

When this value is set to true Observability Cloud will force usage of a quota from the project where metrics are stored. For this to work the service account provided for the project needs to be provided with serviceusage.services.use permission or Service Usage Consumer role in this project. When set to false default quota settings are used.

whitelists Sequence[str]

Compute Metadata Whitelist.

enabled Boolean

Whether the integration is enabled.

importGcpMetrics Boolean

If enabled, SignalFx will sync also Google Cloud Metrics data. If disabled, SignalFx will import only metadata. Defaults to true.

name String

Name of the integration.

namedToken String

Name of the org token to be used for data ingestion. If not specified then default access token is used.

pollRate Number

GCP integration poll rate (in seconds). Value between 60 and 600. Default: 300.

projectServiceKeys List<Property Map>

GCP projects to add.

services List<String>

GCP service metrics to import. Can be an empty list, or not included, to import 'All services'. See the documentation for Creating Integrations for valid values.

useMetricSourceProjectForQuota Boolean

When this value is set to true Observability Cloud will force usage of a quota from the project where metrics are stored. For this to work the service account provided for the project needs to be provided with serviceusage.services.use permission or Service Usage Consumer role in this project. When set to false default quota settings are used.

whitelists List<String>

Compute Metadata Whitelist.

Outputs

All input properties are implicitly available as output properties. Additionally, the Integration resource produces the following output properties:

Id string

The provider-assigned unique ID for this managed resource.

Id string

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

id string

The provider-assigned unique ID for this managed resource.

id str

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

Look up Existing Integration Resource

Get an existing Integration resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: IntegrationState, opts?: CustomResourceOptions): Integration
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        enabled: Optional[bool] = None,
        import_gcp_metrics: Optional[bool] = None,
        name: Optional[str] = None,
        named_token: Optional[str] = None,
        poll_rate: Optional[int] = None,
        project_service_keys: Optional[Sequence[IntegrationProjectServiceKeyArgs]] = None,
        services: Optional[Sequence[str]] = None,
        use_metric_source_project_for_quota: Optional[bool] = None,
        whitelists: Optional[Sequence[str]] = None) -> Integration
func GetIntegration(ctx *Context, name string, id IDInput, state *IntegrationState, opts ...ResourceOption) (*Integration, error)
public static Integration Get(string name, Input<string> id, IntegrationState? state, CustomResourceOptions? opts = null)
public static Integration get(String name, Output<String> id, IntegrationState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
Enabled bool

Whether the integration is enabled.

ImportGcpMetrics bool

If enabled, SignalFx will sync also Google Cloud Metrics data. If disabled, SignalFx will import only metadata. Defaults to true.

Name string

Name of the integration.

NamedToken string

Name of the org token to be used for data ingestion. If not specified then default access token is used.

PollRate int

GCP integration poll rate (in seconds). Value between 60 and 600. Default: 300.

ProjectServiceKeys List<Pulumi.SignalFx.Gcp.Inputs.IntegrationProjectServiceKeyArgs>

GCP projects to add.

Services List<string>

GCP service metrics to import. Can be an empty list, or not included, to import 'All services'. See the documentation for Creating Integrations for valid values.

UseMetricSourceProjectForQuota bool

When this value is set to true Observability Cloud will force usage of a quota from the project where metrics are stored. For this to work the service account provided for the project needs to be provided with serviceusage.services.use permission or Service Usage Consumer role in this project. When set to false default quota settings are used.

Whitelists List<string>

Compute Metadata Whitelist.

Enabled bool

Whether the integration is enabled.

ImportGcpMetrics bool

If enabled, SignalFx will sync also Google Cloud Metrics data. If disabled, SignalFx will import only metadata. Defaults to true.

Name string

Name of the integration.

NamedToken string

Name of the org token to be used for data ingestion. If not specified then default access token is used.

PollRate int

GCP integration poll rate (in seconds). Value between 60 and 600. Default: 300.

ProjectServiceKeys []IntegrationProjectServiceKeyArgs

GCP projects to add.

Services []string

GCP service metrics to import. Can be an empty list, or not included, to import 'All services'. See the documentation for Creating Integrations for valid values.

UseMetricSourceProjectForQuota bool

When this value is set to true Observability Cloud will force usage of a quota from the project where metrics are stored. For this to work the service account provided for the project needs to be provided with serviceusage.services.use permission or Service Usage Consumer role in this project. When set to false default quota settings are used.

Whitelists []string

Compute Metadata Whitelist.

enabled Boolean

Whether the integration is enabled.

importGcpMetrics Boolean

If enabled, SignalFx will sync also Google Cloud Metrics data. If disabled, SignalFx will import only metadata. Defaults to true.

name String

Name of the integration.

namedToken String

Name of the org token to be used for data ingestion. If not specified then default access token is used.

pollRate Integer

GCP integration poll rate (in seconds). Value between 60 and 600. Default: 300.

projectServiceKeys List<IntegrationProjectServiceKeyArgs>

GCP projects to add.

services List<String>

GCP service metrics to import. Can be an empty list, or not included, to import 'All services'. See the documentation for Creating Integrations for valid values.

useMetricSourceProjectForQuota Boolean

When this value is set to true Observability Cloud will force usage of a quota from the project where metrics are stored. For this to work the service account provided for the project needs to be provided with serviceusage.services.use permission or Service Usage Consumer role in this project. When set to false default quota settings are used.

whitelists List<String>

Compute Metadata Whitelist.

enabled boolean

Whether the integration is enabled.

importGcpMetrics boolean

If enabled, SignalFx will sync also Google Cloud Metrics data. If disabled, SignalFx will import only metadata. Defaults to true.

name string

Name of the integration.

namedToken string

Name of the org token to be used for data ingestion. If not specified then default access token is used.

pollRate number

GCP integration poll rate (in seconds). Value between 60 and 600. Default: 300.

projectServiceKeys IntegrationProjectServiceKeyArgs[]

GCP projects to add.

services string[]

GCP service metrics to import. Can be an empty list, or not included, to import 'All services'. See the documentation for Creating Integrations for valid values.

useMetricSourceProjectForQuota boolean

When this value is set to true Observability Cloud will force usage of a quota from the project where metrics are stored. For this to work the service account provided for the project needs to be provided with serviceusage.services.use permission or Service Usage Consumer role in this project. When set to false default quota settings are used.

whitelists string[]

Compute Metadata Whitelist.

enabled bool

Whether the integration is enabled.

import_gcp_metrics bool

If enabled, SignalFx will sync also Google Cloud Metrics data. If disabled, SignalFx will import only metadata. Defaults to true.

name str

Name of the integration.

named_token str

Name of the org token to be used for data ingestion. If not specified then default access token is used.

poll_rate int

GCP integration poll rate (in seconds). Value between 60 and 600. Default: 300.

project_service_keys Sequence[IntegrationProjectServiceKeyArgs]

GCP projects to add.

services Sequence[str]

GCP service metrics to import. Can be an empty list, or not included, to import 'All services'. See the documentation for Creating Integrations for valid values.

use_metric_source_project_for_quota bool

When this value is set to true Observability Cloud will force usage of a quota from the project where metrics are stored. For this to work the service account provided for the project needs to be provided with serviceusage.services.use permission or Service Usage Consumer role in this project. When set to false default quota settings are used.

whitelists Sequence[str]

Compute Metadata Whitelist.

enabled Boolean

Whether the integration is enabled.

importGcpMetrics Boolean

If enabled, SignalFx will sync also Google Cloud Metrics data. If disabled, SignalFx will import only metadata. Defaults to true.

name String

Name of the integration.

namedToken String

Name of the org token to be used for data ingestion. If not specified then default access token is used.

pollRate Number

GCP integration poll rate (in seconds). Value between 60 and 600. Default: 300.

projectServiceKeys List<Property Map>

GCP projects to add.

services List<String>

GCP service metrics to import. Can be an empty list, or not included, to import 'All services'. See the documentation for Creating Integrations for valid values.

useMetricSourceProjectForQuota Boolean

When this value is set to true Observability Cloud will force usage of a quota from the project where metrics are stored. For this to work the service account provided for the project needs to be provided with serviceusage.services.use permission or Service Usage Consumer role in this project. When set to false default quota settings are used.

whitelists List<String>

Compute Metadata Whitelist.

Supporting Types

IntegrationProjectServiceKey

ProjectId string
ProjectKey string
ProjectId string
ProjectKey string
projectId String
projectKey String
projectId string
projectKey string
projectId String
projectKey String

Package Details

Repository
SignalFx pulumi/pulumi-signalfx
License
Apache-2.0
Notes

This Pulumi package is based on the signalfx Terraform Provider.