aws

package
v5.10.0 Latest Latest
Warning

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

Go to latest
Published: May 13, 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 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 use a session token for 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).

> **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 (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		awsMyteamExtern, err := aws.NewExternalIntegration(ctx, "awsMyteamExtern", nil)
		if err != nil {
			return err
		}
		signalfxAssumePolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{
			Statements: iam.GetPolicyDocumentStatementArray{
				&iam.GetPolicyDocumentStatementArgs{
					Actions: pulumi.StringArray{
						pulumi.String("sts:AssumeRole"),
					},
					Principals: iam.GetPolicyDocumentStatementPrincipalArray{
						&iam.GetPolicyDocumentStatementPrincipalArgs{
							Type: pulumi.String("AWS"),
							Identifiers: pulumi.StringArray{
								awsMyteamExtern.SignalfxAwsAccount,
							},
						},
					},
					Conditions: iam.GetPolicyDocumentStatementConditionArray{
						&iam.GetPolicyDocumentStatementConditionArgs{
							Test:     pulumi.String("StringEquals"),
							Variable: pulumi.String("sts:ExternalId"),
							Values: pulumi.StringArray{
								awsMyteamExtern.ExternalId,
							},
						},
					},
				},
			},
		}, nil)
		awsSplunkRole, err := iam.NewRole(ctx, "awsSplunkRole", &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.StringPtrOutput),
		})
		if err != nil {
			return err
		}
		awsSplunkPolicy, err := iam.NewPolicy(ctx, "awsSplunkPolicy", &iam.PolicyArgs{
			Description: pulumi.String("AWS permissions required by the Splunk Observability Cloud"),
			Policy:      pulumi.Any("{\n  \"Version\": \"2012-10-17\",\n  \"Statement\": [\n    {\n      \"Effect\": \"Allow\",\n      \"Action\": [\n        \"apigateway:GET\",\n        \"autoscaling:DescribeAutoScalingGroups\",\n        \"cloudfront:GetDistributionConfig\",\n        \"cloudfront:ListDistributions\",\n        \"cloudfront:ListTagsForResource\",\n        \"cloudwatch:DescribeAlarms\",\n        \"cloudwatch:GetMetricData\",\n        \"cloudwatch:GetMetricStatistics\",\n        \"cloudwatch:ListMetrics\",\n        \"directconnect:DescribeConnections\",\n        \"dynamodb:DescribeTable\",\n        \"dynamodb:ListTables\",\n        \"dynamodb:ListTagsOfResource\",\n        \"ec2:DescribeInstances\",\n        \"ec2:DescribeInstanceStatus\",\n        \"ec2:DescribeRegions\",\n        \"ec2:DescribeReservedInstances\",\n        \"ec2:DescribeReservedInstancesModifications\",\n        \"ec2:DescribeTags\",\n        \"ec2:DescribeVolumes\",\n        \"ecs:DescribeClusters\",\n        \"ecs:DescribeServices\",\n        \"ecs:DescribeTasks\",\n        \"ecs:ListClusters\",\n        \"ecs:ListServices\",\n        \"ecs:ListTagsForResource\",\n        \"ecs:ListTaskDefinitions\",\n        \"ecs:ListTasks\",\n        \"elasticache:DescribeCacheClusters\",\n        \"elasticloadbalancing:DescribeLoadBalancerAttributes\",\n        \"elasticloadbalancing:DescribeLoadBalancers\",\n        \"elasticloadbalancing:DescribeTags\",\n        \"elasticloadbalancing:DescribeTargetGroups\",\n        \"elasticmapreduce:DescribeCluster\",\n        \"elasticmapreduce:ListClusters\",\n        \"es:DescribeElasticsearchDomain\",\n        \"es:ListDomainNames\",\n        \"kinesis:DescribeStream\",\n        \"kinesis:ListShards\",\n        \"kinesis:ListStreams\",\n        \"kinesis:ListTagsForStream\",\n        \"lambda:GetAlias\",\n        \"lambda:ListFunctions\",\n        \"lambda:ListTags\",\n        \"logs:DeleteSubscriptionFilter\",\n        \"logs:DescribeLogGroups\",\n        \"logs:DescribeSubscriptionFilters\",\n        \"logs:PutSubscriptionFilter\",\n        \"organizations:DescribeOrganization\",\n        \"rds:DescribeDBClusters\",\n        \"rds:DescribeDBInstances\",\n        \"rds:ListTagsForResource\",\n        \"redshift:DescribeClusters\",\n        \"redshift:DescribeLoggingStatus\",\n        \"s3:GetBucketLocation\",\n        \"s3:GetBucketLogging\",\n        \"s3:GetBucketNotification\",\n        \"s3:GetBucketTagging\",\n        \"s3:ListAllMyBuckets\",\n        \"s3:ListBucket\",\n        \"s3:PutBucketNotification\",\n        \"sqs:GetQueueAttributes\",\n        \"sqs:ListQueues\",\n        \"sqs:ListQueueTags\",\n        \"states:ListStateMachines\",\n        \"tag:GetResources\",\n        \"workspaces:DescribeWorkspaces\"\n      ],\n      \"Resource\": \"*\"\n    }\n  ]\n}\n"),
		})
		if err != nil {
			return err
		}
		_, err = iam.NewRolePolicyAttachment(ctx, "splunkRolePolicyAttach", &iam.RolePolicyAttachmentArgs{
			Role:      awsSplunkRole.Name,
			PolicyArn: awsSplunkPolicy.Arn,
		})
		if err != nil {
			return err
		}
		_, err = aws.NewIntegration(ctx, "awsMyteam", &aws.IntegrationArgs{
			Enabled:       pulumi.Bool(true),
			IntegrationId: awsMyteamExtern.ID(),
			ExternalId:    awsMyteamExtern.ExternalId,
			RoleArn:       awsSplunkRole.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

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

type ExternalIntegrationArray []ExternalIntegrationInput

func (ExternalIntegrationArray) ElementType

func (ExternalIntegrationArray) ElementType() reflect.Type

func (ExternalIntegrationArray) ToExternalIntegrationArrayOutput

func (i ExternalIntegrationArray) ToExternalIntegrationArrayOutput() ExternalIntegrationArrayOutput

func (ExternalIntegrationArray) ToExternalIntegrationArrayOutputWithContext

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

type ExternalIntegrationArrayInput

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

type ExternalIntegrationArrayOutput struct{ *pulumi.OutputState }

func (ExternalIntegrationArrayOutput) ElementType

func (ExternalIntegrationArrayOutput) Index

func (ExternalIntegrationArrayOutput) ToExternalIntegrationArrayOutput

func (o ExternalIntegrationArrayOutput) ToExternalIntegrationArrayOutput() ExternalIntegrationArrayOutput

func (ExternalIntegrationArrayOutput) ToExternalIntegrationArrayOutputWithContext

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

type ExternalIntegrationInput

type ExternalIntegrationInput interface {
	pulumi.Input

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

type ExternalIntegrationMap

type ExternalIntegrationMap map[string]ExternalIntegrationInput

func (ExternalIntegrationMap) ElementType

func (ExternalIntegrationMap) ElementType() reflect.Type

func (ExternalIntegrationMap) ToExternalIntegrationMapOutput

func (i ExternalIntegrationMap) ToExternalIntegrationMapOutput() ExternalIntegrationMapOutput

func (ExternalIntegrationMap) ToExternalIntegrationMapOutputWithContext

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

type ExternalIntegrationMapInput

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

type ExternalIntegrationMapOutput struct{ *pulumi.OutputState }

func (ExternalIntegrationMapOutput) ElementType

func (ExternalIntegrationMapOutput) MapIndex

func (ExternalIntegrationMapOutput) ToExternalIntegrationMapOutput

func (o ExternalIntegrationMapOutput) ToExternalIntegrationMapOutput() ExternalIntegrationMapOutput

func (ExternalIntegrationMapOutput) ToExternalIntegrationMapOutputWithContext

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) ExternalId added in v5.5.0

The external ID to use with your IAM role and with `aws.Integration`.

func (ExternalIntegrationOutput) Name added in v5.5.0

The name of this integration

func (ExternalIntegrationOutput) SignalfxAwsAccount added in v5.5.0

func (o ExternalIntegrationOutput) SignalfxAwsAccount() pulumi.StringOutput

The AWS Account ARN to use with your policies/roles, provided by SignalFx.

func (ExternalIntegrationOutput) ToExternalIntegrationOutput

func (o ExternalIntegrationOutput) ToExternalIntegrationOutput() ExternalIntegrationOutput

func (ExternalIntegrationOutput) ToExternalIntegrationOutputWithContext

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

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 GetServicesOutputArgs added in v5.1.0

type GetServicesOutputArgs struct {
	Services GetServicesServiceArrayInput `pulumi:"services"`
}

A collection of arguments for invoking getServices.

func (GetServicesOutputArgs) ElementType added in v5.1.0

func (GetServicesOutputArgs) ElementType() reflect.Type

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)

type GetServicesResultOutput added in v5.1.0

type GetServicesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getServices.

func GetServicesOutput added in v5.1.0

func GetServicesOutput(ctx *pulumi.Context, args GetServicesOutputArgs, opts ...pulumi.InvokeOption) GetServicesResultOutput

func (GetServicesResultOutput) ElementType added in v5.1.0

func (GetServicesResultOutput) ElementType() reflect.Type

func (GetServicesResultOutput) Id added in v5.1.0

The provider-assigned unique ID for this managed resource.

func (GetServicesResultOutput) Services added in v5.1.0

func (GetServicesResultOutput) ToGetServicesResultOutput added in v5.1.0

func (o GetServicesResultOutput) ToGetServicesResultOutput() GetServicesResultOutput

func (GetServicesResultOutput) ToGetServicesResultOutputWithContext added in v5.1.0

func (o GetServicesResultOutput) ToGetServicesResultOutputWithContext(ctx context.Context) GetServicesResultOutput

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"`
	// Enable the AWS logs synchronization. Note that this requires the inclusion of `"logs:DescribeLogGroups"`,  `"logs:DeleteSubscriptionFilter"`, `"logs:DescribeSubscriptionFilters"`, `"logs:PutSubscriptionFilter"`, and `"s3:GetBucketLogging"`,  `"s3:GetBucketNotification"`, `"s3:PutBucketNotification"` permissions. Additional permissions may be required to capture logs from specific AWS services.
	EnableLogsSync pulumi.BoolOutput `pulumi:"enableLogsSync"`
	// 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 (this is typically equivalent to the `AWS_SECRET_ACCESS_KEY` environment variable).
	Key pulumi.StringPtrOutput `pulumi:"key"`
	// Each element in the array is an object that contains an AWS namespace name, AWS metric name and a list of statistics that SignalFx collects for this metric. If you specify this property, SignalFx retrieves only specified AWS statistics when AWS metric streams are not used. When AWS metric streams are used this property specifies additional extended statistics to collect (please note that AWS metric streams API supports percentile stats only; other stats are ignored). If you don't specify this property, SignalFx retrieves the AWS standard set of statistics.
	MetricStatsToSyncs IntegrationMetricStatsToSyncArrayOutput `pulumi:"metricStatsToSyncs"`
	// 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"`
	// 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 `600`. Default: `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"`
	// Indicates that SignalFx should sync metrics and metadata from custom AWS namespaces only (see the `customNamespaceSyncRule` above). Defaults to `false`.
	SyncCustomNamespacesOnly pulumi.BoolPtrOutput `pulumi:"syncCustomNamespacesOnly"`
	// If you specify `authMethod = \"SecurityToken\"` in your request to create an AWS integration object, use this property to specify the token (this is typically equivalent to the `AWS_ACCESS_KEY_ID` environment variable).
	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.
	//
	// Deprecated: This field will be removed
	UseGetMetricDataMethod pulumi.BoolPtrOutput `pulumi:"useGetMetricDataMethod"`
	// Enable the use of Amazon Cloudwatch Metric Streams for ingesting metrics.<br>
	// Note that this requires the inclusion of `"cloudwatch:ListMetricStreams"`,`"cloudwatch:GetMetricStream"`, `"cloudwatch:PutMetricStream"`, `"cloudwatch:DeleteMetricStream"`, `"cloudwatch:StartMetricStreams"`, `"cloudwatch:StopMetricStreams"` and `"iam:PassRole"` permissions.<br>
	// Note you need to deploy additional resources on your AWS account to enable CloudWatch metrics streaming. Select one of the [CloudFormation templates](https://docs.splunk.com/Observability/gdi/get-data-in/connect/aws/aws-cloudformation.html) to deploy all the required resources.
	UseMetricStreamsSync pulumi.BoolOutput `pulumi:"useMetricStreamsSync"`
}

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 use a session token for 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).

