This page documents the language specification for the signalfx package. If you're looking for help working with the inputs, outputs, or functions of signalfx resources in a Pulumi program, please see the resource documentation for examples and API reference.

aws

This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the pulumi/pulumi-signalfx repo; however, if that doesn’t turn up anything, please consult the source terraform-providers/terraform-provider-signalfx repo.

class pulumi_signalfx.aws.AwaitableGetServicesResult(id=None, services=None)
class pulumi_signalfx.aws.ExternalIntegration(resource_name, opts=None, name=None, named_token=None, __props__=None, __name__=None, __opts__=None)

SignalFx AWS CloudWatch integrations using Role ARNs. For help with this integration see Connect to AWS CloudWatch.

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.

import pulumi
import pulumi_aws as aws
import pulumi_signalfx as signalfx

aws_myteam_extern = signalfx.aws.ExternalIntegration("awsMyteamExtern")
signalfx_assume_policy = aws.iam.get_policy_document(statement=[{
    "actions": ["sts:AssumeRole"],
    "principals": [{
        "type": "AWS",
        "identifiers": [aws_myteam_extern.signalfx_aws_account],
    }],
    "condition": [{
        "test": "StringEquals",
        "variable": "sts:ExternalId",
        "values": [aws_myteam_extern.external_id],
    }],
}])
aws_sfx_role = aws.iam.Role("awsSfxRole",
    description="signalfx integration to read out data and send it to signalfxs aws account",
    assume_role_policy=signalfx_assume_policy.json)
aws_read_permissions = aws.iam.Policy("awsReadPermissions",
    description="farts",
    policy="""{
        "Version": "2012-10-17",
        "Statement": [
                {
                        "Action": [
                                "dynamodb:ListTables",
                    "dynamodb:DescribeTable",
                    "dynamodb:ListTagsOfResource",
                    "ec2:DescribeInstances",
                    "ec2:DescribeInstanceStatus",
                    "ec2:DescribeVolumes",
                    "ec2:DescribeReservedInstances",
                    "ec2:DescribeReservedInstancesModifications",
                    "ec2:DescribeTags",
                    "organizations:DescribeOrganization",
                    "cloudwatch:ListMetrics",
                    "cloudwatch:GetMetricData",
                    "cloudwatch:GetMetricStatistics",
                    "cloudwatch:DescribeAlarms",
                    "sqs:ListQueues",
                    "sqs:GetQueueAttributes",
                    "sqs:ListQueueTags",
                    "elasticmapreduce:ListClusters",
                    "elasticmapreduce:DescribeCluster",
                    "kinesis:ListShards",
                    "kinesis:ListStreams",
                    "kinesis:DescribeStream",
                    "kinesis:ListTagsForStream",
                    "rds:DescribeDBInstances",
                    "rds:ListTagsForResource",
                    "elasticloadbalancing:DescribeLoadBalancers",
                    "elasticloadbalancing:DescribeTags",
                    "elasticache:describeCacheClusters",
                    "redshift:DescribeClusters",
                    "lambda:GetAlias",
                    "lambda:ListFunctions",
                    "lambda:ListTags",
                    "autoscaling:DescribeAutoScalingGroups",
                    "s3:ListAllMyBuckets",
                    "s3:ListBucket",
                    "s3:GetBucketLocation",
                    "s3:GetBucketTagging",
                    "ecs:ListServices",
                    "ecs:ListTasks",
                    "ecs:DescribeTasks",
                    "ecs:DescribeServices",
                    "ecs:ListClusters",
                    "ecs:DescribeClusters",
                    "ecs:ListTaskDefinitions",
                    "ecs:ListTagsForResource",
                    "apigateway:GET",
                    "cloudfront:ListDistributions",
                    "cloudfront:ListTagsForResource",
                    "tag:GetResources",
                    "es:ListDomainNames",
                    "es:DescribeElasticsearchDomain"
                        ],
                        "Effect": "Allow",
                        "Resource": "*"
                }
        ]
}
""")
sfx_read_attach = aws.iam.RolePolicyAttachment("sfx-read-attach",
    role=aws_sfx_role.name,
    policy_arn=aws_read_permissions.arn)
