gcp

package
v6.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 2, 2023 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Integration

type Integration struct {
	pulumi.CustomResourceState

	// List of additional GCP service domain names that Splunk Observability Cloud will monitor. See [Custom Metric Type Domains documentation](https://dev.splunk.com/observability/docs/integrations/gcp_integration_overview/#Custom-metric-type-domains)
	CustomMetricTypeDomains pulumi.StringArrayOutput `pulumi:"customMetricTypeDomains"`
	// Whether the integration is enabled.
	Enabled pulumi.BoolOutput `pulumi:"enabled"`
	// If enabled, Splunk Observability Cloud will sync also Google Cloud Monitoring data. If disabled, Splunk Observability Cloud will import only metadata. Defaults to true.
	ImportGcpMetrics pulumi.BoolPtrOutput `pulumi:"importGcpMetrics"`
	// [Compute Metadata Include List](https://dev.splunk.com/observability/docs/integrations/gcp_integration_overview/).
	IncludeLists pulumi.StringArrayOutput `pulumi:"includeLists"`
	// Name of the integration.
	Name pulumi.StringOutput `pulumi:"name"`
	// Name of the org token to be used for data ingestion. If not specified then default access token is used.
	NamedToken pulumi.StringPtrOutput `pulumi:"namedToken"`
	// GCP integration poll rate (in seconds). Value between `60` and `600`. Default: `300`.
	PollRate pulumi.IntPtrOutput `pulumi:"pollRate"`
	// GCP projects to add.
	ProjectServiceKeys IntegrationProjectServiceKeyArrayOutput `pulumi:"projectServiceKeys"`
	// GCP service metrics to import. Can be an empty list, or not included, to import 'All services'. See [Google Cloud Platform services](https://docs.splunk.com/Observability/gdi/get-data-in/integrations.html#google-cloud-platform-services) for a list of valid values.
	Services pulumi.StringArrayOutput `pulumi:"services"`
	// 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.
	UseMetricSourceProjectForQuota pulumi.BoolPtrOutput `pulumi:"useMetricSourceProjectForQuota"`
}

SignalFx GCP Integration

> **NOTE** When managing integrations, use a session token of an administrator to authenticate the SignalFx provider. See [Operations that require a session token for an administrator](https://dev.splunk.com/observability/docs/administration/authtokens#Operations-that-require-a-session-token-for-an-administrator). Otherwise you'll receive a 4xx error.

## Example Usage

```go package main

import (

"os"

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

)

func readFileOrPanic(path string) pulumi.StringPtrInput {
	data, err := os.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{
			CustomMetricTypeDomains: pulumi.StringArray{
				pulumi.String("istio.io"),
			},
			Enabled:          pulumi.Bool(true),
			ImportGcpMetrics: 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
	})
}

```

func GetIntegration

func GetIntegration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *IntegrationState, opts ...pulumi.ResourceOption) (*Integration, error)

GetIntegration gets an existing Integration resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewIntegration

func NewIntegration(ctx *pulumi.Context,
	name string, args *IntegrationArgs, opts ...pulumi.ResourceOption) (*Integration, error)

NewIntegration registers a new resource with the given unique name, arguments, and options.

func (*Integration) ElementType

func (*Integration) ElementType() reflect.Type

func (*Integration) ToIntegrationOutput

func (i *Integration) ToIntegrationOutput() IntegrationOutput

func (*Integration) ToIntegrationOutputWithContext

func (i *Integration) ToIntegrationOutputWithContext(ctx context.Context) IntegrationOutput

type IntegrationArgs

type IntegrationArgs struct {
	// List of additional GCP service domain names that Splunk Observability Cloud will monitor. See [Custom Metric Type Domains documentation](https://dev.splunk.com/observability/docs/integrations/gcp_integration_overview/#Custom-metric-type-domains)
	CustomMetricTypeDomains pulumi.StringArrayInput
	// Whether the integration is enabled.
	Enabled pulumi.BoolInput
	// If enabled, Splunk Observability Cloud will sync also Google Cloud Monitoring data. If disabled, Splunk Observability Cloud will import only metadata. Defaults to true.
	ImportGcpMetrics pulumi.BoolPtrInput
	// [Compute Metadata Include List](https://dev.splunk.com/observability/docs/integrations/gcp_integration_overview/).
	IncludeLists pulumi.StringArrayInput
	// Name of the integration.
	Name pulumi.StringPtrInput
	// Name of the org token to be used for data ingestion. If not specified then default access token is used.
	NamedToken pulumi.StringPtrInput
	// GCP integration poll rate (in seconds). Value between `60` and `600`. Default: `300`.
	PollRate pulumi.IntPtrInput
	// GCP projects to add.
	ProjectServiceKeys IntegrationProjectServiceKeyArrayInput
	// GCP service metrics to import. Can be an empty list, or not included, to import 'All services'. See [Google Cloud Platform services](https://docs.splunk.com/Observability/gdi/get-data-in/integrations.html#google-cloud-platform-services) for a list of valid values.
	Services pulumi.StringArrayInput
	// 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.
	UseMetricSourceProjectForQuota pulumi.BoolPtrInput
}