> **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/v4/go/aws/iam"
"github.com/pulumi/pulumi-signalfx/sdk/v5/go/signalfx/aws"
"github.com/pulumi/pulumi/sdk/v3/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("my-custom-namespace"),
				},
			},
			NamespaceSyncRules: aws.IntegrationNamespaceSyncRuleArray{
				&aws.IntegrationNamespaceSyncRuleArgs{
					DefaultAction: pulumi.String("Exclude"),
					FilterAction:  pulumi.String("Include"),
					FilterSource:  pulumi.String("filter('code', '200')"),
					Namespace:     pulumi.String("AWS/EC2"),
				},
			},
			MetricStatsToSyncs: aws.IntegrationMetricStatsToSyncArray{
				&aws.IntegrationMetricStatsToSyncArgs{
					Namespace: pulumi.String("AWS/EC2"),
					Metric:    pulumi.String("NetworkPacketsIn"),
					Stats: pulumi.StringArray{
						pulumi.String("upper"),
					},
				},
			},
		})
		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

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
	// Enable the AWS logs synchronization. Note that this requires the inclusion of `"logs:DescribeLogGroups"`,  `"logs:DeleteSubscriptionFilter"`, `"logs:DescribeSubscriptionFilters"`, `"logs:PutSubscriptionFilter"`, and `"s3:GetBucketLogging"`,  `"s3:GetBucketNotification"`, `"s3:PutBucketNotification"` permissions. Additional permissions may be required to capture logs from specific AWS services.
	EnableLogsSync 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 (this is typically equivalent to the `AWS_SECRET_ACCESS_KEY` environment variable).
	Key pulumi.StringPtrInput
	// Each element in the array is an object that contains an AWS namespace name, AWS metric name and a list of statistics that SignalFx collects for this metric. If you specify this property, SignalFx retrieves only specified AWS statistics when AWS metric streams are not used. When AWS metric streams are used this property specifies additional extended statistics to collect (please note that AWS metric streams API supports percentile stats only; other stats are ignored). If you don't specify this property, SignalFx retrieves the AWS standard set of statistics.
	MetricStatsToSyncs IntegrationMetricStatsToSyncArrayInput
	// Name of the org token to be used for data ingestion. If not specified then default access token is used.
	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 `600`. Default: `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
	// Indicates that SignalFx should sync metrics and metadata from custom AWS namespaces only (see the `customNamespaceSyncRule` above). Defaults to `false`.
	SyncCustomNamespacesOnly pulumi.BoolPtrInput
	// If you specify `authMethod = \"SecurityToken\"` in your request to create an AWS integration object, use this property to specify the token (this is typically equivalent to the `AWS_ACCESS_KEY_ID` environment variable).
	Token pulumi.StringPtrInput
	// Enable the use of Amazon's `GetMetricData` for collecting metrics. Note that this requires the inclusion of the `"cloudwatch:GetMetricData"` permission.
	//
	// Deprecated: This field will be removed
	UseGetMetricDataMethod pulumi.BoolPtrInput
	// Enable the use of Amazon Cloudwatch Metric Streams for ingesting metrics.<br>
	// Note that this requires the inclusion of `"cloudwatch:ListMetricStreams"`,`"cloudwatch:GetMetricStream"`, `"cloudwatch:PutMetricStream"`, `"cloudwatch:DeleteMetricStream"`, `"cloudwatch:StartMetricStreams"`, `"cloudwatch:StopMetricStreams"` and `"iam:PassRole"` permissions.<br>
	// Note you need to deploy additional resources on your AWS account to enable CloudWatch metrics streaming. Select one of the [CloudFormation templates](https://docs.splunk.com/Observability/gdi/get-data-in/connect/aws/aws-cloudformation.html) to deploy all the required resources.
	UseMetricStreamsSync 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 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

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 IntegrationMetricStatsToSync added in v5.3.0

