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.ExternalIntegrationoraws.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_namespacesproperty.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_idproperty from one of aaws.ExternalIntegrationoraws.TokenIntegrationimport_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.ExternalIntegrationoraws.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
servicesproperty. 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
60or300.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
arnproperty 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
GetMetricDatafor 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 SignalFlowfilter()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 SignalFlowfilter()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_namespacesproperty.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 SignalFlowfilter()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_idproperty from one of aaws.ExternalIntegrationoraws.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.ExternalIntegrationoraws.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
servicesproperty. 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 SignalFlowfilter()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
60or300.
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
arnproperty 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
GetMetricDatafor 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_namespacesproperty.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_idproperty from one of aaws.ExternalIntegrationoraws.TokenIntegrationimport_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.ExternalIntegrationoraws.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
servicesproperty. 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
60or300.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
arnproperty 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
GetMetricDatafor 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 SignalFlowfilter()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 SignalFlowfilter()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)