Datadog

v4.11.0 published on Thursday, Sep 8, 2022 by Pulumi

Integration

Provides a Datadog - Google Cloud Platform integration resource. This can be used to create and manage Datadog - Google Cloud Platform integration.

Example Usage

using Pulumi;
using Datadog = Pulumi.Datadog;

class MyStack : Stack
{
    public MyStack()
    {
        // Create a new Datadog - Google Cloud Platform integration
        var awesomeGcpProjectIntegration = new Datadog.Gcp.Integration("awesomeGcpProjectIntegration", new Datadog.Gcp.IntegrationArgs
        {
            ClientEmail = "awesome-service-account@awesome-project-id.iam.gserviceaccount.com",
            ClientId = "123456789012345678901",
            HostFilters = "foo:bar,buzz:lightyear",
            PrivateKey = @"-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----

",
            PrivateKeyId = "1234567890123456789012345678901234567890",
            ProjectId = "awesome-project-id",
        });
    }

}
package main

import (
	"fmt"

	"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/gcp"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := gcp.NewIntegration(ctx, "awesomeGcpProjectIntegration", &gcp.IntegrationArgs{
			ClientEmail:  pulumi.String("awesome-service-account@awesome-project-id.iam.gserviceaccount.com"),
			ClientId:     pulumi.String("123456789012345678901"),
			HostFilters:  pulumi.String("foo:bar,buzz:lightyear"),
			PrivateKey:   pulumi.String(fmt.Sprintf("%v%v%v%v", "-----BEGIN PRIVATE KEY-----\n", "...\n", "-----END PRIVATE KEY-----\n", "\n")),
			PrivateKeyId: pulumi.String("1234567890123456789012345678901234567890"),
			ProjectId:    pulumi.String("awesome-project-id"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import java.util.*;
import java.io.*;
import java.nio.*;
import com.pulumi.*;

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

    public static void stack(Context ctx) {
        var awesomeGcpProjectIntegration = new Integration("awesomeGcpProjectIntegration", IntegrationArgs.builder()        
            .clientEmail("awesome-service-account@awesome-project-id.iam.gserviceaccount.com")
            .clientId("123456789012345678901")
            .hostFilters("foo:bar,buzz:lightyear")
            .privateKey("""
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----

            """)
            .privateKeyId("1234567890123456789012345678901234567890")
            .projectId("awesome-project-id")
            .build());

    }
}
import pulumi
import pulumi_datadog as datadog

# Create a new Datadog - Google Cloud Platform integration
awesome_gcp_project_integration = datadog.gcp.Integration("awesomeGcpProjectIntegration",
    client_email="awesome-service-account@awesome-project-id.iam.gserviceaccount.com",
    client_id="123456789012345678901",
    host_filters="foo:bar,buzz:lightyear",
    private_key="""-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----

""",
    private_key_id="1234567890123456789012345678901234567890",
    project_id="awesome-project-id")
import * as pulumi from "@pulumi/pulumi";
import * as datadog from "@pulumi/datadog";

// Create a new Datadog - Google Cloud Platform integration
const awesomeGcpProjectIntegration = new datadog.gcp.Integration("awesome_gcp_project_integration", {
    clientEmail: "awesome-service-account@awesome-project-id.iam.gserviceaccount.com",
    clientId: "123456789012345678901",
    hostFilters: "foo:bar,buzz:lightyear",
    privateKey: `-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----
`,
    privateKeyId: "1234567890123456789012345678901234567890",
    projectId: "awesome-project-id",
});
resources:
  awesomeGcpProjectIntegration:
    type: datadog:gcp:Integration
    properties:
      clientEmail: awesome-service-account@awesome-project-id.iam.gserviceaccount.com
      clientId: 123456789012345678901
      hostFilters: foo:bar,buzz:lightyear
      privateKey: |+
        -----BEGIN PRIVATE KEY-----
        ...
        -----END PRIVATE KEY-----        

      privateKeyId: 1234567890123456789012345678901234567890
      projectId: awesome-project-id

Create a Integration Resource

new Integration(name: string, args: IntegrationArgs, opts?: CustomResourceOptions);
@overload
def Integration(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                automute: Optional[bool] = None,
                client_email: Optional[str] = None,
                client_id: Optional[str] = None,
                host_filters: Optional[str] = None,
                private_key: Optional[str] = None,
                private_key_id: Optional[str] = None,
                project_id: Optional[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: datadog: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:

ClientEmail string

Your email found in your JSON service account key.

ClientId string

Your ID found in your JSON service account key.

PrivateKey string

Your private key name found in your JSON service account key.

PrivateKeyId string

Your private key ID found in your JSON service account key.

ProjectId string

Your Google Cloud project ID found in your JSON service account key.

Automute bool

Silence monitors for expected GCE instance shutdowns.

HostFilters string

Limit the GCE instances that are pulled into Datadog by using tags. Only hosts that match one of the defined tags are imported into Datadog.

ClientEmail string

Your email found in your JSON service account key.

ClientId string

Your ID found in your JSON service account key.

PrivateKey string

Your private key name found in your JSON service account key.

PrivateKeyId string

Your private key ID found in your JSON service account key.

ProjectId string

Your Google Cloud project ID found in your JSON service account key.

Automute bool

Silence monitors for expected GCE instance shutdowns.

HostFilters string

Limit the GCE instances that are pulled into Datadog by using tags. Only hosts that match one of the defined tags are imported into Datadog.

clientEmail String

Your email found in your JSON service account key.

clientId String

Your ID found in your JSON service account key.

privateKey String

Your private key name found in your JSON service account key.

privateKeyId String

Your private key ID found in your JSON service account key.

projectId String

Your Google Cloud project ID found in your JSON service account key.

automute Boolean

Silence monitors for expected GCE instance shutdowns.

hostFilters String

Limit the GCE instances that are pulled into Datadog by using tags. Only hosts that match one of the defined tags are imported into Datadog.

clientEmail string

Your email found in your JSON service account key.

clientId string

Your ID found in your JSON service account key.

privateKey string

Your private key name found in your JSON service account key.

privateKeyId string

Your private key ID found in your JSON service account key.

projectId string

Your Google Cloud project ID found in your JSON service account key.

automute boolean

Silence monitors for expected GCE instance shutdowns.

hostFilters string

Limit the GCE instances that are pulled into Datadog by using tags. Only hosts that match one of the defined tags are imported into Datadog.

client_email str

Your email found in your JSON service account key.

client_id str

Your ID found in your JSON service account key.

private_key str

Your private key name found in your JSON service account key.

private_key_id str

Your private key ID found in your JSON service account key.

project_id str

Your Google Cloud project ID found in your JSON service account key.

automute bool

Silence monitors for expected GCE instance shutdowns.

host_filters str

Limit the GCE instances that are pulled into Datadog by using tags. Only hosts that match one of the defined tags are imported into Datadog.

clientEmail String

Your email found in your JSON service account key.

clientId String

Your ID found in your JSON service account key.

privateKey String

Your private key name found in your JSON service account key.

privateKeyId String

Your private key ID found in your JSON service account key.

projectId String

Your Google Cloud project ID found in your JSON service account key.

automute Boolean

Silence monitors for expected GCE instance shutdowns.

hostFilters String

Limit the GCE instances that are pulled into Datadog by using tags. Only hosts that match one of the defined tags are imported into Datadog.

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 an 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,
        automute: Optional[bool] = None,
        client_email: Optional[str] = None,
        client_id: Optional[str] = None,
        host_filters: Optional[str] = None,
        private_key: Optional[str] = None,
        private_key_id: Optional[str] = None,
        project_id: Optional[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:
Automute bool

Silence monitors for expected GCE instance shutdowns.

ClientEmail string

Your email found in your JSON service account key.

ClientId string

Your ID found in your JSON service account key.

HostFilters string

Limit the GCE instances that are pulled into Datadog by using tags. Only hosts that match one of the defined tags are imported into Datadog.

PrivateKey string

Your private key name found in your JSON service account key.

PrivateKeyId string

Your private key ID found in your JSON service account key.

ProjectId string

Your Google Cloud project ID found in your JSON service account key.

Automute bool

Silence monitors for expected GCE instance shutdowns.

ClientEmail string

Your email found in your JSON service account key.

ClientId string

Your ID found in your JSON service account key.

HostFilters string

Limit the GCE instances that are pulled into Datadog by using tags. Only hosts that match one of the defined tags are imported into Datadog.

PrivateKey string

Your private key name found in your JSON service account key.

PrivateKeyId string

Your private key ID found in your JSON service account key.

ProjectId string

Your Google Cloud project ID found in your JSON service account key.

automute Boolean

Silence monitors for expected GCE instance shutdowns.

clientEmail String

Your email found in your JSON service account key.

clientId String

Your ID found in your JSON service account key.

hostFilters String

Limit the GCE instances that are pulled into Datadog by using tags. Only hosts that match one of the defined tags are imported into Datadog.

privateKey String

Your private key name found in your JSON service account key.

privateKeyId String

Your private key ID found in your JSON service account key.

projectId String

Your Google Cloud project ID found in your JSON service account key.

automute boolean

Silence monitors for expected GCE instance shutdowns.

clientEmail string

Your email found in your JSON service account key.

clientId string

Your ID found in your JSON service account key.

hostFilters string

Limit the GCE instances that are pulled into Datadog by using tags. Only hosts that match one of the defined tags are imported into Datadog.

privateKey string

Your private key name found in your JSON service account key.

privateKeyId string

Your private key ID found in your JSON service account key.

projectId string

Your Google Cloud project ID found in your JSON service account key.

automute bool

Silence monitors for expected GCE instance shutdowns.

client_email str

Your email found in your JSON service account key.

client_id str

Your ID found in your JSON service account key.

host_filters str

Limit the GCE instances that are pulled into Datadog by using tags. Only hosts that match one of the defined tags are imported into Datadog.

private_key str

Your private key name found in your JSON service account key.

private_key_id str

Your private key ID found in your JSON service account key.

project_id str

Your Google Cloud project ID found in your JSON service account key.

automute Boolean

Silence monitors for expected GCE instance shutdowns.

clientEmail String

Your email found in your JSON service account key.

clientId String

Your ID found in your JSON service account key.

hostFilters String

Limit the GCE instances that are pulled into Datadog by using tags. Only hosts that match one of the defined tags are imported into Datadog.

privateKey String

Your private key name found in your JSON service account key.

privateKeyId String

Your private key ID found in your JSON service account key.

projectId String

Your Google Cloud project ID found in your JSON service account key.

Import

Google Cloud Platform integrations can be imported using their project ID, e.g.

 $ pulumi import datadog:gcp/integration:Integration awesome_gcp_project_integration project_id

Package Details

Repository
https://github.com/pulumi/pulumi-datadog
License
Apache-2.0
Notes

This Pulumi package is based on the datadog Terraform Provider.