type IntegrationMetricStatsToSync struct {
	// AWS metric that you want to pick statistics for
	Metric string `pulumi:"metric"`
	// 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"`
	// AWS statistics you want to collect
	Stats []string `pulumi:"stats"`
}

type IntegrationMetricStatsToSyncArgs added in v5.3.0

type IntegrationMetricStatsToSyncArgs struct {
	// AWS metric that you want to pick statistics for
	Metric pulumi.StringInput `pulumi:"metric"`
	// 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"`
	// AWS statistics you want to collect
	Stats pulumi.StringArrayInput `pulumi:"stats"`
}

func (IntegrationMetricStatsToSyncArgs) ElementType added in v5.3.0

func (IntegrationMetricStatsToSyncArgs) ToIntegrationMetricStatsToSyncOutput added in v5.3.0

func (i IntegrationMetricStatsToSyncArgs) ToIntegrationMetricStatsToSyncOutput() IntegrationMetricStatsToSyncOutput

func (IntegrationMetricStatsToSyncArgs) ToIntegrationMetricStatsToSyncOutputWithContext added in v5.3.0

func (i IntegrationMetricStatsToSyncArgs) ToIntegrationMetricStatsToSyncOutputWithContext(ctx context.Context) IntegrationMetricStatsToSyncOutput

