aws

package
v4.6.0 Latest Latest
Warning

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

Go to latest
Published: Apr 12, 2021 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 ExternalIntegration

type ExternalIntegration struct {
	pulumi.CustomResourceState

	// The external ID to use with your IAM role and with `aws.Integration`.
	ExternalId pulumi.StringOutput `pulumi:"externalId"`
	// The name of this integration
	Name pulumi.StringOutput `pulumi:"name"`
	// The AWS Account ARN to use with your policies/roles, provided by SignalFx.
	SignalfxAwsAccount pulumi.StringOutput `pulumi:"signalfxAwsAccount"`
}

SignalFx AWS CloudWatch integrations using Role ARNs. For help with this integration see [Connect to AWS CloudWatch](https://docs.signalfx.com/en/latest/integrations/amazon-web-services.html#connect-to-aws).

> **NOTE** When managing integrations you'll need to use an admin token to authenticate the SignalFx provider.

> **WARNING** This resource implements a part of a workflow. You must use it with `aws.Integration`. Check with SignalFx support for your realm's AWS account id.

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/iam"
"github.com/pulumi/pulumi-signalfx/sdk/v4/go/signalfx/aws"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		awsMyteamExtern, err := aws.NewExternalIntegration(ctx, "awsMyteamExtern", nil)
		if err != nil {
			return err
		}
		awsSfxRole, err := iam.NewRole(ctx, "awsSfxRole", &iam.RoleArgs{
			Description: pulumi.String("signalfx integration to read out data and send it to signalfxs aws account"),
			AssumeRolePolicy: signalfxAssumePolicy.ApplyT(func(signalfxAssumePolicy iam.GetPolicyDocumentResult) (string, error) {
				return signalfxAssumePolicy.Json, nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		awsReadPermissions, err := iam.NewPolicy(ctx, "awsReadPermissions", &iam.PolicyArgs{
			Description: pulumi.String("farts"),
			Policy: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "	\"Version\": \"2012-10-17\",\n", "	\"Statement\": [\n", "		{\n", "			\"Action\": [\n", "				\"dynamodb:ListTables\",\n", "		    \"dynamodb:DescribeTable\",\n", "		    \"dynamodb:ListTagsOfResource\",\n", "		    \"ec2:DescribeInstances\",\n", "		    \"ec2:DescribeInstanceStatus\",\n", "		    \"ec2:DescribeVolumes\",\n", "		    \"ec2:DescribeReservedInstances\",\n", "		    \"ec2:DescribeReservedInstancesModifications\",\n", "		    \"ec2:DescribeTags\",\n", "		    \"organizations:DescribeOrganization\",\n", "		    \"cloudwatch:ListMetrics\",\n", "		    \"cloudwatch:GetMetricData\",\n", "		    \"cloudwatch:GetMetricStatistics\",\n", "		    \"cloudwatch:DescribeAlarms\",\n", "		    \"sqs:ListQueues\",\n", "		    \"sqs:GetQueueAttributes\",\n", "		    \"sqs:ListQueueTags\",\n", "		    \"elasticmapreduce:ListClusters\",\n", "		    \"elasticmapreduce:DescribeCluster\",\n", "		    \"kinesis:ListShards\",\n", "		    \"kinesis:ListStreams\",\n", "		    \"kinesis:DescribeStream\",\n", "		    \"kinesis:ListTagsForStream\",\n", "		    \"rds:DescribeDBInstances\",\n", "		    \"rds:ListTagsForResource\",\n", "		    \"elasticloadbalancing:DescribeLoadBalancers\",\n", "		    \"elasticloadbalancing:DescribeTags\",\n", "		    \"elasticache:describeCacheClusters\",\n", "		    \"redshift:DescribeClusters\",\n", "		    \"lambda:GetAlias\",\n", "		    \"lambda:ListFunctions\",\n", "		    \"lambda:ListTags\",\n", "		    \"autoscaling:DescribeAutoScalingGroups\",\n", "		    \"s3:ListAllMyBuckets\",\n", "		    \"s3:ListBucket\",\n", "		    \"s3:GetBucketLocation\",\n", "		    \"s3:GetBucketTagging\",\n", "		    \"ecs:ListServices\",\n", "		    \"ecs:ListTasks\",\n", "		    \"ecs:DescribeTasks\",\n", "		    \"ecs:DescribeServices\",\n", "		    \"ecs:ListClusters\",\n", "		    \"ecs:DescribeClusters\",\n", "		    \"ecs:ListTaskDefinitions\",\n", "		    \"ecs:ListTagsForResource\",\n", "		    \"apigateway:GET\",\n", "		    \"cloudfront:ListDistributions\",\n", "		    \"cloudfront:ListTagsForResource\",\n", "		    \"tag:GetResources\",\n", "		    \"es:ListDomainNames\",\n", "		    \"es:DescribeElasticsearchDomain\"\n", "			],\n", "			\"Effect\": \"Allow\",\n", "			\"Resource\": \"*\"\n", "		}\n", "	]\n", "}\n")),
		})
		if err != nil {
			return err
		}
		_, err = iam.NewRolePolicyAttachment(ctx, "sfx_read_attach", &iam.RolePolicyAttachmentArgs{
			Role:      awsSfxRole.Name,
			PolicyArn: awsReadPermissions.Arn,
		})
		if err != nil {
			return err
		}
		_, err = aws.NewIntegration(ctx, "awsMyteam", &aws.IntegrationArgs{
			Enabled:       pulumi.Bool(true),
			IntegrationId: awsMyteamExtern.ID(),
			ExternalId:    awsMyteamExtern.ExternalId,
			RoleArn:       awsSfxRole.Arn,
			Regions: pulumi.StringArray{
				pulumi.String("us-east-1"),
			},
			PollRate:         pulumi.Int(300),
			ImportCloudWatch: pulumi.Bool(true),
			EnableAwsUsage:   pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetExternalIntegration

func GetExternalIntegration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ExternalIntegrationState, opts ...pulumi.ResourceOption) (*ExternalIntegration, error)

GetExternalIntegration gets an existing ExternalIntegration 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 NewExternalIntegration

func NewExternalIntegration(ctx *pulumi.Context,
	name string, args *ExternalIntegrationArgs, opts ...pulumi.ResourceOption) (*ExternalIntegration, error)

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

func (*ExternalIntegration) ElementType

func (*ExternalIntegration) ElementType() reflect.Type

func (*ExternalIntegration) ToExternalIntegrationOutput

func (i *ExternalIntegration) ToExternalIntegrationOutput() ExternalIntegrationOutput

func (*ExternalIntegration) ToExternalIntegrationOutputWithContext

func (i *ExternalIntegration) ToExternalIntegrationOutputWithContext(ctx context.Context) ExternalIntegrationOutput

func (*ExternalIntegration) ToExternalIntegrationPtrOutput added in v4.3.1

func (i *ExternalIntegration) ToExternalIntegrationPtrOutput() ExternalIntegrationPtrOutput

func (*ExternalIntegration) ToExternalIntegrationPtrOutputWithContext added in v4.3.1

func (i *ExternalIntegration) ToExternalIntegrationPtrOutputWithContext(ctx context.Context) ExternalIntegrationPtrOutput

type ExternalIntegrationArgs

type ExternalIntegrationArgs struct {
	// The name of this integration
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a ExternalIntegration resource.

func (ExternalIntegrationArgs) ElementType

func (ExternalIntegrationArgs) ElementType() reflect.Type

type ExternalIntegrationArray added in v4.3.1

type ExternalIntegrationArray []ExternalIntegrationInput

func (ExternalIntegrationArray) ElementType added in v4.3.1

func (ExternalIntegrationArray) ElementType() reflect.Type

func (ExternalIntegrationArray) ToExternalIntegrationArrayOutput added in v4.3.1

func (i ExternalIntegrationArray) ToExternalIntegrationArrayOutput() ExternalIntegrationArrayOutput

func (ExternalIntegrationArray) ToExternalIntegrationArrayOutputWithContext added in v4.3.1

func (i ExternalIntegrationArray) ToExternalIntegrationArrayOutputWithContext(ctx context.Context) ExternalIntegrationArrayOutput

type ExternalIntegrationArrayInput added in v4.3.1

type ExternalIntegrationArrayInput interface {
	pulumi.Input

	ToExternalIntegrationArrayOutput() ExternalIntegrationArrayOutput
	ToExternalIntegrationArrayOutputWithContext(context.Context) ExternalIntegrationArrayOutput
}

ExternalIntegrationArrayInput is an input type that accepts ExternalIntegrationArray and ExternalIntegrationArrayOutput values. You can construct a concrete instance of `ExternalIntegrationArrayInput` via:

ExternalIntegrationArray{ ExternalIntegrationArgs{...} }

type ExternalIntegrationArrayOutput added in v4.3.1

type ExternalIntegrationArrayOutput struct{ *pulumi.OutputState }

func (ExternalIntegrationArrayOutput) ElementType added in v4.3.1

func (ExternalIntegrationArrayOutput) Index added in v4.3.1

func (ExternalIntegrationArrayOutput) ToExternalIntegrationArrayOutput added in v4.3.1

func (o ExternalIntegrationArrayOutput) ToExternalIntegrationArrayOutput() ExternalIntegrationArrayOutput

func (ExternalIntegrationArrayOutput) ToExternalIntegrationArrayOutputWithContext added in v4.3.1

func (o ExternalIntegrationArrayOutput) ToExternalIntegrationArrayOutputWithContext(ctx context.Context) ExternalIntegrationArrayOutput

type ExternalIntegrationInput

type ExternalIntegrationInput interface {
	pulumi.Input

	ToExternalIntegrationOutput() ExternalIntegrationOutput
	ToExternalIntegrationOutputWithContext(ctx context.Context) ExternalIntegrationOutput
}

type ExternalIntegrationMap added in v4.3.1

type ExternalIntegrationMap map[string]ExternalIntegrationInput

func (ExternalIntegrationMap) ElementType added in v4.3.1

func (ExternalIntegrationMap) ElementType() reflect.Type

func (ExternalIntegrationMap) ToExternalIntegrationMapOutput added in v4.3.1

func (i ExternalIntegrationMap) ToExternalIntegrationMapOutput() ExternalIntegrationMapOutput

func (ExternalIntegrationMap) ToExternalIntegrationMapOutputWithContext added in v4.3.1

func (i ExternalIntegrationMap) ToExternalIntegrationMapOutputWithContext(ctx context.Context) ExternalIntegrationMapOutput

type ExternalIntegrationMapInput added in v4.3.1

type ExternalIntegrationMapInput interface {
	pulumi.Input

	ToExternalIntegrationMapOutput() ExternalIntegrationMapOutput
	ToExternalIntegrationMapOutputWithContext(context.Context) ExternalIntegrationMapOutput
}

ExternalIntegrationMapInput is an input type that accepts ExternalIntegrationMap and ExternalIntegrationMapOutput values. You can construct a concrete instance of `ExternalIntegrationMapInput` via:

ExternalIntegrationMap{ "key": ExternalIntegrationArgs{...} }

type ExternalIntegrationMapOutput added in v4.3.1

type ExternalIntegrationMapOutput struct{ *pulumi.OutputState }

func (ExternalIntegrationMapOutput) ElementType added in v4.3.1

func (ExternalIntegrationMapOutput) MapIndex added in v4.3.1

func (ExternalIntegrationMapOutput) ToExternalIntegrationMapOutput added in v4.3.1

func (o ExternalIntegrationMapOutput) ToExternalIntegrationMapOutput() ExternalIntegrationMapOutput

func (ExternalIntegrationMapOutput) ToExternalIntegrationMapOutputWithContext added in v4.3.1

func (o ExternalIntegrationMapOutput) ToExternalIntegrationMapOutputWithContext(ctx context.Context) ExternalIntegrationMapOutput

type ExternalIntegrationOutput

type ExternalIntegrationOutput struct {
	*pulumi.OutputState
}

func (ExternalIntegrationOutput) ElementType

func (ExternalIntegrationOutput) ElementType() reflect.Type

func (ExternalIntegrationOutput) ToExternalIntegrationOutput

func (o ExternalIntegrationOutput) ToExternalIntegrationOutput() ExternalIntegrationOutput

func (ExternalIntegrationOutput) ToExternalIntegrationOutputWithContext

func (o ExternalIntegrationOutput) ToExternalIntegrationOutputWithContext(ctx context.Context) ExternalIntegrationOutput

func (ExternalIntegrationOutput) ToExternalIntegrationPtrOutput added in v4.3.1

func (o ExternalIntegrationOutput) ToExternalIntegrationPtrOutput() ExternalIntegrationPtrOutput

func (ExternalIntegrationOutput) ToExternalIntegrationPtrOutputWithContext added in v4.3.1

func (o ExternalIntegrationOutput) ToExternalIntegrationPtrOutputWithContext(ctx context.Context) ExternalIntegrationPtrOutput

type ExternalIntegrationPtrInput added in v4.3.1

type ExternalIntegrationPtrInput interface {
	pulumi.Input

	ToExternalIntegrationPtrOutput() ExternalIntegrationPtrOutput
	ToExternalIntegrationPtrOutputWithContext(ctx context.Context) ExternalIntegrationPtrOutput
}

type ExternalIntegrationPtrOutput added in v4.3.1

type ExternalIntegrationPtrOutput struct {
	*pulumi.OutputState
}

func (ExternalIntegrationPtrOutput) ElementType added in v4.3.1

func (ExternalIntegrationPtrOutput) ToExternalIntegrationPtrOutput added in v4.3.1

func (o ExternalIntegrationPtrOutput) ToExternalIntegrationPtrOutput() ExternalIntegrationPtrOutput

func (ExternalIntegrationPtrOutput) ToExternalIntegrationPtrOutputWithContext added in v4.3.1

func (o ExternalIntegrationPtrOutput) ToExternalIntegrationPtrOutputWithContext(ctx context.Context) ExternalIntegrationPtrOutput

type ExternalIntegrationState

type ExternalIntegrationState struct {
	// The external ID to use with your IAM role and with `aws.Integration`.
	ExternalId pulumi.StringPtrInput
	// The name of this integration
	Name pulumi.StringPtrInput
	// The AWS Account ARN to use with your policies/roles, provided by SignalFx.
	SignalfxAwsAccount pulumi.StringPtrInput
}

func (ExternalIntegrationState) ElementType

func (ExternalIntegrationState) ElementType() reflect.Type

type GetServicesArgs

type GetServicesArgs struct {
	Services []GetServicesService `pulumi:"services"`
}

A collection of arguments for invoking getServices.

type GetServicesResult

type GetServicesResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id       string               `pulumi:"id"`
	Services []GetServicesService `pulumi:"services"`
}

A collection of values returned by getServices.

func GetServices

func GetServices(ctx *pulumi.Context, args *GetServicesArgs, opts ...pulumi.InvokeOption) (*GetServicesResult, error)

Use this data source to get a list of AWS service names.

type GetServicesService

type GetServicesService struct {
	Name string `pulumi:"name"`
}

type GetServicesServiceArgs

type GetServicesServiceArgs struct {
	Name pulumi.StringInput `pulumi:"name"`
}

func (GetServicesServiceArgs) ElementType

func (GetServicesServiceArgs) ElementType() reflect.Type

func (GetServicesServiceArgs) ToGetServicesServiceOutput

func (i GetServicesServiceArgs) ToGetServicesServiceOutput() GetServicesServiceOutput

func (GetServicesServiceArgs) ToGetServicesServiceOutputWithContext

func (i GetServicesServiceArgs) ToGetServicesServiceOutputWithContext(ctx context.Context) GetServicesServiceOutput

type GetServicesServiceArray

type GetServicesServiceArray []GetServicesServiceInput

func (GetServicesServiceArray) ElementType

func (GetServicesServiceArray) ElementType() reflect.Type

func (GetServicesServiceArray) ToGetServicesServiceArrayOutput

func (i GetServicesServiceArray) ToGetServicesServiceArrayOutput() GetServicesServiceArrayOutput

func (GetServicesServiceArray) ToGetServicesServiceArrayOutputWithContext

func (i GetServicesServiceArray) ToGetServicesServiceArrayOutputWithContext(ctx context.Context) GetServicesServiceArrayOutput

type GetServicesServiceArrayInput

type GetServicesServiceArrayInput interface {
	pulumi.Input

	ToGetServicesServiceArrayOutput() GetServicesServiceArrayOutput
	ToGetServicesServiceArrayOutputWithContext(context.Context) GetServicesServiceArrayOutput
}

GetServicesServiceArrayInput is an input type that accepts GetServicesServiceArray and GetServicesServiceArrayOutput values. You can construct a concrete instance of `GetServicesServiceArrayInput` via:

GetServicesServiceArray{ GetServicesServiceArgs{...} }

type GetServicesServiceArrayOutput

type GetServicesServiceArrayOutput struct{ *pulumi.OutputState }

func (GetServicesServiceArrayOutput) ElementType

func (GetServicesServiceArrayOutput) Index

func (GetServicesServiceArrayOutput) ToGetServicesServiceArrayOutput

func (o GetServicesServiceArrayOutput) ToGetServicesServiceArrayOutput() GetServicesServiceArrayOutput

func (GetServicesServiceArrayOutput) ToGetServicesServiceArrayOutputWithContext

func (o GetServicesServiceArrayOutput) ToGetServicesServiceArrayOutputWithContext(ctx context.Context) GetServicesServiceArrayOutput

type GetServicesServiceInput

type GetServicesServiceInput interface {
	pulumi.Input

	ToGetServicesServiceOutput() GetServicesServiceOutput
	ToGetServicesServiceOutputWithContext(context.Context) GetServicesServiceOutput
}

GetServicesServiceInput is an input type that accepts GetServicesServiceArgs and GetServicesServiceOutput values. You can construct a concrete instance of `GetServicesServiceInput` via:

GetServicesServiceArgs{...}

type GetServicesServiceOutput

type GetServicesServiceOutput struct{ *pulumi.OutputState }

func (GetServicesServiceOutput) ElementType

func (GetServicesServiceOutput) ElementType() reflect.Type

func (GetServicesServiceOutput) Name

func (GetServicesServiceOutput) ToGetServicesServiceOutput

func (o GetServicesServiceOutput) ToGetServicesServiceOutput() GetServicesServiceOutput

func (GetServicesServiceOutput) ToGetServicesServiceOutputWithContext

func (o GetServicesServiceOutput) ToGetServicesServiceOutputWithContext(ctx context.Context) GetServicesServiceOutput

type Integration

type Integration struct {
	pulumi.CustomResourceState

	// List of custom AWS CloudWatch namespaces to monitor. Custom namespaces contain custom metrics that you define in AWS; SignalFx imports the metrics so you can monitor them.
	CustomCloudwatchNamespaces pulumi.StringArrayOutput `pulumi:"customCloudwatchNamespaces"`
	// Each element controls the data collected by SignalFx for the specified namespace. Conflicts with the `customCloudwatchNamespaces` property.
	CustomNamespaceSyncRules IntegrationCustomNamespaceSyncRuleArrayOutput `pulumi:"customNamespaceSyncRules"`
	// Flag that controls how SignalFx imports usage metrics from AWS to use with AWS Cost Optimizer. If `true`, SignalFx imports the metrics.
	EnableAwsUsage pulumi.BoolPtrOutput `pulumi:"enableAwsUsage"`
	// Controls how SignalFx checks for large amounts of data for this AWS integration. If `true`, SignalFx monitors the amount of data coming in from the integration.
	EnableCheckLargeVolume pulumi.BoolPtrOutput `pulumi:"enableCheckLargeVolume"`
	// Whether the integration is enabled.
	Enabled pulumi.BoolOutput `pulumi:"enabled"`
	// The `externalId` property from one of a `aws.ExternalIntegration` or `aws.TokenIntegration`
	ExternalId pulumi.StringPtrOutput `pulumi:"externalId"`
	// Flag that controls how SignalFx imports Cloud Watch metrics. If true, SignalFx imports Cloud Watch metrics from AWS.
	ImportCloudWatch pulumi.BoolPtrOutput `pulumi:"importCloudWatch"`
	// The id of one of a `aws.ExternalIntegration` or `aws.TokenIntegration`.
	IntegrationId pulumi.StringOutput `pulumi:"integrationId"`
	// If you specify `authMethod = \"SecurityToken\"` in your request to create an AWS integration object, use this property to specify the key.
	Key pulumi.StringPtrOutput `pulumi:"key"`
	// A named token to use for ingest
	NamedToken pulumi.StringPtrOutput `pulumi:"namedToken"`
	// Each element in the array is an object that contains an AWS namespace name and a filter that controls the data that SignalFx collects for the namespace. Conflicts with the `services` property. If you don't specify either property, SignalFx syncs all data in all AWS namespaces.
	NamespaceSyncRules IntegrationNamespaceSyncRuleArrayOutput `pulumi:"namespaceSyncRules"`
	// AWS poll rate (in seconds). Value between `60` and `300`.
	PollRate pulumi.IntPtrOutput `pulumi:"pollRate"`
	// List of AWS regions that SignalFx should monitor.
	Regions pulumi.StringArrayOutput `pulumi:"regions"`
	// Role ARN that you add to an existing AWS integration object. **Note**: Ensure you use the `arn` property of your role, not the id!
	RoleArn pulumi.StringPtrOutput `pulumi:"roleArn"`
	// List of AWS services that you want SignalFx to monitor. Each element is a string designating an AWS service. Conflicts with `namespaceSyncRule`. See the documentation for [Creating Integrations](https://developers.signalfx.com/integrations_reference.html#operation/Create%20Integration) for valida values.
	Services pulumi.StringArrayOutput `pulumi:"services"`
	// Used with `signalfx_aws_token_integration`. Use this property to specify the token.
	Token pulumi.StringPtrOutput `pulumi:"token"`
	// Enable the use of Amazon's `GetMetricData` for collecting metrics. Note that this requires the inclusion of the `"cloudwatch:GetMetricData"` permission.
	UseGetMetricDataMethod pulumi.BoolPtrOutput `pulumi:"useGetMetricDataMethod"`
}

SignalFx AWS CloudWatch integrations. For help with this integration see [Monitoring Amazon Web Services](https://docs.signalfx.com/en/latest/integrations/amazon-web-services.html#monitor-amazon-web-services).

> **NOTE** When managing integrations you'll need to use an admin token to authenticate the SignalFx provider.

> **WARNING** This resource implements a part of a workflow. You must use it with one of either `aws.ExternalIntegration` or `aws.TokenIntegration`.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/iam"
"github.com/pulumi/pulumi-signalfx/sdk/v4/go/signalfx/aws"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		awsMyteamExternal, err := aws.NewExternalIntegration(ctx, "awsMyteamExternal", nil)
		if err != nil {
			return err
		}
		awsSfxRole, err := iam.NewRole(ctx, "awsSfxRole", nil)
		if err != nil {
			return err
		}
		_, err = aws.NewIntegration(ctx, "awsMyteam", &aws.IntegrationArgs{
			Enabled:       pulumi.Bool(true),
			IntegrationId: awsMyteamExternal.ID(),
			ExternalId:    awsMyteamExternal.ExternalId,
			RoleArn:       awsSfxRole.Arn,
			Regions: pulumi.StringArray{
				pulumi.String("us-east-1"),
			},
			PollRate:         pulumi.Int(300),
			ImportCloudWatch: pulumi.Bool(true),
			EnableAwsUsage:   pulumi.Bool(true),
			CustomNamespaceSyncRules: aws.IntegrationCustomNamespaceSyncRuleArray{
				&aws.IntegrationCustomNamespaceSyncRuleArgs{
					DefaultAction: pulumi.String("Exclude"),
					FilterAction:  pulumi.String("Include"),
					FilterSource:  pulumi.String("filter('code', '200')"),
					Namespace:     pulumi.String("fart"),
				},
			},
			NamespaceSyncRules: aws.IntegrationNamespaceSyncRuleArray{
				&aws.IntegrationNamespaceSyncRuleArgs{
					DefaultAction: pulumi.String("Exclude"),
					FilterAction:  pulumi.String("Include"),
					FilterSource:  pulumi.String("filter('code', '200')"),
					Namespace:     pulumi.String("AWS/EC2"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Service Names

> **NOTE** You can use the data source "aws.getServices" to specify all services.

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

func (*Integration) ToIntegrationPtrOutput added in v4.3.1

func (i *Integration) ToIntegrationPtrOutput() IntegrationPtrOutput

func (*Integration) ToIntegrationPtrOutputWithContext added in v4.3.1

func (i *Integration) ToIntegrationPtrOutputWithContext(ctx context.Context) IntegrationPtrOutput

type IntegrationArgs

type IntegrationArgs struct {
	// List of custom AWS CloudWatch namespaces to monitor. Custom namespaces contain custom metrics that you define in AWS; SignalFx imports the metrics so you can monitor them.
	CustomCloudwatchNamespaces pulumi.StringArrayInput
	// Each element controls the data collected by SignalFx for the specified namespace. Conflicts with the `customCloudwatchNamespaces` property.
	CustomNamespaceSyncRules IntegrationCustomNamespaceSyncRuleArrayInput
	// Flag that controls how SignalFx imports usage metrics from AWS to use with AWS Cost Optimizer. If `true`, SignalFx imports the metrics.
	EnableAwsUsage pulumi.BoolPtrInput
	// Controls how SignalFx checks for large amounts of data for this AWS integration. If `true`, SignalFx monitors the amount of data coming in from the integration.
	EnableCheckLargeVolume pulumi.BoolPtrInput
	// Whether the integration is enabled.
	Enabled pulumi.BoolInput
	// The `externalId` property from one of a `aws.ExternalIntegration` or `aws.TokenIntegration`
	ExternalId pulumi.StringPtrInput
	// Flag that controls how SignalFx imports Cloud Watch metrics. If true, SignalFx imports Cloud Watch metrics from AWS.
	ImportCloudWatch pulumi.BoolPtrInput
	// The id of one of a `aws.ExternalIntegration` or `aws.TokenIntegration`.
	IntegrationId pulumi.StringInput
	// If you specify `authMethod = \"SecurityToken\"` in your request to create an AWS integration object, use this property to specify the key.
	Key pulumi.StringPtrInput
	// A named token to use for ingest
	NamedToken pulumi.StringPtrInput
	// Each element in the array is an object that contains an AWS namespace name and a filter that controls the data that SignalFx collects for the namespace. Conflicts with the `services` property. If you don't specify either property, SignalFx syncs all data in all AWS namespaces.
	NamespaceSyncRules IntegrationNamespaceSyncRuleArrayInput
	// AWS poll rate (in seconds). Value between `60` and `300`.
	PollRate pulumi.IntPtrInput
	// List of AWS regions that SignalFx should monitor.
	Regions pulumi.StringArrayInput
	// Role ARN that you add to an existing AWS integration object. **Note**: Ensure you use the `arn` property of your role, not the id!
	RoleArn pulumi.StringPtrInput
	// List of AWS services that you want SignalFx to monitor. Each element is a string designating an AWS service. Conflicts with `namespaceSyncRule`. See the documentation for [Creating Integrations](https://developers.signalfx.com/integrations_reference.html#operation/Create%20Integration) for valida values.
	Services pulumi.StringArrayInput
	// Used with `signalfx_aws_token_integration`. Use this property to specify the token.
	Token pulumi.StringPtrInput
	// Enable the use of Amazon's `GetMetricData` for collecting metrics. Note that this requires the inclusion of the `"cloudwatch:GetMetricData"` permission.
	UseGetMetricDataMethod pulumi.BoolPtrInput
}

The set of arguments for constructing a Integration resource.

func (IntegrationArgs) ElementType

func (IntegrationArgs) ElementType() reflect.Type

type IntegrationArray added in v4.3.1

type IntegrationArray []IntegrationInput

func (IntegrationArray) ElementType added in v4.3.1

func (IntegrationArray) ElementType() reflect.Type

func (IntegrationArray) ToIntegrationArrayOutput added in v4.3.1

func (i IntegrationArray) ToIntegrationArrayOutput() IntegrationArrayOutput

func (IntegrationArray) ToIntegrationArrayOutputWithContext added in v4.3.1

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

type IntegrationArrayInput added in v4.3.1

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 added in v4.3.1

type IntegrationArrayOutput struct{ *pulumi.OutputState }

func (IntegrationArrayOutput) ElementType added in v4.3.1

func (IntegrationArrayOutput) ElementType() reflect.Type

func (IntegrationArrayOutput) Index added in v4.3.1

func (IntegrationArrayOutput) ToIntegrationArrayOutput added in v4.3.1

func (o IntegrationArrayOutput) ToIntegrationArrayOutput() IntegrationArrayOutput

func (IntegrationArrayOutput) ToIntegrationArrayOutputWithContext added in v4.3.1

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

type IntegrationCustomNamespaceSyncRule

type IntegrationCustomNamespaceSyncRule struct {
	// Controls the SignalFx default behavior for processing data from an AWS namespace. If you do specify a filter, use this property to control how SignalFx treats data that doesn't match the filter. The available actions are one of `"Include"` or `"Exclude"`.
	DefaultAction *string `pulumi:"defaultAction"`
	// Controls how SignalFx processes data from a custom AWS namespace. The available actions are one of `"Include"` or `"Exclude"`.
	FilterAction *string `pulumi:"filterAction"`
	// Expression that selects the data that SignalFx should sync for the custom namespace associated with this sync rule. The expression uses the syntax defined for the SignalFlow `filter()` function; it can be any valid SignalFlow filter expression.
	FilterSource *string `pulumi:"filterSource"`
	// An AWS custom namespace having custom AWS metrics that you want to sync with SignalFx. See the AWS documentation on publishing metrics for more information.
	Namespace string `pulumi:"namespace"`
}

type IntegrationCustomNamespaceSyncRuleArgs

type IntegrationCustomNamespaceSyncRuleArgs struct {
	// Controls the SignalFx default behavior for processing data from an AWS namespace. If you do specify a filter, use this property to control how SignalFx treats data that doesn't match the filter. The available actions are one of `"Include"` or `"Exclude"`.
	DefaultAction pulumi.StringPtrInput `pulumi:"defaultAction"`
	// Controls how SignalFx processes data from a custom AWS namespace. The available actions are one of `"Include"` or `"Exclude"`.
	FilterAction pulumi.StringPtrInput `pulumi:"filterAction"`
	// Expression that selects the data that SignalFx should sync for the custom namespace associated with this sync rule. The expression uses the syntax defined for the SignalFlow `filter()` function; it can be any valid SignalFlow filter expression.
	FilterSource pulumi.StringPtrInput `pulumi:"filterSource"`
	// An AWS custom namespace having custom AWS metrics that you want to sync with SignalFx. See the AWS documentation on publishing metrics for more information.
	Namespace pulumi.StringInput `pulumi:"namespace"`
}

func (IntegrationCustomNamespaceSyncRuleArgs) ElementType

func (IntegrationCustomNamespaceSyncRuleArgs) ToIntegrationCustomNamespaceSyncRuleOutput

func (i IntegrationCustomNamespaceSyncRuleArgs) ToIntegrationCustomNamespaceSyncRuleOutput() IntegrationCustomNamespaceSyncRuleOutput

func (IntegrationCustomNamespaceSyncRuleArgs) ToIntegrationCustomNamespaceSyncRuleOutputWithContext

func (i IntegrationCustomNamespaceSyncRuleArgs) ToIntegrationCustomNamespaceSyncRuleOutputWithContext(ctx context.Context) IntegrationCustomNamespaceSyncRuleOutput

type IntegrationCustomNamespaceSyncRuleArray

type IntegrationCustomNamespaceSyncRuleArray []IntegrationCustomNamespaceSyncRuleInput

func (IntegrationCustomNamespaceSyncRuleArray) ElementType

func (IntegrationCustomNamespaceSyncRuleArray) ToIntegrationCustomNamespaceSyncRuleArrayOutput

func (i IntegrationCustomNamespaceSyncRuleArray) ToIntegrationCustomNamespaceSyncRuleArrayOutput() IntegrationCustomNamespaceSyncRuleArrayOutput

func (IntegrationCustomNamespaceSyncRuleArray) ToIntegrationCustomNamespaceSyncRuleArrayOutputWithContext

func (i IntegrationCustomNamespaceSyncRuleArray) ToIntegrationCustomNamespaceSyncRuleArrayOutputWithContext(ctx context.Context) IntegrationCustomNamespaceSyncRuleArrayOutput

type IntegrationCustomNamespaceSyncRuleArrayInput

type IntegrationCustomNamespaceSyncRuleArrayInput interface {
	pulumi.Input

	ToIntegrationCustomNamespaceSyncRuleArrayOutput() IntegrationCustomNamespaceSyncRuleArrayOutput
	ToIntegrationCustomNamespaceSyncRuleArrayOutputWithContext(context.Context) IntegrationCustomNamespaceSyncRuleArrayOutput
}

IntegrationCustomNamespaceSyncRuleArrayInput is an input type that accepts IntegrationCustomNamespaceSyncRuleArray and IntegrationCustomNamespaceSyncRuleArrayOutput values. You can construct a concrete instance of `IntegrationCustomNamespaceSyncRuleArrayInput` via:

IntegrationCustomNamespaceSyncRuleArray{ IntegrationCustomNamespaceSyncRuleArgs{...} }

type IntegrationCustomNamespaceSyncRuleArrayOutput

type IntegrationCustomNamespaceSyncRuleArrayOutput struct{ *pulumi.OutputState }

func (IntegrationCustomNamespaceSyncRuleArrayOutput) ElementType

func (IntegrationCustomNamespaceSyncRuleArrayOutput) Index

func (IntegrationCustomNamespaceSyncRuleArrayOutput) ToIntegrationCustomNamespaceSyncRuleArrayOutput

func (o IntegrationCustomNamespaceSyncRuleArrayOutput) ToIntegrationCustomNamespaceSyncRuleArrayOutput() IntegrationCustomNamespaceSyncRuleArrayOutput

func (IntegrationCustomNamespaceSyncRuleArrayOutput) ToIntegrationCustomNamespaceSyncRuleArrayOutputWithContext

func (o IntegrationCustomNamespaceSyncRuleArrayOutput) ToIntegrationCustomNamespaceSyncRuleArrayOutputWithContext(ctx context.Context) IntegrationCustomNamespaceSyncRuleArrayOutput

type IntegrationCustomNamespaceSyncRuleInput

type IntegrationCustomNamespaceSyncRuleInput interface {
	pulumi.Input

	ToIntegrationCustomNamespaceSyncRuleOutput() IntegrationCustomNamespaceSyncRuleOutput
	ToIntegrationCustomNamespaceSyncRuleOutputWithContext(context.Context) IntegrationCustomNamespaceSyncRuleOutput
}

IntegrationCustomNamespaceSyncRuleInput is an input type that accepts IntegrationCustomNamespaceSyncRuleArgs and IntegrationCustomNamespaceSyncRuleOutput values. You can construct a concrete instance of `IntegrationCustomNamespaceSyncRuleInput` via:

IntegrationCustomNamespaceSyncRuleArgs{...}

type IntegrationCustomNamespaceSyncRuleOutput

type IntegrationCustomNamespaceSyncRuleOutput struct{ *pulumi.OutputState }

func (IntegrationCustomNamespaceSyncRuleOutput) DefaultAction

Controls the SignalFx default behavior for processing data from an AWS namespace. If you do specify a filter, use this property to control how SignalFx treats data that doesn't match the filter. The available actions are one of `"Include"` or `"Exclude"`.

func (IntegrationCustomNamespaceSyncRuleOutput) ElementType

func (IntegrationCustomNamespaceSyncRuleOutput) FilterAction

Controls how SignalFx processes data from a custom AWS namespace. The available actions are one of `"Include"` or `"Exclude"`.

func (IntegrationCustomNamespaceSyncRuleOutput) FilterSource

Expression that selects the data that SignalFx should sync for the custom namespace associated with this sync rule. The expression uses the syntax defined for the SignalFlow `filter()` function; it can be any valid SignalFlow filter expression.

func (IntegrationCustomNamespaceSyncRuleOutput) Namespace

An AWS custom namespace having custom AWS metrics that you want to sync with SignalFx. See the AWS documentation on publishing metrics for more information.

func (IntegrationCustomNamespaceSyncRuleOutput) ToIntegrationCustomNamespaceSyncRuleOutput

func (o IntegrationCustomNamespaceSyncRuleOutput) ToIntegrationCustomNamespaceSyncRuleOutput() IntegrationCustomNamespaceSyncRuleOutput

func (IntegrationCustomNamespaceSyncRuleOutput) ToIntegrationCustomNamespaceSyncRuleOutputWithContext

func (o IntegrationCustomNamespaceSyncRuleOutput) ToIntegrationCustomNamespaceSyncRuleOutputWithContext(ctx context.Context) IntegrationCustomNamespaceSyncRuleOutput

type IntegrationInput

type IntegrationInput interface {
	pulumi.Input

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

type IntegrationMap added in v4.3.1

type IntegrationMap map[string]IntegrationInput

func (IntegrationMap) ElementType added in v4.3.1

func (IntegrationMap) ElementType() reflect.Type

func (IntegrationMap) ToIntegrationMapOutput added in v4.3.1

func (i IntegrationMap) ToIntegrationMapOutput() IntegrationMapOutput

func (IntegrationMap) ToIntegrationMapOutputWithContext added in v4.3.1

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

type IntegrationMapInput added in v4.3.1

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 added in v4.3.1

type IntegrationMapOutput struct{ *pulumi.OutputState }

func (IntegrationMapOutput) ElementType added in v4.3.1

func (IntegrationMapOutput) ElementType() reflect.Type

func (IntegrationMapOutput) MapIndex added in v4.3.1

func (IntegrationMapOutput) ToIntegrationMapOutput added in v4.3.1

func (o IntegrationMapOutput) ToIntegrationMapOutput() IntegrationMapOutput

func (IntegrationMapOutput) ToIntegrationMapOutputWithContext added in v4.3.1

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

type IntegrationNamespaceSyncRule

type IntegrationNamespaceSyncRule struct {
	// Controls the SignalFx default behavior for processing data from an AWS namespace. If you do specify a filter, use this property to control how SignalFx treats data that doesn't match the filter. The available actions are one of `"Include"` or `"Exclude"`.
	DefaultAction *string `pulumi:"defaultAction"`
	// Controls how SignalFx processes data from a custom AWS namespace. The available actions are one of `"Include"` or `"Exclude"`.
	FilterAction *string `pulumi:"filterAction"`
	// Expression that selects the data that SignalFx should sync for the custom namespace associated with this sync rule. The expression uses the syntax defined for the SignalFlow `filter()` function; it can be any valid SignalFlow filter expression.
	FilterSource *string `pulumi:"filterSource"`
	// An AWS custom namespace having custom AWS metrics that you want to sync with SignalFx. See the AWS documentation on publishing metrics for more information.
	Namespace string `pulumi:"namespace"`
}

type IntegrationNamespaceSyncRuleArgs

type IntegrationNamespaceSyncRuleArgs struct {
	// Controls the SignalFx default behavior for processing data from an AWS namespace. If you do specify a filter, use this property to control how SignalFx treats data that doesn't match the filter. The available actions are one of `"Include"` or `"Exclude"`.
	DefaultAction pulumi.StringPtrInput `pulumi:"defaultAction"`
	// Controls how SignalFx processes data from a custom AWS namespace. The available actions are one of `"Include"` or `"Exclude"`.
	FilterAction pulumi.StringPtrInput `pulumi:"filterAction"`
	// Expression that selects the data that SignalFx should sync for the custom namespace associated with this sync rule. The expression uses the syntax defined for the SignalFlow `filter()` function; it can be any valid SignalFlow filter expression.
	FilterSource pulumi.StringPtrInput `pulumi:"filterSource"`
	// An AWS custom namespace having custom AWS metrics that you want to sync with SignalFx. See the AWS documentation on publishing metrics for more information.
	Namespace pulumi.StringInput `pulumi:"namespace"`
}

func (IntegrationNamespaceSyncRuleArgs) ElementType

func (IntegrationNamespaceSyncRuleArgs) ToIntegrationNamespaceSyncRuleOutput

func (i IntegrationNamespaceSyncRuleArgs) ToIntegrationNamespaceSyncRuleOutput() IntegrationNamespaceSyncRuleOutput

func (IntegrationNamespaceSyncRuleArgs) ToIntegrationNamespaceSyncRuleOutputWithContext

func (i IntegrationNamespaceSyncRuleArgs) ToIntegrationNamespaceSyncRuleOutputWithContext(ctx context.Context) IntegrationNamespaceSyncRuleOutput

type IntegrationNamespaceSyncRuleArray

type IntegrationNamespaceSyncRuleArray []IntegrationNamespaceSyncRuleInput

func (IntegrationNamespaceSyncRuleArray) ElementType

func (IntegrationNamespaceSyncRuleArray) ToIntegrationNamespaceSyncRuleArrayOutput

func (i IntegrationNamespaceSyncRuleArray) ToIntegrationNamespaceSyncRuleArrayOutput() IntegrationNamespaceSyncRuleArrayOutput

func (IntegrationNamespaceSyncRuleArray) ToIntegrationNamespaceSyncRuleArrayOutputWithContext

func (i IntegrationNamespaceSyncRuleArray) ToIntegrationNamespaceSyncRuleArrayOutputWithContext(ctx context.Context) IntegrationNamespaceSyncRuleArrayOutput

type IntegrationNamespaceSyncRuleArrayInput

type IntegrationNamespaceSyncRuleArrayInput interface {
	pulumi.Input

	ToIntegrationNamespaceSyncRuleArrayOutput() IntegrationNamespaceSyncRuleArrayOutput
	ToIntegrationNamespaceSyncRuleArrayOutputWithContext(context.Context) IntegrationNamespaceSyncRuleArrayOutput
}

IntegrationNamespaceSyncRuleArrayInput is an input type that accepts IntegrationNamespaceSyncRuleArray and IntegrationNamespaceSyncRuleArrayOutput values. You can construct a concrete instance of `IntegrationNamespaceSyncRuleArrayInput` via:

IntegrationNamespaceSyncRuleArray{ IntegrationNamespaceSyncRuleArgs{...} }

type IntegrationNamespaceSyncRuleArrayOutput

type IntegrationNamespaceSyncRuleArrayOutput struct{ *pulumi.OutputState }

func (IntegrationNamespaceSyncRuleArrayOutput) ElementType

func (IntegrationNamespaceSyncRuleArrayOutput) Index

func (IntegrationNamespaceSyncRuleArrayOutput) ToIntegrationNamespaceSyncRuleArrayOutput

func (o IntegrationNamespaceSyncRuleArrayOutput) ToIntegrationNamespaceSyncRuleArrayOutput() IntegrationNamespaceSyncRuleArrayOutput

func (IntegrationNamespaceSyncRuleArrayOutput) ToIntegrationNamespaceSyncRuleArrayOutputWithContext

func (o IntegrationNamespaceSyncRuleArrayOutput) ToIntegrationNamespaceSyncRuleArrayOutputWithContext(ctx context.Context) IntegrationNamespaceSyncRuleArrayOutput

type IntegrationNamespaceSyncRuleInput

type IntegrationNamespaceSyncRuleInput interface {
	pulumi.Input

	ToIntegrationNamespaceSyncRuleOutput() IntegrationNamespaceSyncRuleOutput
	ToIntegrationNamespaceSyncRuleOutputWithContext(context.Context) IntegrationNamespaceSyncRuleOutput
}

IntegrationNamespaceSyncRuleInput is an input type that accepts IntegrationNamespaceSyncRuleArgs and IntegrationNamespaceSyncRuleOutput values. You can construct a concrete instance of `IntegrationNamespaceSyncRuleInput` via:

IntegrationNamespaceSyncRuleArgs{...}

type IntegrationNamespaceSyncRuleOutput

type IntegrationNamespaceSyncRuleOutput struct{ *pulumi.OutputState }

func (IntegrationNamespaceSyncRuleOutput) DefaultAction

Controls the SignalFx default behavior for processing data from an AWS namespace. If you do specify a filter, use this property to control how SignalFx treats data that doesn't match the filter. The available actions are one of `"Include"` or `"Exclude"`.

func (IntegrationNamespaceSyncRuleOutput) ElementType

func (IntegrationNamespaceSyncRuleOutput) FilterAction

Controls how SignalFx processes data from a custom AWS namespace. The available actions are one of `"Include"` or `"Exclude"`.

func (IntegrationNamespaceSyncRuleOutput) FilterSource

Expression that selects the data that SignalFx should sync for the custom namespace associated with this sync rule. The expression uses the syntax defined for the SignalFlow `filter()` function; it can be any valid SignalFlow filter expression.

func (IntegrationNamespaceSyncRuleOutput) Namespace

An AWS custom namespace having custom AWS metrics that you want to sync with SignalFx. See the AWS documentation on publishing metrics for more information.

func (IntegrationNamespaceSyncRuleOutput) ToIntegrationNamespaceSyncRuleOutput

func (o IntegrationNamespaceSyncRuleOutput) ToIntegrationNamespaceSyncRuleOutput() IntegrationNamespaceSyncRuleOutput

func (IntegrationNamespaceSyncRuleOutput) ToIntegrationNamespaceSyncRuleOutputWithContext

func (o IntegrationNamespaceSyncRuleOutput) ToIntegrationNamespaceSyncRuleOutputWithContext(ctx context.Context) IntegrationNamespaceSyncRuleOutput

type IntegrationOutput

type IntegrationOutput struct {
	*pulumi.OutputState
}

func (IntegrationOutput) ElementType

func (IntegrationOutput) ElementType() reflect.Type

func (IntegrationOutput) ToIntegrationOutput

func (o IntegrationOutput) ToIntegrationOutput() IntegrationOutput

func (IntegrationOutput) ToIntegrationOutputWithContext

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

func (IntegrationOutput) ToIntegrationPtrOutput added in v4.3.1

func (o IntegrationOutput) ToIntegrationPtrOutput() IntegrationPtrOutput

func (IntegrationOutput) ToIntegrationPtrOutputWithContext added in v4.3.1

func (o IntegrationOutput) ToIntegrationPtrOutputWithContext(ctx context.Context) IntegrationPtrOutput

type IntegrationPtrInput added in v4.3.1

type IntegrationPtrInput interface {
	pulumi.Input

	ToIntegrationPtrOutput() IntegrationPtrOutput
	ToIntegrationPtrOutputWithContext(ctx context.Context) IntegrationPtrOutput
}

type IntegrationPtrOutput added in v4.3.1

type IntegrationPtrOutput struct {
	*pulumi.OutputState
}

func (IntegrationPtrOutput) ElementType added in v4.3.1

func (IntegrationPtrOutput) ElementType() reflect.Type

func (IntegrationPtrOutput) ToIntegrationPtrOutput added in v4.3.1

func (o IntegrationPtrOutput) ToIntegrationPtrOutput() IntegrationPtrOutput

func (IntegrationPtrOutput) ToIntegrationPtrOutputWithContext added in v4.3.1

func (o IntegrationPtrOutput) ToIntegrationPtrOutputWithContext(ctx context.Context) IntegrationPtrOutput

type IntegrationState

type IntegrationState struct {
	// List of custom AWS CloudWatch namespaces to monitor. Custom namespaces contain custom metrics that you define in AWS; SignalFx imports the metrics so you can monitor them.
	CustomCloudwatchNamespaces pulumi.StringArrayInput
	// Each element controls the data collected by SignalFx for the specified namespace. Conflicts with the `customCloudwatchNamespaces` property.
	CustomNamespaceSyncRules IntegrationCustomNamespaceSyncRuleArrayInput
	// Flag that controls how SignalFx imports usage metrics from AWS to use with AWS Cost Optimizer. If `true`, SignalFx imports the metrics.
	EnableAwsUsage pulumi.BoolPtrInput
	// Controls how SignalFx checks for large amounts of data for this AWS integration. If `true`, SignalFx monitors the amount of data coming in from the integration.
	EnableCheckLargeVolume pulumi.BoolPtrInput
	// Whether the integration is enabled.
	Enabled pulumi.BoolPtrInput
	// The `externalId` property from one of a `aws.ExternalIntegration` or `aws.TokenIntegration`
	ExternalId pulumi.StringPtrInput
	// Flag that controls how SignalFx imports Cloud Watch metrics. If true, SignalFx imports Cloud Watch metrics from AWS.
	ImportCloudWatch pulumi.BoolPtrInput
	// The id of one of a `aws.ExternalIntegration` or `aws.TokenIntegration`.
	IntegrationId pulumi.StringPtrInput
	// If you specify `authMethod = \"SecurityToken\"` in your request to create an AWS integration object, use this property to specify the key.
	Key pulumi.StringPtrInput
	// A named token to use for ingest
	NamedToken pulumi.StringPtrInput
	// Each element in the array is an object that contains an AWS namespace name and a filter that controls the data that SignalFx collects for the namespace. Conflicts with the `services` property. If you don't specify either property, SignalFx syncs all data in all AWS namespaces.
	NamespaceSyncRules IntegrationNamespaceSyncRuleArrayInput
	// AWS poll rate (in seconds). Value between `60` and `300`.
	PollRate pulumi.IntPtrInput
	// List of AWS regions that SignalFx should monitor.
	Regions pulumi.StringArrayInput
	// Role ARN that you add to an existing AWS integration object. **Note**: Ensure you use the `arn` property of your role, not the id!
	RoleArn pulumi.StringPtrInput
	// List of AWS services that you want SignalFx to monitor. Each element is a string designating an AWS service. Conflicts with `namespaceSyncRule`. See the documentation for [Creating Integrations](https://developers.signalfx.com/integrations_reference.html#operation/Create%20Integration) for valida values.
	Services pulumi.StringArrayInput
	// Used with `signalfx_aws_token_integration`. Use this property to specify the token.
	Token pulumi.StringPtrInput
	// Enable the use of Amazon's `GetMetricData` for collecting metrics. Note that this requires the inclusion of the `"cloudwatch:GetMetricData"` permission.
	UseGetMetricDataMethod pulumi.BoolPtrInput
}

func (IntegrationState) ElementType

func (IntegrationState) ElementType() reflect.Type

type TokenIntegration

type TokenIntegration struct {
	pulumi.CustomResourceState

	// The name of this integration
	Name pulumi.StringOutput `pulumi:"name"`
	// The AWS Account ARN to use with your policies/roles, provided by SignalFx.
	SignalfxAwsAccount pulumi.StringOutput `pulumi:"signalfxAwsAccount"`
	// The SignalFx-generated AWS token to use with an AWS integration.
	TokenId pulumi.StringOutput `pulumi:"tokenId"`
}

SignalFx AWS CloudWatch integrations using security tokens. For help with this integration see [Connect to AWS CloudWatch](https://docs.signalfx.com/en/latest/integrations/amazon-web-services.html#connect-to-aws).

> **NOTE** When managing integrations you'll need to use an admin token to authenticate the SignalFx provider.

> **WARNING** This resource implements a part of a workflow. You must use it with `aws.Integration`.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/iam"
"github.com/pulumi/pulumi-signalfx/sdk/v4/go/signalfx/aws"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		awsMyteamToken, err := aws.NewTokenIntegration(ctx, "awsMyteamToken", nil)
		if err != nil {
			return err
		}
		_, err = iam.NewRole(ctx, "awsSfxRole", nil)
		if err != nil {
			return err
		}
		_, err = aws.NewIntegration(ctx, "awsMyteam", &aws.IntegrationArgs{
			Enabled:       pulumi.Bool(true),
			IntegrationId: awsMyteamToken.ID(),
			Token:         pulumi.String("put_your_token_here"),
			Key:           pulumi.String("put_your_key_here"),
			Regions: pulumi.StringArray{
				pulumi.String("us-east-1"),
			},
			PollRate:         pulumi.Int(300),
			ImportCloudWatch: pulumi.Bool(true),
			EnableAwsUsage:   pulumi.Bool(true),
			CustomNamespaceSyncRules: aws.IntegrationCustomNamespaceSyncRuleArray{
				&aws.IntegrationCustomNamespaceSyncRuleArgs{
					DefaultAction: pulumi.String("Exclude"),
					FilterAction:  pulumi.String("Include"),
					FilterSource:  pulumi.String("filter('code', '200')"),
					Namespace:     pulumi.String("fart"),
				},
			},
			NamespaceSyncRules: aws.IntegrationNamespaceSyncRuleArray{
				&aws.IntegrationNamespaceSyncRuleArgs{
					DefaultAction: pulumi.String("Exclude"),
					FilterAction:  pulumi.String("Include"),
					FilterSource:  pulumi.String("filter('code', '200')"),
					Namespace:     pulumi.String("AWS/EC2"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetTokenIntegration

func GetTokenIntegration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TokenIntegrationState, opts ...pulumi.ResourceOption) (*TokenIntegration, error)

GetTokenIntegration gets an existing TokenIntegration 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 NewTokenIntegration

func NewTokenIntegration(ctx *pulumi.Context,
	name string, args *TokenIntegrationArgs, opts ...pulumi.ResourceOption) (*TokenIntegration, error)

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

func (*TokenIntegration) ElementType

func (*TokenIntegration) ElementType() reflect.Type

func (*TokenIntegration) ToTokenIntegrationOutput

func (i *TokenIntegration) ToTokenIntegrationOutput() TokenIntegrationOutput

func (*TokenIntegration) ToTokenIntegrationOutputWithContext

func (i *TokenIntegration) ToTokenIntegrationOutputWithContext(ctx context.Context) TokenIntegrationOutput

func (*TokenIntegration) ToTokenIntegrationPtrOutput added in v4.3.1

func (i *TokenIntegration) ToTokenIntegrationPtrOutput() TokenIntegrationPtrOutput

func (*TokenIntegration) ToTokenIntegrationPtrOutputWithContext added in v4.3.1

func (i *TokenIntegration) ToTokenIntegrationPtrOutputWithContext(ctx context.Context) TokenIntegrationPtrOutput

type TokenIntegrationArgs

type TokenIntegrationArgs struct {
	// The name of this integration
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a TokenIntegration resource.

func (TokenIntegrationArgs) ElementType

func (TokenIntegrationArgs) ElementType() reflect.Type

type TokenIntegrationArray added in v4.3.1

type TokenIntegrationArray []TokenIntegrationInput

func (TokenIntegrationArray) ElementType added in v4.3.1

func (TokenIntegrationArray) ElementType() reflect.Type

func (TokenIntegrationArray) ToTokenIntegrationArrayOutput added in v4.3.1

func (i TokenIntegrationArray) ToTokenIntegrationArrayOutput() TokenIntegrationArrayOutput

func (TokenIntegrationArray) ToTokenIntegrationArrayOutputWithContext added in v4.3.1

func (i TokenIntegrationArray) ToTokenIntegrationArrayOutputWithContext(ctx context.Context) TokenIntegrationArrayOutput

type TokenIntegrationArrayInput added in v4.3.1

type TokenIntegrationArrayInput interface {
	pulumi.Input

	ToTokenIntegrationArrayOutput() TokenIntegrationArrayOutput
	ToTokenIntegrationArrayOutputWithContext(context.Context) TokenIntegrationArrayOutput
}

TokenIntegrationArrayInput is an input type that accepts TokenIntegrationArray and TokenIntegrationArrayOutput values. You can construct a concrete instance of `TokenIntegrationArrayInput` via:

TokenIntegrationArray{ TokenIntegrationArgs{...} }

type TokenIntegrationArrayOutput added in v4.3.1

type TokenIntegrationArrayOutput struct{ *pulumi.OutputState }

func (TokenIntegrationArrayOutput) ElementType added in v4.3.1

func (TokenIntegrationArrayOutput) Index added in v4.3.1

func (TokenIntegrationArrayOutput) ToTokenIntegrationArrayOutput added in v4.3.1

func (o TokenIntegrationArrayOutput) ToTokenIntegrationArrayOutput() TokenIntegrationArrayOutput

func (TokenIntegrationArrayOutput) ToTokenIntegrationArrayOutputWithContext added in v4.3.1

func (o TokenIntegrationArrayOutput) ToTokenIntegrationArrayOutputWithContext(ctx context.Context) TokenIntegrationArrayOutput

type TokenIntegrationInput

type TokenIntegrationInput interface {
	pulumi.Input

	ToTokenIntegrationOutput() TokenIntegrationOutput
	ToTokenIntegrationOutputWithContext(ctx context.Context) TokenIntegrationOutput
}

type TokenIntegrationMap added in v4.3.1

type TokenIntegrationMap map[string]TokenIntegrationInput

func (TokenIntegrationMap) ElementType added in v4.3.1

func (TokenIntegrationMap) ElementType() reflect.Type

func (TokenIntegrationMap) ToTokenIntegrationMapOutput added in v4.3.1

func (i TokenIntegrationMap) ToTokenIntegrationMapOutput() TokenIntegrationMapOutput

func (TokenIntegrationMap) ToTokenIntegrationMapOutputWithContext added in v4.3.1

func (i TokenIntegrationMap) ToTokenIntegrationMapOutputWithContext(ctx context.Context) TokenIntegrationMapOutput

type TokenIntegrationMapInput added in v4.3.1

type TokenIntegrationMapInput interface {
	pulumi.Input

	ToTokenIntegrationMapOutput() TokenIntegrationMapOutput
	ToTokenIntegrationMapOutputWithContext(context.Context) TokenIntegrationMapOutput
}

TokenIntegrationMapInput is an input type that accepts TokenIntegrationMap and TokenIntegrationMapOutput values. You can construct a concrete instance of `TokenIntegrationMapInput` via:

TokenIntegrationMap{ "key": TokenIntegrationArgs{...} }

type TokenIntegrationMapOutput added in v4.3.1

type TokenIntegrationMapOutput struct{ *pulumi.OutputState }

func (TokenIntegrationMapOutput) ElementType added in v4.3.1

func (TokenIntegrationMapOutput) ElementType() reflect.Type

func (TokenIntegrationMapOutput) MapIndex added in v4.3.1

func (TokenIntegrationMapOutput) ToTokenIntegrationMapOutput added in v4.3.1

func (o TokenIntegrationMapOutput) ToTokenIntegrationMapOutput() TokenIntegrationMapOutput

func (TokenIntegrationMapOutput) ToTokenIntegrationMapOutputWithContext added in v4.3.1

func (o TokenIntegrationMapOutput) ToTokenIntegrationMapOutputWithContext(ctx context.Context) TokenIntegrationMapOutput

type TokenIntegrationOutput

type TokenIntegrationOutput struct {
	*pulumi.OutputState
}

func (TokenIntegrationOutput) ElementType

func (TokenIntegrationOutput) ElementType() reflect.Type

func (TokenIntegrationOutput) ToTokenIntegrationOutput

func (o TokenIntegrationOutput) ToTokenIntegrationOutput() TokenIntegrationOutput

func (TokenIntegrationOutput) ToTokenIntegrationOutputWithContext

func (o TokenIntegrationOutput) ToTokenIntegrationOutputWithContext(ctx context.Context) TokenIntegrationOutput

func (TokenIntegrationOutput) ToTokenIntegrationPtrOutput added in v4.3.1

func (o TokenIntegrationOutput) ToTokenIntegrationPtrOutput() TokenIntegrationPtrOutput

func (TokenIntegrationOutput) ToTokenIntegrationPtrOutputWithContext added in v4.3.1

func (o TokenIntegrationOutput) ToTokenIntegrationPtrOutputWithContext(ctx context.Context) TokenIntegrationPtrOutput

type TokenIntegrationPtrInput added in v4.3.1

type TokenIntegrationPtrInput interface {
	pulumi.Input

	ToTokenIntegrationPtrOutput() TokenIntegrationPtrOutput
	ToTokenIntegrationPtrOutputWithContext(ctx context.Context) TokenIntegrationPtrOutput
}

type TokenIntegrationPtrOutput added in v4.3.1

type TokenIntegrationPtrOutput struct {
	*pulumi.OutputState
}

func (TokenIntegrationPtrOutput) ElementType added in v4.3.1

func (TokenIntegrationPtrOutput) ElementType() reflect.Type

func (TokenIntegrationPtrOutput) ToTokenIntegrationPtrOutput added in v4.3.1

func (o TokenIntegrationPtrOutput) ToTokenIntegrationPtrOutput() TokenIntegrationPtrOutput

func (TokenIntegrationPtrOutput) ToTokenIntegrationPtrOutputWithContext added in v4.3.1

func (o TokenIntegrationPtrOutput) ToTokenIntegrationPtrOutputWithContext(ctx context.Context) TokenIntegrationPtrOutput

type TokenIntegrationState

type TokenIntegrationState struct {
	// The name of this integration
	Name pulumi.StringPtrInput
	// The AWS Account ARN to use with your policies/roles, provided by SignalFx.
	SignalfxAwsAccount pulumi.StringPtrInput
	// The SignalFx-generated AWS token to use with an AWS integration.
	TokenId pulumi.StringPtrInput
}

func (TokenIntegrationState) ElementType

func (TokenIntegrationState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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