aws_myteam = signalfx.aws.Integration("awsMyteam",
    enabled=True,
    integration_id=aws_myteam_extern.id,
    external_id=aws_myteam_extern.external_id,
    role_arn=aws_sfx_role.arn,
    regions=["us-east-1"],
    poll_rate=300,
    import_cloud_watch=True,
    enable_aws_usage=True)
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • name (pulumi.Input[str]) – The name of this integration

  • named_token (pulumi.Input[str]) – A named token to use for ingest

external_id: pulumi.Output[str] = None

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

name: pulumi.Output[str] = None

The name of this integration

named_token: pulumi.Output[str] = None

A named token to use for ingest

signalfx_aws_account: pulumi.Output[str] = None

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

static get(resource_name, id, opts=None, external_id=None, name=None, named_token=None, signalfx_aws_account=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • external_id (pulumi.Input[str]) – The external ID to use with your IAM role and with aws.Integration.

  • name (pulumi.Input[str]) – The name of this integration

  • named_token (pulumi.Input[str]) – A named token to use for ingest

  • signalfx_aws_account (pulumi.Input[str]) – The AWS Account ARN to use with your policies/roles, provided by SignalFx.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_signalfx.aws.GetServicesResult(id=None, services=None)

A collection of values returned by getServices.

id = None

The provider-assigned unique ID for this managed resource.

class pulumi_signalfx.aws.Integration(resource_name, opts=None, custom_cloudwatch_namespaces=None, custom_namespace_sync_rules=None, enable_aws_usage=None, enabled=None, external_id=None, import_cloud_watch=None, integration_id=None, key=None, namespace_sync_rules=None, poll_rate=None, regions=None, role_arn=None, services=None, token=None, use_get_metric_data_method=None, __props__=None, __name__=None, __opts__=None)

SignalFx AWS CloudWatch integrations. For help with this integration see Monitoring 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.

import pulumi
import pulumi_aws as aws
import pulumi_signalfx as signalfx

# This resource returns an account id in `external_id`…
aws_myteam_external = signalfx.aws.ExternalIntegration("awsMyteamExternal")
# Make yourself an AWS IAM role here, use `signalfx_aws_external_integration.aws_myteam_external.external_id`
aws_sfx_role = aws.iam.Role("awsSfxRole")
# Stuff here that uses the external and account ID
aws_myteam = signalfx.aws.Integration("awsMyteam",
    enabled=True,
    integration_id=aws_myteam_external.id,
    external_id=aws_myteam_external.external_id,
    role_arn=aws_sfx_role.arn,
    regions=["us-east-1"],
    poll_rate=300,
    import_cloud_watch=True,
    enable_aws_usage=True,
    custom_namespace_sync_rule=[{
        "defaultAction": "Exclude",
        "filterAction": "Include",
        "filterSource": "filter('code', '200')",
        "namespace": "fart",
    }],
    namespace_sync_rule=[{
        "defaultAction": "Exclude",
        "filterAction": "Include",
        "filterSource": "filter('code', '200')",
        "namespace": "AWS/EC2",
    }])

NOTE You can use the data source “aws.getServices” to specify all services.

Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • custom_cloudwatch_namespaces (pulumi.Input[list]) – 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.

  • custom_namespace_sync_rules (pulumi.Input[list]) – Each element controls the data collected by SignalFx for the specified namespace. Conflicts with the custom_cloudwatch_namespaces property.

  • enable_aws_usage (pulumi.Input[bool]) – Flag that controls how SignalFx imports usage metrics from AWS to use with AWS Cost Optimizer. If true, SignalFx imports the metrics.

  • enabled (pulumi.Input[bool]) – Whether the integration is enabled.

  • external_id (pulumi.Input[str]) – The external_id property from one of a aws.ExternalIntegration or aws.TokenIntegration

  • import_cloud_watch (pulumi.Input[bool]) – Flag that controls how SignalFx imports Cloud Watch metrics. If true, SignalFx imports Cloud Watch metrics from AWS.

  • integration_id (pulumi.Input[str]) – The id of one of a aws.ExternalIntegration or aws.TokenIntegration.

  • key (pulumi.Input[str]) – If you specify auth_method = "SecurityToken" in your request to create an AWS integration object, use this property to specify the key.

  • namespace_sync_rules (pulumi.Input[list]) – 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.

  • poll_rate (pulumi.Input[float]) – AWS poll rate (in seconds). One of 60 or 300.

  • regions (pulumi.Input[list]) – List of AWS regions that SignalFx should monitor.

  • role_arn (pulumi.Input[str]) – Role ARN that you add to an existing AWS integration object. Note: Ensure you use the arn property of your role, not the id!

  • services (pulumi.Input[list]) – List of AWS services that you want SignalFx to monitor. Each element is a string designating an AWS service. Conflicts with namespace_sync_rule. See the documentation for Creating Integrations for valida values.

  • token (pulumi.Input[str]) – Used with signalfx_aws_token_integration. Use this property to specify the token.

  • use_get_metric_data_method (pulumi.Input[bool]) – Enable the use of Amazon’s GetMetricData for collecting metrics. Note that this requires the inclusion of the "cloudwatch:GetMetricData" permission.

The custom_namespace_sync_rules object supports the following:

  • defaultAction (pulumi.Input[str]) - 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".

  • filterAction (pulumi.Input[str]) - Controls how SignalFx processes data from a custom AWS namespace. The available actions are one of "Include" or "Exclude".

  • filterSource (pulumi.Input[str]) - 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.

  • namespace (pulumi.Input[str]) - 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.

The namespace_sync_rules object supports the following:

  • defaultAction (pulumi.Input[str]) - 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".

  • filterAction (pulumi.Input[str]) - Controls how SignalFx processes data from a custom AWS namespace. The available actions are one of "Include" or "Exclude".

  • filterSource (pulumi.Input[str]) - 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.

  • namespace (pulumi.Input[str]) - 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.

custom_cloudwatch_namespaces: pulumi.Output[list] = None

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.

custom_namespace_sync_rules: pulumi.Output[list] = None

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

  • defaultAction (str) - 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".

  • filterAction (str) - Controls how SignalFx processes data from a custom AWS namespace. The available actions are one of "Include" or "Exclude".

  • filterSource (str) - 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.

  • namespace (str) - 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.

enable_aws_usage: pulumi.Output[bool] = None

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

enabled: pulumi.Output[bool] = None

Whether the integration is enabled.

external_id: pulumi.Output[str] = None

The external_id property from one of a aws.ExternalIntegration or aws.TokenIntegration

import_cloud_watch: pulumi.Output[bool] = None

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

integration_id: pulumi.Output[str] = None

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

key: pulumi.Output[str] = None

If you specify auth_method = "SecurityToken" in your request to create an AWS integration object, use this property to specify the key.

namespace_sync_rules: pulumi.Output[list] = None

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.

  • defaultAction (str) - 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".

  • filterAction (str) - Controls how SignalFx processes data from a custom AWS namespace. The available actions are one of "Include" or "Exclude".

  • filterSource (str) - 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.

  • namespace (str) - 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.

poll_rate: pulumi.Output[float] = None

AWS poll rate (in seconds). One of 60 or 300.

regions: pulumi.Output[list] = None

List of AWS regions that SignalFx should monitor.

role_arn: pulumi.Output[str] = None

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

services: pulumi.Output[list] = None

List of AWS services that you want SignalFx to monitor. Each element is a string designating an AWS service. Conflicts with namespace_sync_rule. See the documentation for Creating Integrations for valida values.

token: pulumi.Output[str] = None

Used with signalfx_aws_token_integration. Use this property to specify the token.

use_get_metric_data_method: pulumi.Output[bool] = None

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

static get(resource_name, id, opts=None, custom_cloudwatch_namespaces=None, custom_namespace_sync_rules=None, enable_aws_usage=None, enabled=None, external_id=None, import_cloud_watch=None, integration_id=None, key=None, namespace_sync_rules=None, poll_rate=None, regions=None, role_arn=None, services=None, token=None, use_get_metric_data_method=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • custom_cloudwatch_namespaces (pulumi.Input[list]) – 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.

  • custom_namespace_sync_rules (pulumi.Input[list]) – Each element controls the data collected by SignalFx for the specified namespace. Conflicts with the custom_cloudwatch_namespaces property.

  • enable_aws_usage (pulumi.Input[bool]) – Flag that controls how SignalFx imports usage metrics from AWS to use with AWS Cost Optimizer. If true, SignalFx imports the metrics.

  • enabled (pulumi.Input[bool]) – Whether the integration is enabled.

  • external_id (pulumi.Input[str]) – The external_id property from one of a aws.ExternalIntegration or aws.TokenIntegration

  • import_cloud_watch (pulumi.Input[bool]) – Flag that controls how SignalFx imports Cloud Watch metrics. If true, SignalFx imports Cloud Watch metrics from AWS.

  • integration_id (pulumi.Input[str]) – The id of one of a aws.ExternalIntegration or aws.TokenIntegration.

  • key (pulumi.Input[str]) – If you specify auth_method = "SecurityToken" in your request to create an AWS integration object, use this property to specify the key.

  • namespace_sync_rules (pulumi.Input[list]) – 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.

  • poll_rate (pulumi.Input[float]) – AWS poll rate (in seconds). One of 60 or 300.

  • regions (pulumi.Input[list]) – List of AWS regions that SignalFx should monitor.

  • role_arn (pulumi.Input[str]) – Role ARN that you add to an existing AWS integration object. Note: Ensure you use the arn property of your role, not the id!

  • services (pulumi.Input[list]) –

    List of AWS services that you want SignalFx to monitor. Each element is a string designating an AWS service. Conflicts with namespace_sync_rule. See the documentation for Creating Integrations for valida values.

  • token (pulumi.Input[str]) – Used with signalfx_aws_token_integration. Use this property to specify the token.

  • use_get_metric_data_method (pulumi.Input[bool]) – Enable the use of Amazon’s GetMetricData for collecting metrics. Note that this requires the inclusion of the "cloudwatch:GetMetricData" permission.

The custom_namespace_sync_rules object supports the following:

  • defaultAction (pulumi.Input[str]) - 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".

  • filterAction (pulumi.Input[str]) - Controls how SignalFx processes data from a custom AWS namespace. The available actions are one of "Include" or "Exclude".

  • filterSource (pulumi.Input[str]) - 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.

  • namespace (pulumi.Input[str]) - 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.

The namespace_sync_rules object supports the following:

  • defaultAction (pulumi.Input[str]) - 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".

  • filterAction (pulumi.Input[str]) - Controls how SignalFx processes data from a custom AWS namespace. The available actions are one of "Include" or "Exclude".

  • filterSource (pulumi.Input[str]) - 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.

  • namespace (pulumi.Input[str]) - 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.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_signalfx.aws.TokenIntegration(resource_name, opts=None, name=None, named_token=None, __props__=None, __name__=None, __opts__=None)

SignalFx AWS CloudWatch integrations using security tokens. For help with this integration see Connect to AWS CloudWatch.

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.

import pulumi
import pulumi_aws as aws
import pulumi_signalfx as signalfx

aws_myteam_token = signalfx.aws.TokenIntegration("awsMyteamToken")
# Make yourself an AWS IAM role here
aws_sfx_role = aws.iam.Role("awsSfxRole")
# Stuff here that uses the external and account ID
aws_myteam = signalfx.aws.Integration("awsMyteam",
    enabled=True,
    integration_id=aws_myteam_token.id,
    token="put_your_token_here",
    key="put_your_key_here",
    regions=["us-east-1"],
    poll_rate=300,
    import_cloud_watch=True,
    enable_aws_usage=True,
    custom_namespace_sync_rule=[{
        "defaultAction": "Exclude",
        "filterAction": "Include",
        "filterSource": "filter('code', '200')",
        "namespace": "fart",
    }],
    namespace_sync_rule=[{
        "defaultAction": "Exclude",
        "filterAction": "Include",
        "filterSource": "filter('code', '200')",
        "namespace": "AWS/EC2",
    }])
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • name (pulumi.Input[str]) – The name of this integration

  • named_token (pulumi.Input[str]) – A named token to use for ingest

name: pulumi.Output[str] = None

The name of this integration

named_token: pulumi.Output[str] = None

A named token to use for ingest

signalfx_aws_account: pulumi.Output[str] = None

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

token_id: pulumi.Output[str] = None

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

static get(resource_name, id, opts=None, name=None, named_token=None, signalfx_aws_account=None, token_id=None)

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • name (pulumi.Input[str]) – The name of this integration

  • named_token (pulumi.Input[str]) – A named token to use for ingest

  • signalfx_aws_account (pulumi.Input[str]) – The AWS Account ARN to use with your policies/roles, provided by SignalFx.

  • token_id (pulumi.Input[str]) – The SignalFx-generated AWS token to use with an AWS integration.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

pulumi_signalfx.aws.get_services(services=None, opts=None)

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

The services object supports the following:

  • name (str)