type IntegrationMetricStatsToSyncArray added in v5.3.0

type IntegrationMetricStatsToSyncArray []IntegrationMetricStatsToSyncInput

func (IntegrationMetricStatsToSyncArray) ElementType added in v5.3.0

func (IntegrationMetricStatsToSyncArray) ToIntegrationMetricStatsToSyncArrayOutput added in v5.3.0

func (i IntegrationMetricStatsToSyncArray) ToIntegrationMetricStatsToSyncArrayOutput() IntegrationMetricStatsToSyncArrayOutput

func (IntegrationMetricStatsToSyncArray) ToIntegrationMetricStatsToSyncArrayOutputWithContext added in v5.3.0

func (i IntegrationMetricStatsToSyncArray) ToIntegrationMetricStatsToSyncArrayOutputWithContext(ctx context.Context) IntegrationMetricStatsToSyncArrayOutput

type IntegrationMetricStatsToSyncArrayInput added in v5.3.0

type IntegrationMetricStatsToSyncArrayInput interface {
	pulumi.Input

	ToIntegrationMetricStatsToSyncArrayOutput() IntegrationMetricStatsToSyncArrayOutput
	ToIntegrationMetricStatsToSyncArrayOutputWithContext(context.Context) IntegrationMetricStatsToSyncArrayOutput
}

IntegrationMetricStatsToSyncArrayInput is an input type that accepts IntegrationMetricStatsToSyncArray and IntegrationMetricStatsToSyncArrayOutput values. You can construct a concrete instance of `IntegrationMetricStatsToSyncArrayInput` via:

IntegrationMetricStatsToSyncArray{ IntegrationMetricStatsToSyncArgs{...} }

type IntegrationMetricStatsToSyncArrayOutput added in v5.3.0

type IntegrationMetricStatsToSyncArrayOutput struct{ *pulumi.OutputState }

func (IntegrationMetricStatsToSyncArrayOutput) ElementType added in v5.3.0

func (IntegrationMetricStatsToSyncArrayOutput) Index added in v5.3.0

func (IntegrationMetricStatsToSyncArrayOutput) ToIntegrationMetricStatsToSyncArrayOutput added in v5.3.0

func (o IntegrationMetricStatsToSyncArrayOutput) ToIntegrationMetricStatsToSyncArrayOutput() IntegrationMetricStatsToSyncArrayOutput

func (IntegrationMetricStatsToSyncArrayOutput) ToIntegrationMetricStatsToSyncArrayOutputWithContext added in v5.3.0

func (o IntegrationMetricStatsToSyncArrayOutput) ToIntegrationMetricStatsToSyncArrayOutputWithContext(ctx context.Context) IntegrationMetricStatsToSyncArrayOutput

type IntegrationMetricStatsToSyncInput added in v5.3.0

type IntegrationMetricStatsToSyncInput interface {
	pulumi.Input

	ToIntegrationMetricStatsToSyncOutput() IntegrationMetricStatsToSyncOutput
	ToIntegrationMetricStatsToSyncOutputWithContext(context.Context) IntegrationMetricStatsToSyncOutput
}

IntegrationMetricStatsToSyncInput is an input type that accepts IntegrationMetricStatsToSyncArgs and IntegrationMetricStatsToSyncOutput values. You can construct a concrete instance of `IntegrationMetricStatsToSyncInput` via:

IntegrationMetricStatsToSyncArgs{...}

type IntegrationMetricStatsToSyncOutput added in v5.3.0

type IntegrationMetricStatsToSyncOutput struct{ *pulumi.OutputState }

func (IntegrationMetricStatsToSyncOutput) ElementType added in v5.3.0

func (IntegrationMetricStatsToSyncOutput) Metric added in v5.3.0

AWS metric that you want to pick statistics for

func (IntegrationMetricStatsToSyncOutput) Namespace added in v5.3.0

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 (IntegrationMetricStatsToSyncOutput) Stats added in v5.3.0

AWS statistics you want to collect

func (IntegrationMetricStatsToSyncOutput) ToIntegrationMetricStatsToSyncOutput added in v5.3.0

func (o IntegrationMetricStatsToSyncOutput) ToIntegrationMetricStatsToSyncOutput() IntegrationMetricStatsToSyncOutput

func (IntegrationMetricStatsToSyncOutput) ToIntegrationMetricStatsToSyncOutputWithContext added in v5.3.0

func (o IntegrationMetricStatsToSyncOutput) ToIntegrationMetricStatsToSyncOutputWithContext(ctx context.Context) IntegrationMetricStatsToSyncOutput

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) CustomCloudwatchNamespaces added in v5.5.0

func (o IntegrationOutput) CustomCloudwatchNamespaces() pulumi.StringArrayOutput

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.

func (IntegrationOutput) CustomNamespaceSyncRules added in v5.5.0

Each element controls the data collected by SignalFx for the specified namespace. Conflicts with the `customCloudwatchNamespaces` property.

func (IntegrationOutput) ElementType

func (IntegrationOutput) ElementType() reflect.Type

func (IntegrationOutput) EnableAwsUsage added in v5.5.0

func (o IntegrationOutput) EnableAwsUsage() pulumi.BoolPtrOutput

Flag that controls how SignalFx imports usage metrics from AWS to use with AWS Cost Optimizer. If `true`, SignalFx imports the metrics.

func (IntegrationOutput) EnableCheckLargeVolume added in v5.5.0

func (o IntegrationOutput) EnableCheckLargeVolume() pulumi.BoolPtrOutput

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.

func (IntegrationOutput) EnableLogsSync added in v5.5.0

func (o IntegrationOutput) EnableLogsSync() pulumi.BoolOutput

Enable the AWS logs synchronization. Note that this requires the inclusion of `"logs:DescribeLogGroups"`, `"logs:DeleteSubscriptionFilter"`, `"logs:DescribeSubscriptionFilters"`, `"logs:PutSubscriptionFilter"`, and `"s3:GetBucketLogging"`, `"s3:GetBucketNotification"`, `"s3:PutBucketNotification"` permissions. Additional permissions may be required to capture logs from specific AWS services.

func (IntegrationOutput) Enabled added in v5.5.0

func (o IntegrationOutput) Enabled() pulumi.BoolOutput

Whether the integration is enabled.

func (IntegrationOutput) ExternalId added in v5.5.0

func (o IntegrationOutput) ExternalId() pulumi.StringPtrOutput

The `externalId` property from one of a `aws.ExternalIntegration` or `aws.TokenIntegration`

func (IntegrationOutput) ImportCloudWatch added in v5.5.0

func (o IntegrationOutput) ImportCloudWatch() pulumi.BoolPtrOutput

Flag that controls how SignalFx imports Cloud Watch metrics. If true, SignalFx imports Cloud Watch metrics from AWS.

func (IntegrationOutput) IntegrationId added in v5.5.0

func (o IntegrationOutput) IntegrationId() pulumi.StringOutput

The id of one of a `aws.ExternalIntegration` or `aws.TokenIntegration`.

func (IntegrationOutput) Key added in v5.5.0

If you specify `authMethod = \"SecurityToken\"` in your request to create an AWS integration object, use this property to specify the key (this is typically equivalent to the `AWS_SECRET_ACCESS_KEY` environment variable).

func (IntegrationOutput) MetricStatsToSyncs added in v5.5.0

Each element in the array is an object that contains an AWS namespace name, AWS metric name and a list of statistics that SignalFx collects for this metric. If you specify this property, SignalFx retrieves only specified AWS statistics when AWS metric streams are not used. When AWS metric streams are used this property specifies additional extended statistics to collect (please note that AWS metric streams API supports percentile stats only; other stats are ignored). If you don't specify this property, SignalFx retrieves the AWS standard set of statistics.