The set of arguments for constructing a Integration resource.

func (IntegrationArgs) ElementType

func (IntegrationArgs) ElementType() reflect.Type

type IntegrationArray

type IntegrationArray []IntegrationInput

func (IntegrationArray) ElementType

func (IntegrationArray) ElementType() reflect.Type

func (IntegrationArray) ToIntegrationArrayOutput

func (i IntegrationArray) ToIntegrationArrayOutput() IntegrationArrayOutput

func (IntegrationArray) ToIntegrationArrayOutputWithContext

func (i IntegrationArray) ToIntegrationArrayOutputWithContext(ctx context.Context) IntegrationArrayOutput

type IntegrationArrayInput

type IntegrationArrayInput interface {
	pulumi.Input

	ToIntegrationArrayOutput() IntegrationArrayOutput
	ToIntegrationArrayOutputWithContext(context.Context) IntegrationArrayOutput
}

IntegrationArrayInput is an input type that accepts IntegrationArray and IntegrationArrayOutput values. You can construct a concrete instance of `IntegrationArrayInput` via:

IntegrationArray{ IntegrationArgs{...} }

type IntegrationArrayOutput

type IntegrationArrayOutput struct{ *pulumi.OutputState }

func (IntegrationArrayOutput) ElementType

func (IntegrationArrayOutput) ElementType() reflect.Type

func (IntegrationArrayOutput) Index

func (IntegrationArrayOutput) ToIntegrationArrayOutput

func (o IntegrationArrayOutput) ToIntegrationArrayOutput() IntegrationArrayOutput

func (IntegrationArrayOutput) ToIntegrationArrayOutputWithContext

func (o IntegrationArrayOutput) ToIntegrationArrayOutputWithContext(ctx context.Context) IntegrationArrayOutput

type IntegrationInput

type IntegrationInput interface {
	pulumi.Input

	ToIntegrationOutput() IntegrationOutput
	ToIntegrationOutputWithContext(ctx context.Context) IntegrationOutput
}

type IntegrationMap

type IntegrationMap map[string]IntegrationInput

func (IntegrationMap) ElementType

func (IntegrationMap) ElementType() reflect.Type

func (IntegrationMap) ToIntegrationMapOutput

func (i IntegrationMap) ToIntegrationMapOutput() IntegrationMapOutput

func (IntegrationMap) ToIntegrationMapOutputWithContext

func (i IntegrationMap) ToIntegrationMapOutputWithContext(ctx context.Context) IntegrationMapOutput

type IntegrationMapInput

type IntegrationMapInput interface {
	pulumi.Input

	ToIntegrationMapOutput() IntegrationMapOutput
	ToIntegrationMapOutputWithContext(context.Context) IntegrationMapOutput
}

IntegrationMapInput is an input type that accepts IntegrationMap and IntegrationMapOutput values. You can construct a concrete instance of `IntegrationMapInput` via:

IntegrationMap{ "key": IntegrationArgs{...} }

type IntegrationMapOutput

type IntegrationMapOutput struct{ *pulumi.OutputState }

func (IntegrationMapOutput) ElementType

func (IntegrationMapOutput) ElementType() reflect.Type

func (IntegrationMapOutput) MapIndex

func (IntegrationMapOutput) ToIntegrationMapOutput

func (o IntegrationMapOutput) ToIntegrationMapOutput() IntegrationMapOutput

func (IntegrationMapOutput) ToIntegrationMapOutputWithContext

func (o IntegrationMapOutput) ToIntegrationMapOutputWithContext(ctx context.Context) IntegrationMapOutput

type IntegrationOutput

type IntegrationOutput struct{ *pulumi.OutputState }

func (IntegrationOutput) CustomMetricTypeDomains