func (IntegrationOutput) NamedToken added in v5.5.0

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) NamespaceSyncRules added in v5.5.0

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.

func (IntegrationOutput) PollRate added in v5.5.0

func (o IntegrationOutput) PollRate() pulumi.IntPtrOutput

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

func (IntegrationOutput) Regions added in v5.5.0

List of AWS regions that SignalFx should monitor.

func (IntegrationOutput) RoleArn added in v5.5.0

Role ARN that you add to an existing AWS integration object. **Note**: Ensure you use the `arn` property of your role, not the id!

func (IntegrationOutput) Services added in v5.5.0

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.

func (IntegrationOutput) SyncCustomNamespacesOnly added in v5.5.0

func (o IntegrationOutput) SyncCustomNamespacesOnly() pulumi.BoolPtrOutput

Indicates that SignalFx should sync metrics and metadata from custom AWS namespaces only (see the `customNamespaceSyncRule` above). Defaults to `false`.

func (IntegrationOutput) ToIntegrationOutput

func (o IntegrationOutput) ToIntegrationOutput() IntegrationOutput

func (IntegrationOutput) ToIntegrationOutputWithContext

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

func (IntegrationOutput) Token added in v5.5.0

If you specify `authMethod = \"SecurityToken\"` in your request to create an AWS integration object, use this property to specify the token (this is typically equivalent to the `AWS_ACCESS_KEY_ID` environment variable).

func (IntegrationOutput) UseGetMetricDataMethod deprecated added in v5.5.0

func (o IntegrationOutput) UseGetMetricDataMethod() pulumi.BoolPtrOutput

Enable the use of Amazon's `GetMetricData` for collecting metrics. Note that this requires the inclusion of the `"cloudwatch:GetMetricData"` permission.

Deprecated: This field will be removed

func (IntegrationOutput) UseMetricStreamsSync added in v5.5.0

func (o IntegrationOutput) UseMetricStreamsSync() pulumi.BoolOutput

Enable the use of Amazon Cloudwatch Metric Streams for ingesting metrics.<br> Note that this requires the inclusion of `"cloudwatch:ListMetricStreams"`,`"cloudwatch:GetMetricStream"`, `"cloudwatch:PutMetricStream"`, `"cloudwatch:DeleteMetricStream"`, `"cloudwatch:StartMetricStreams"`, `"cloudwatch:StopMetricStreams"` and `"iam:PassRole"` permissions.<br> Note you need to deploy additional resources on your AWS account to enable CloudWatch metrics streaming. Select one of the [CloudFormation templates](https://docs.splunk.com/Observability/gdi/get-data-in/connect/aws/aws-cloudformation.html) to deploy all the required resources.

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
	// Enable the AWS logs synchronization. Note that this requires the inclusion of `"logs:DescribeLogGroups"`,  `"logs:DeleteSubscriptionFilter"`, `"logs:DescribeSubscriptionFilters"`, `"logs:PutSubscriptionFilter"`, and `"s3:GetBucketLogging"`,  `"s3:GetBucketNotification"`, `"s3:PutBucketNotification"` permissions. Additional permissions may be required to capture logs from specific AWS services.
	EnableLogsSync 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 (this is typically equivalent to the `AWS_SECRET_ACCESS_KEY` environment variable).
	Key pulumi.StringPtrInput
	// Each element in the array is an object that contains an AWS namespace name, AWS metric name and a list of statistics that SignalFx collects for this metric. If you specify this property, SignalFx retrieves only specified AWS statistics when AWS metric streams are not used. When AWS metric streams are used this property specifies additional extended statistics to collect (please note that AWS metric streams API supports percentile stats only; other stats are ignored). If you don't specify this property, SignalFx retrieves the AWS standard set of statistics.
	MetricStatsToSyncs IntegrationMetricStatsToSyncArrayInput
	// Name of the org token to be used for data ingestion. If not specified then default access token is used.
	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 `600`. Default: `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
	// Indicates that SignalFx should sync metrics and metadata from custom AWS namespaces only (see the `customNamespaceSyncRule` above). Defaults to `false`.
	SyncCustomNamespacesOnly pulumi.BoolPtrInput
	// If you specify `authMethod = \"SecurityToken\"` in your request to create an AWS integration object, use this property to specify the token (this is typically equivalent to the `AWS_ACCESS_KEY_ID` environment variable).
	Token pulumi.StringPtrInput
	// Enable the use of Amazon's `GetMetricData` for collecting metrics. Note that this requires the inclusion of the `"cloudwatch:GetMetricData"` permission.
	//
	// Deprecated: This field will be removed
	UseGetMetricDataMethod pulumi.BoolPtrInput
	// Enable the use of Amazon Cloudwatch Metric Streams for ingesting metrics.<br>
	// Note that this requires the inclusion of `"cloudwatch:ListMetricStreams"`,`"cloudwatch:GetMetricStream"`, `"cloudwatch:PutMetricStream"`, `"cloudwatch:DeleteMetricStream"`, `"cloudwatch:StartMetricStreams"`, `"cloudwatch:StopMetricStreams"` and `"iam:PassRole"` permissions.<br>
	// Note you need to deploy additional resources on your AWS account to enable CloudWatch metrics streaming. Select one of the [CloudFormation templates](https://docs.splunk.com/Observability/gdi/get-data-in/connect/aws/aws-cloudformation.html) to deploy all the required resources.
	UseMetricStreamsSync 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 use a session token for 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).

> **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/v4/go/aws/iam"
"github.com/pulumi/pulumi-signalfx/sdk/v5/go/signalfx/aws"
"github.com/pulumi/pulumi/sdk/v3/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("my-custom-namespace"),
				},
			},
			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

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

type TokenIntegrationArray []TokenIntegrationInput

func (TokenIntegrationArray) ElementType

func (TokenIntegrationArray) ElementType() reflect.Type

func (TokenIntegrationArray) ToTokenIntegrationArrayOutput

func (i TokenIntegrationArray) ToTokenIntegrationArrayOutput() TokenIntegrationArrayOutput

func (TokenIntegrationArray) ToTokenIntegrationArrayOutputWithContext

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

type TokenIntegrationArrayInput

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

type TokenIntegrationArrayOutput struct{ *pulumi.OutputState }

func (TokenIntegrationArrayOutput) ElementType

func (TokenIntegrationArrayOutput) Index

func (TokenIntegrationArrayOutput) ToTokenIntegrationArrayOutput

func (o TokenIntegrationArrayOutput) ToTokenIntegrationArrayOutput() TokenIntegrationArrayOutput

func (TokenIntegrationArrayOutput) ToTokenIntegrationArrayOutputWithContext

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

type TokenIntegrationInput

type TokenIntegrationInput interface {
	pulumi.Input

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

type TokenIntegrationMap

type TokenIntegrationMap map[string]TokenIntegrationInput

func (TokenIntegrationMap) ElementType

func (TokenIntegrationMap) ElementType() reflect.Type

func (TokenIntegrationMap) ToTokenIntegrationMapOutput

func (i TokenIntegrationMap) ToTokenIntegrationMapOutput() TokenIntegrationMapOutput

func (TokenIntegrationMap) ToTokenIntegrationMapOutputWithContext

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

type TokenIntegrationMapInput

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

type TokenIntegrationMapOutput struct{ *pulumi.OutputState }

func (TokenIntegrationMapOutput) ElementType

func (TokenIntegrationMapOutput) ElementType() reflect.Type

func (TokenIntegrationMapOutput) MapIndex

func (TokenIntegrationMapOutput) ToTokenIntegrationMapOutput

func (o TokenIntegrationMapOutput) ToTokenIntegrationMapOutput() TokenIntegrationMapOutput

func (TokenIntegrationMapOutput) ToTokenIntegrationMapOutputWithContext

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) Name added in v5.5.0

The name of this integration

func (TokenIntegrationOutput) SignalfxAwsAccount added in v5.5.0

func (o TokenIntegrationOutput) SignalfxAwsAccount() pulumi.StringOutput

The AWS Account ARN to use with your policies/roles, provided by SignalFx.

func (TokenIntegrationOutput) ToTokenIntegrationOutput

func (o TokenIntegrationOutput) ToTokenIntegrationOutput() TokenIntegrationOutput

func (TokenIntegrationOutput) ToTokenIntegrationOutputWithContext

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

func (TokenIntegrationOutput) TokenId added in v5.5.0

The SignalFx-generated AWS token to use with an AWS integration.

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