func (o IntegrationOutput) CustomMetricTypeDomains() pulumi.StringArrayOutput

List of additional GCP service domain names that Splunk Observability Cloud will monitor. See [Custom Metric Type Domains documentation](https://dev.splunk.com/observability/docs/integrations/gcp_integration_overview/#Custom-metric-type-domains)

func (IntegrationOutput) ElementType

func (IntegrationOutput) ElementType() reflect.Type

func (IntegrationOutput) Enabled

func (o IntegrationOutput) Enabled() pulumi.BoolOutput

Whether the integration is enabled.

func (IntegrationOutput) ImportGcpMetrics

func (o IntegrationOutput) ImportGcpMetrics() pulumi.BoolPtrOutput

If enabled, Splunk Observability Cloud will sync also Google Cloud Monitoring data. If disabled, Splunk Observability Cloud will import only metadata. Defaults to true.

func (IntegrationOutput) IncludeLists

func (o IntegrationOutput) IncludeLists() pulumi.StringArrayOutput

[Compute Metadata Include List](https://dev.splunk.com/observability/docs/integrations/gcp_integration_overview/).

func (IntegrationOutput) Name

Name of the integration.

func (IntegrationOutput) NamedToken

func (o IntegrationOutput) NamedToken() pulumi.StringPtrOutput

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

func (IntegrationOutput) PollRate

func (o IntegrationOutput) PollRate() pulumi.IntPtrOutput

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

func (IntegrationOutput) ProjectServiceKeys

GCP projects to add.

func (IntegrationOutput) Services

GCP service metrics to import. Can be an empty list, or not included, to import 'All services'. See [Google Cloud Platform services](https://docs.splunk.com/Observability/gdi/get-data-in/integrations.html#google-cloud-platform-services) for a list of valid values.

func (IntegrationOutput) ToIntegrationOutput

func (o IntegrationOutput) ToIntegrationOutput() IntegrationOutput

func (IntegrationOutput) ToIntegrationOutputWithContext

func (o IntegrationOutput) ToIntegrationOutputWithContext(ctx context.Context) IntegrationOutput

func (IntegrationOutput) UseMetricSourceProjectForQuota

func (o IntegrationOutput) UseMetricSourceProjectForQuota() pulumi.BoolPtrOutput

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.

type IntegrationProjectServiceKey

type IntegrationProjectServiceKey struct {
	ProjectId  string `pulumi:"projectId"`
	ProjectKey string `pulumi:"projectKey"`
}

type IntegrationProjectServiceKeyArgs

type IntegrationProjectServiceKeyArgs struct {
	ProjectId  pulumi.StringInput `pulumi:"projectId"`
	ProjectKey pulumi.StringInput `pulumi:"projectKey"`
}

func (IntegrationProjectServiceKeyArgs) ElementType

func (IntegrationProjectServiceKeyArgs) ToIntegrationProjectServiceKeyOutput

func (i IntegrationProjectServiceKeyArgs) ToIntegrationProjectServiceKeyOutput() IntegrationProjectServiceKeyOutput

func (IntegrationProjectServiceKeyArgs) ToIntegrationProjectServiceKeyOutputWithContext

func (i IntegrationProjectServiceKeyArgs) ToIntegrationProjectServiceKeyOutputWithContext(ctx context.Context) IntegrationProjectServiceKeyOutput

type IntegrationProjectServiceKeyArray

type IntegrationProjectServiceKeyArray []IntegrationProjectServiceKeyInput

func (IntegrationProjectServiceKeyArray) ElementType

func (IntegrationProjectServiceKeyArray) ToIntegrationProjectServiceKeyArrayOutput

func (i IntegrationProjectServiceKeyArray) ToIntegrationProjectServiceKeyArrayOutput() IntegrationProjectServiceKeyArrayOutput

func (IntegrationProjectServiceKeyArray) ToIntegrationProjectServiceKeyArrayOutputWithContext

func (i IntegrationProjectServiceKeyArray) ToIntegrationProjectServiceKeyArrayOutputWithContext(ctx context.Context) IntegrationProjectServiceKeyArrayOutput

type IntegrationProjectServiceKeyArrayInput

type IntegrationProjectServiceKeyArrayInput interface {
	pulumi.Input

	ToIntegrationProjectServiceKeyArrayOutput() IntegrationProjectServiceKeyArrayOutput
	ToIntegrationProjectServiceKeyArrayOutputWithContext(context.Context) IntegrationProjectServiceKeyArrayOutput
}

IntegrationProjectServiceKeyArrayInput is an input type that accepts IntegrationProjectServiceKeyArray and IntegrationProjectServiceKeyArrayOutput values. You can construct a concrete instance of `IntegrationProjectServiceKeyArrayInput` via:

IntegrationProjectServiceKeyArray{ IntegrationProjectServiceKeyArgs{...} }

type IntegrationProjectServiceKeyArrayOutput

type IntegrationProjectServiceKeyArrayOutput struct{ *pulumi.OutputState }

func (IntegrationProjectServiceKeyArrayOutput) ElementType

func (IntegrationProjectServiceKeyArrayOutput) Index

func (IntegrationProjectServiceKeyArrayOutput) ToIntegrationProjectServiceKeyArrayOutput

func (o IntegrationProjectServiceKeyArrayOutput) ToIntegrationProjectServiceKeyArrayOutput() IntegrationProjectServiceKeyArrayOutput

func (IntegrationProjectServiceKeyArrayOutput) ToIntegrationProjectServiceKeyArrayOutputWithContext

func (o IntegrationProjectServiceKeyArrayOutput) ToIntegrationProjectServiceKeyArrayOutputWithContext(ctx context.Context) IntegrationProjectServiceKeyArrayOutput

type IntegrationProjectServiceKeyInput

type IntegrationProjectServiceKeyInput interface {
	pulumi.Input

	ToIntegrationProjectServiceKeyOutput() IntegrationProjectServiceKeyOutput
	ToIntegrationProjectServiceKeyOutputWithContext(context.Context) IntegrationProjectServiceKeyOutput
}

IntegrationProjectServiceKeyInput is an input type that accepts IntegrationProjectServiceKeyArgs and IntegrationProjectServiceKeyOutput values. You can construct a concrete instance of `IntegrationProjectServiceKeyInput` via:

IntegrationProjectServiceKeyArgs{...}

type IntegrationProjectServiceKeyOutput

type IntegrationProjectServiceKeyOutput struct{ *pulumi.OutputState }

func (IntegrationProjectServiceKeyOutput) ElementType

func (IntegrationProjectServiceKeyOutput) ProjectId

func (IntegrationProjectServiceKeyOutput) ProjectKey

func (IntegrationProjectServiceKeyOutput) ToIntegrationProjectServiceKeyOutput

func (o IntegrationProjectServiceKeyOutput) ToIntegrationProjectServiceKeyOutput() IntegrationProjectServiceKeyOutput

func (IntegrationProjectServiceKeyOutput) ToIntegrationProjectServiceKeyOutputWithContext

func (o IntegrationProjectServiceKeyOutput) ToIntegrationProjectServiceKeyOutputWithContext(ctx context.Context) IntegrationProjectServiceKeyOutput

type IntegrationState

type IntegrationState struct {
	// List of additional GCP service domain names that Splunk Observability Cloud will monitor. See [Custom Metric Type Domains documentation](https://dev.splunk.com/observability/docs/integrations/gcp_integration_overview/#Custom-metric-type-domains)
	CustomMetricTypeDomains pulumi.StringArrayInput
	// Whether the integration is enabled.
	Enabled pulumi.BoolPtrInput
	// If enabled, Splunk Observability Cloud will sync also Google Cloud Monitoring data. If disabled, Splunk Observability Cloud will import only metadata. Defaults to true.
	ImportGcpMetrics pulumi.BoolPtrInput
	// [Compute Metadata Include List](https://dev.splunk.com/observability/docs/integrations/gcp_integration_overview/).
	IncludeLists pulumi.StringArrayInput
	// Name of the integration.
	Name pulumi.StringPtrInput
	// Name of the org token to be used for data ingestion. If not specified then default access token is used.
	NamedToken pulumi.StringPtrInput
	// GCP integration poll rate (in seconds). Value between `60` and `600`. Default: `300`.
	PollRate pulumi.IntPtrInput
	// GCP projects to add.
	ProjectServiceKeys IntegrationProjectServiceKeyArrayInput
	// GCP service metrics to import. Can be an empty list, or not included, to import 'All services'. See [Google Cloud Platform services](https://docs.splunk.com/Observability/gdi/get-data-in/integrations.html#google-cloud-platform-services) for a list of valid values.
	Services pulumi.StringArrayInput
	// 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.
	UseMetricSourceProjectForQuota pulumi.BoolPtrInput
}

func (IntegrationState) ElementType

func (IntegrationState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL