pulumi-signalfx 7.2.0a1709367777__py3-none-any.whl → 7.6.0a1736835428__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. pulumi_signalfx/__init__.py +9 -0
  2. pulumi_signalfx/_inputs.py +1976 -339
  3. pulumi_signalfx/_utilities.py +41 -5
  4. pulumi_signalfx/alert_muting_rule.py +110 -86
  5. pulumi_signalfx/aws/_inputs.py +85 -16
  6. pulumi_signalfx/aws/external_integration.py +20 -275
  7. pulumi_signalfx/aws/integration.py +222 -367
  8. pulumi_signalfx/aws/outputs.py +21 -16
  9. pulumi_signalfx/aws/token_integration.py +46 -65
  10. pulumi_signalfx/azure/_inputs.py +41 -4
  11. pulumi_signalfx/azure/integration.py +144 -259
  12. pulumi_signalfx/azure/outputs.py +15 -4
  13. pulumi_signalfx/config/__init__.pyi +22 -0
  14. pulumi_signalfx/config/vars.py +28 -0
  15. pulumi_signalfx/dashboard.py +171 -186
  16. pulumi_signalfx/dashboard_group.py +131 -198
  17. pulumi_signalfx/data_link.py +76 -141
  18. pulumi_signalfx/detector.py +264 -369
  19. pulumi_signalfx/event_feed_chart.py +51 -82
  20. pulumi_signalfx/gcp/_inputs.py +51 -0
  21. pulumi_signalfx/gcp/integration.py +224 -192
  22. pulumi_signalfx/gcp/outputs.py +44 -0
  23. pulumi_signalfx/get_dimension_values.py +47 -24
  24. pulumi_signalfx/heatmap_chart.py +165 -228
  25. pulumi_signalfx/jira/integration.py +70 -119
  26. pulumi_signalfx/list_chart.py +219 -315
  27. pulumi_signalfx/log/_inputs.py +33 -2
  28. pulumi_signalfx/log/outputs.py +7 -2
  29. pulumi_signalfx/log/timeline.py +64 -99
  30. pulumi_signalfx/log/view.py +134 -173
  31. pulumi_signalfx/metric_ruleset.py +217 -70
  32. pulumi_signalfx/opsgenie/integration.py +41 -60
  33. pulumi_signalfx/org_token.py +97 -128
  34. pulumi_signalfx/outputs.py +661 -339
  35. pulumi_signalfx/pagerduty/get_integration.py +22 -21
  36. pulumi_signalfx/pagerduty/integration.py +34 -49
  37. pulumi_signalfx/provider.py +99 -0
  38. pulumi_signalfx/pulumi-plugin.json +2 -1
  39. pulumi_signalfx/servicenow/integration.py +52 -107
  40. pulumi_signalfx/single_value_chart.py +113 -178
  41. pulumi_signalfx/slack/integration.py +30 -47
  42. pulumi_signalfx/slo.py +99 -197
  43. pulumi_signalfx/slo_chart.py +197 -0
  44. pulumi_signalfx/table_chart.py +50 -75
  45. pulumi_signalfx/team.py +74 -109
  46. pulumi_signalfx/text_chart.py +64 -89
  47. pulumi_signalfx/time_chart.py +271 -400
  48. pulumi_signalfx/victorops/integration.py +30 -47
  49. pulumi_signalfx/webhook_integration.py +154 -75
  50. {pulumi_signalfx-7.2.0a1709367777.dist-info → pulumi_signalfx-7.6.0a1736835428.dist-info}/METADATA +7 -6
  51. pulumi_signalfx-7.6.0a1736835428.dist-info/RECORD +65 -0
  52. {pulumi_signalfx-7.2.0a1709367777.dist-info → pulumi_signalfx-7.6.0a1736835428.dist-info}/WHEEL +1 -1
  53. pulumi_signalfx-7.2.0a1709367777.dist-info/RECORD +0 -64
  54. {pulumi_signalfx-7.2.0a1709367777.dist-info → pulumi_signalfx-7.6.0a1736835428.dist-info}/top_level.txt +0 -0
@@ -4,17 +4,48 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from .. import _utilities
11
16
 
12
17
  __all__ = [
13
18
  'IntegrationCustomNamespaceSyncRuleArgs',
19
+ 'IntegrationCustomNamespaceSyncRuleArgsDict',
14
20
  'IntegrationMetricStatsToSyncArgs',
21
+ 'IntegrationMetricStatsToSyncArgsDict',
15
22
  'IntegrationNamespaceSyncRuleArgs',
23
+ 'IntegrationNamespaceSyncRuleArgsDict',
16
24
  ]
17
25
 
26
+ MYPY = False
27
+
28
+ if not MYPY:
29
+ class IntegrationCustomNamespaceSyncRuleArgsDict(TypedDict):
30
+ namespace: pulumi.Input[str]
31
+ """
32
+ An AWS custom namespace having custom AWS metrics that you want to sync with Splunk Observability Cloud. See the AWS documentation on publishing metrics for more information.
33
+ """
34
+ default_action: NotRequired[pulumi.Input[str]]
35
+ """
36
+ Controls the Splunk Observability Cloud default behavior for processing data from an AWS namespace. Splunk Observability Cloud ignores this property unless you specify the `filter_action` and `filter_source` properties. If you do specify them, use this property to control how Splunk Observability Cloud treats data that doesn't match the filter. The available actions are one of `"Include"` or `"Exclude"`.
37
+ """
38
+ filter_action: NotRequired[pulumi.Input[str]]
39
+ """
40
+ Controls how Splunk Observability Cloud processes data from a custom AWS namespace. The available actions are one of `"Include"` or `"Exclude"`.
41
+ """
42
+ filter_source: NotRequired[pulumi.Input[str]]
43
+ """
44
+ Expression that selects the data that Splunk Observability Cloud 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.
45
+ """
46
+ elif False:
47
+ IntegrationCustomNamespaceSyncRuleArgsDict: TypeAlias = Mapping[str, Any]
48
+
18
49
  @pulumi.input_type
19
50
  class IntegrationCustomNamespaceSyncRuleArgs:
20
51
  def __init__(__self__, *,
@@ -23,10 +54,10 @@ class IntegrationCustomNamespaceSyncRuleArgs:
23
54
  filter_action: Optional[pulumi.Input[str]] = None,
24
55
  filter_source: Optional[pulumi.Input[str]] = None):
25
56
  """
26
- :param pulumi.Input[str] namespace: An AWS custom namespace having custom AWS metrics that you want to sync with Splunk Observability. See the AWS documentation on publishing metrics for more information.
27
- :param pulumi.Input[str] default_action: Controls the Splunk Observability default behavior for processing data from an AWS namespace. Splunk Observability ignores this property unless you specify the `filter_action` and `filter_source` properties. If you do specify them, use this property to control how Splunk Observability treats data that doesn't match the filter. The available actions are one of "Include" or "Exclude".
28
- :param pulumi.Input[str] filter_action: Controls how Splunk Observability processes data from a custom AWS namespace. The available actions are one of "Include" or "Exclude".
29
- :param pulumi.Input[str] filter_source: Expression that selects the data that Splunk Observability 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.
57
+ :param pulumi.Input[str] namespace: An AWS custom namespace having custom AWS metrics that you want to sync with Splunk Observability Cloud. See the AWS documentation on publishing metrics for more information.
58
+ :param pulumi.Input[str] default_action: Controls the Splunk Observability Cloud default behavior for processing data from an AWS namespace. Splunk Observability Cloud ignores this property unless you specify the `filter_action` and `filter_source` properties. If you do specify them, use this property to control how Splunk Observability Cloud treats data that doesn't match the filter. The available actions are one of `"Include"` or `"Exclude"`.
59
+ :param pulumi.Input[str] filter_action: Controls how Splunk Observability Cloud processes data from a custom AWS namespace. The available actions are one of `"Include"` or `"Exclude"`.
60
+ :param pulumi.Input[str] filter_source: Expression that selects the data that Splunk Observability Cloud 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.
30
61
  """
31
62
  pulumi.set(__self__, "namespace", namespace)
32
63
  if default_action is not None:
@@ -40,7 +71,7 @@ class IntegrationCustomNamespaceSyncRuleArgs:
40
71
  @pulumi.getter
41
72
  def namespace(self) -> pulumi.Input[str]:
42
73
  """
43
- An AWS custom namespace having custom AWS metrics that you want to sync with Splunk Observability. See the AWS documentation on publishing metrics for more information.
74
+ An AWS custom namespace having custom AWS metrics that you want to sync with Splunk Observability Cloud. See the AWS documentation on publishing metrics for more information.
44
75
  """
45
76
  return pulumi.get(self, "namespace")
46
77
 
@@ -52,7 +83,7 @@ class IntegrationCustomNamespaceSyncRuleArgs:
52
83
  @pulumi.getter(name="defaultAction")
53
84
  def default_action(self) -> Optional[pulumi.Input[str]]:
54
85
  """
55
- Controls the Splunk Observability default behavior for processing data from an AWS namespace. Splunk Observability ignores this property unless you specify the `filter_action` and `filter_source` properties. If you do specify them, use this property to control how Splunk Observability treats data that doesn't match the filter. The available actions are one of "Include" or "Exclude".
86
+ Controls the Splunk Observability Cloud default behavior for processing data from an AWS namespace. Splunk Observability Cloud ignores this property unless you specify the `filter_action` and `filter_source` properties. If you do specify them, use this property to control how Splunk Observability Cloud treats data that doesn't match the filter. The available actions are one of `"Include"` or `"Exclude"`.
56
87
  """
57
88
  return pulumi.get(self, "default_action")
58
89
 
@@ -64,7 +95,7 @@ class IntegrationCustomNamespaceSyncRuleArgs:
64
95
  @pulumi.getter(name="filterAction")
65
96
  def filter_action(self) -> Optional[pulumi.Input[str]]:
66
97
  """
67
- Controls how Splunk Observability processes data from a custom AWS namespace. The available actions are one of "Include" or "Exclude".
98
+ Controls how Splunk Observability Cloud processes data from a custom AWS namespace. The available actions are one of `"Include"` or `"Exclude"`.
68
99
  """
69
100
  return pulumi.get(self, "filter_action")
70
101
 
@@ -76,7 +107,7 @@ class IntegrationCustomNamespaceSyncRuleArgs:
76
107
  @pulumi.getter(name="filterSource")
77
108
  def filter_source(self) -> Optional[pulumi.Input[str]]:
78
109
  """
79
- Expression that selects the data that Splunk Observability 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.
110
+ Expression that selects the data that Splunk Observability Cloud 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.
80
111
  """
81
112
  return pulumi.get(self, "filter_source")
82
113
 
@@ -85,6 +116,23 @@ class IntegrationCustomNamespaceSyncRuleArgs:
85
116
  pulumi.set(self, "filter_source", value)
86
117
 
87
118
 
119
+ if not MYPY:
120
+ class IntegrationMetricStatsToSyncArgsDict(TypedDict):
121
+ metric: pulumi.Input[str]
122
+ """
123
+ AWS metric that you want to pick statistics for
124
+ """
125
+ namespace: pulumi.Input[str]
126
+ """
127
+ An AWS namespace having AWS metric that you want to pick statistics for
128
+ """
129
+ stats: pulumi.Input[Sequence[pulumi.Input[str]]]
130
+ """
131
+ AWS statistics you want to collect
132
+ """
133
+ elif False:
134
+ IntegrationMetricStatsToSyncArgsDict: TypeAlias = Mapping[str, Any]
135
+
88
136
  @pulumi.input_type
89
137
  class IntegrationMetricStatsToSyncArgs:
90
138
  def __init__(__self__, *,
@@ -137,6 +185,27 @@ class IntegrationMetricStatsToSyncArgs:
137
185
  pulumi.set(self, "stats", value)
138
186
 
139
187
 
188
+ if not MYPY:
189
+ class IntegrationNamespaceSyncRuleArgsDict(TypedDict):
190
+ namespace: pulumi.Input[str]
191
+ """
192
+ An AWS custom namespace having custom AWS metrics that you want to sync with Splunk Observability Cloud. See `services` field description below for additional information.
193
+ """
194
+ default_action: NotRequired[pulumi.Input[str]]
195
+ """
196
+ Controls the Splunk Observability Cloud default behavior for processing data from an AWS namespace. Splunk Observability Cloud ignores this property unless you specify the `filter_action` and `filter_source` properties. If you do specify them, use this property to control how Splunk Observability Cloud treats data that doesn't match the filter. The available actions are one of `"Include"` or `"Exclude"`.
197
+ """
198
+ filter_action: NotRequired[pulumi.Input[str]]
199
+ """
200
+ Controls how Splunk Observability Cloud processes data from a custom AWS namespace. The available actions are one of `"Include"` or `"Exclude"`.
201
+ """
202
+ filter_source: NotRequired[pulumi.Input[str]]
203
+ """
204
+ Expression that selects the data that Splunk Observability Cloud 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.
205
+ """
206
+ elif False:
207
+ IntegrationNamespaceSyncRuleArgsDict: TypeAlias = Mapping[str, Any]
208
+
140
209
  @pulumi.input_type
141
210
  class IntegrationNamespaceSyncRuleArgs:
142
211
  def __init__(__self__, *,
@@ -145,10 +214,10 @@ class IntegrationNamespaceSyncRuleArgs:
145
214
  filter_action: Optional[pulumi.Input[str]] = None,
146
215
  filter_source: Optional[pulumi.Input[str]] = None):
147
216
  """
148
- :param pulumi.Input[str] namespace: An AWS namespace having custom AWS metrics that you want to sync with Splunk Observability. See the AWS documentation on publishing metrics for more information.
149
- :param pulumi.Input[str] default_action: Controls the Splunk Observability default behavior for processing data from an AWS namespace. Splunk Observability ignores this property unless you specify the `filter_action` and `filter_source` properties. If you do specify them, use this property to control how Splunk Observability treats data that doesn't match the filter. The available actions are one of "Include" or "Exclude".
150
- :param pulumi.Input[str] filter_action: Controls how Splunk Observability processes data from a custom AWS namespace. The available actions are one of "Include" or "Exclude".
151
- :param pulumi.Input[str] filter_source: Expression that selects the data that Splunk Observability 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.
217
+ :param pulumi.Input[str] namespace: An AWS custom namespace having custom AWS metrics that you want to sync with Splunk Observability Cloud. See `services` field description below for additional information.
218
+ :param pulumi.Input[str] default_action: Controls the Splunk Observability Cloud default behavior for processing data from an AWS namespace. Splunk Observability Cloud ignores this property unless you specify the `filter_action` and `filter_source` properties. If you do specify them, use this property to control how Splunk Observability Cloud treats data that doesn't match the filter. The available actions are one of `"Include"` or `"Exclude"`.
219
+ :param pulumi.Input[str] filter_action: Controls how Splunk Observability Cloud processes data from a custom AWS namespace. The available actions are one of `"Include"` or `"Exclude"`.
220
+ :param pulumi.Input[str] filter_source: Expression that selects the data that Splunk Observability Cloud 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.
152
221
  """
153
222
  pulumi.set(__self__, "namespace", namespace)
154
223
  if default_action is not None:
@@ -162,7 +231,7 @@ class IntegrationNamespaceSyncRuleArgs:
162
231
  @pulumi.getter
163
232
  def namespace(self) -> pulumi.Input[str]:
164
233
  """
165
- An AWS namespace having custom AWS metrics that you want to sync with Splunk Observability. See the AWS documentation on publishing metrics for more information.
234
+ An AWS custom namespace having custom AWS metrics that you want to sync with Splunk Observability Cloud. See `services` field description below for additional information.
166
235
  """
167
236
  return pulumi.get(self, "namespace")
168
237
 
@@ -174,7 +243,7 @@ class IntegrationNamespaceSyncRuleArgs:
174
243
  @pulumi.getter(name="defaultAction")
175
244
  def default_action(self) -> Optional[pulumi.Input[str]]:
176
245
  """
177
- Controls the Splunk Observability default behavior for processing data from an AWS namespace. Splunk Observability ignores this property unless you specify the `filter_action` and `filter_source` properties. If you do specify them, use this property to control how Splunk Observability treats data that doesn't match the filter. The available actions are one of "Include" or "Exclude".
246
+ Controls the Splunk Observability Cloud default behavior for processing data from an AWS namespace. Splunk Observability Cloud ignores this property unless you specify the `filter_action` and `filter_source` properties. If you do specify them, use this property to control how Splunk Observability Cloud treats data that doesn't match the filter. The available actions are one of `"Include"` or `"Exclude"`.
178
247
  """
179
248
  return pulumi.get(self, "default_action")
180
249
 
@@ -186,7 +255,7 @@ class IntegrationNamespaceSyncRuleArgs:
186
255
  @pulumi.getter(name="filterAction")
187
256
  def filter_action(self) -> Optional[pulumi.Input[str]]:
188
257
  """
189
- Controls how Splunk Observability processes data from a custom AWS namespace. The available actions are one of "Include" or "Exclude".
258
+ Controls how Splunk Observability Cloud processes data from a custom AWS namespace. The available actions are one of `"Include"` or `"Exclude"`.
190
259
  """
191
260
  return pulumi.get(self, "filter_action")
192
261
 
@@ -198,7 +267,7 @@ class IntegrationNamespaceSyncRuleArgs:
198
267
  @pulumi.getter(name="filterSource")
199
268
  def filter_source(self) -> Optional[pulumi.Input[str]]:
200
269
  """
201
- Expression that selects the data that Splunk Observability 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.
270
+ Expression that selects the data that Splunk Observability Cloud 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.
202
271
  """
203
272
  return pulumi.get(self, "filter_source")
204
273
 
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from .. import _utilities
11
16
 
12
17
  __all__ = ['ExternalIntegrationArgs', 'ExternalIntegration']
@@ -17,7 +22,7 @@ class ExternalIntegrationArgs:
17
22
  name: Optional[pulumi.Input[str]] = None):
18
23
  """
19
24
  The set of arguments for constructing a ExternalIntegration resource.
20
- :param pulumi.Input[str] name: Name of the integration
25
+ :param pulumi.Input[str] name: The name of this integration
21
26
  """
22
27
  if name is not None:
23
28
  pulumi.set(__self__, "name", name)
@@ -26,7 +31,7 @@ class ExternalIntegrationArgs:
26
31
  @pulumi.getter
27
32
  def name(self) -> Optional[pulumi.Input[str]]:
28
33
  """
29
- Name of the integration
34
+ The name of this integration
30
35
  """
31
36
  return pulumi.get(self, "name")
32
37
 
@@ -43,9 +48,9 @@ class _ExternalIntegrationState:
43
48
  signalfx_aws_account: Optional[pulumi.Input[str]] = None):
44
49
  """
45
50
  Input properties used for looking up and filtering ExternalIntegration resources.
46
- :param pulumi.Input[str] external_id: The AWS external ID generated by Splunk Observability to use with an AWS integration.
47
- :param pulumi.Input[str] name: Name of the integration
48
- :param pulumi.Input[str] signalfx_aws_account: The Splunk Observability AWS account ID to use with an AWS role.
51
+ :param pulumi.Input[str] external_id: The external ID to use with your IAM role and with `aws.Integration`.
52
+ :param pulumi.Input[str] name: The name of this integration
53
+ :param pulumi.Input[str] signalfx_aws_account: The AWS Account ARN to use with your policies/roles, provided by Splunk Observability Cloud.
49
54
  """
50
55
  if external_id is not None:
51
56
  pulumi.set(__self__, "external_id", external_id)
@@ -58,7 +63,7 @@ class _ExternalIntegrationState:
58
63
  @pulumi.getter(name="externalId")
59
64
  def external_id(self) -> Optional[pulumi.Input[str]]:
60
65
  """
61
- The AWS external ID generated by Splunk Observability to use with an AWS integration.
66
+ The external ID to use with your IAM role and with `aws.Integration`.
62
67
  """
63
68
  return pulumi.get(self, "external_id")
64
69
 
@@ -70,7 +75,7 @@ class _ExternalIntegrationState:
70
75
  @pulumi.getter
71
76
  def name(self) -> Optional[pulumi.Input[str]]:
72
77
  """
73
- Name of the integration
78
+ The name of this integration
74
79
  """
75
80
  return pulumi.get(self, "name")
76
81
 
@@ -82,7 +87,7 @@ class _ExternalIntegrationState:
82
87
  @pulumi.getter(name="signalfxAwsAccount")
83
88
  def signalfx_aws_account(self) -> Optional[pulumi.Input[str]]:
84
89
  """
85
- The Splunk Observability AWS account ID to use with an AWS role.
90
+ The AWS Account ARN to use with your policies/roles, provided by Splunk Observability Cloud.
86
91
  """
87
92
  return pulumi.get(self, "signalfx_aws_account")
88
93
 
@@ -105,139 +110,9 @@ class ExternalIntegration(pulumi.CustomResource):
105
110
 
106
111
  > **WARNING** This resource implements part of a workflow. Use it with `aws.Integration`. Check with Splunk support for your realm's AWS account id.
107
112
 
108
- ## Example
109
-
110
- ```python
111
- import pulumi
112
- import pulumi_aws as aws
113
- import pulumi_signalfx as signalfx
114
-
115
- aws_myteam_extern = signalfx.aws.ExternalIntegration("awsMyteamExtern")
116
- signalfx_assume_policy = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(
117
- actions=["sts:AssumeRole"],
118
- principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(
119
- type="AWS",
120
- identifiers=[aws_myteam_extern.signalfx_aws_account],
121
- )],
122
- conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(
123
- test="StringEquals",
124
- variable="sts:ExternalId",
125
- values=[aws_myteam_extern.external_id],
126
- )],
127
- )])
128
- aws_splunk_role = aws.iam.Role("awsSplunkRole",
129
- description="Splunk Observability Cloud integration to read out data and send it to signalfxs aws account",
130
- assume_role_policy=signalfx_assume_policy.json)
131
- aws_splunk_policy = aws.iam.Policy("awsSplunkPolicy",
132
- description="AWS permissions required by the Splunk Observability Cloud",
133
- policy=\"\"\"{
134
- "Version": "2012-10-17",
135
- "Statement": [
136
- {
137
- "Effect": "Allow",
138
- "Action": [
139
- "apigateway:GET",
140
- "autoscaling:DescribeAutoScalingGroups",
141
- "cloudfront:GetDistributionConfig",
142
- "cloudfront:ListDistributions",
143
- "cloudfront:ListTagsForResource",
144
- "cloudwatch:DescribeAlarms",
145
- "cloudwatch:GetMetricData",
146
- "cloudwatch:GetMetricStatistics",
147
- "cloudwatch:ListMetrics",
148
- "directconnect:DescribeConnections",
149
- "dynamodb:DescribeTable",
150
- "dynamodb:ListTables",
151
- "dynamodb:ListTagsOfResource",
152
- "ec2:DescribeInstances",
153
- "ec2:DescribeInstanceStatus",
154
- "ec2:DescribeRegions",
155
- "ec2:DescribeReservedInstances",
156
- "ec2:DescribeReservedInstancesModifications",
157
- "ec2:DescribeTags",
158
- "ec2:DescribeVolumes",
159
- "ecs:DescribeClusters",
160
- "ecs:DescribeServices",
161
- "ecs:DescribeTasks",
162
- "ecs:ListClusters",
163
- "ecs:ListServices",
164
- "ecs:ListTagsForResource",
165
- "ecs:ListTaskDefinitions",
166
- "ecs:ListTasks",
167
- "elasticache:DescribeCacheClusters",
168
- "elasticloadbalancing:DescribeLoadBalancerAttributes",
169
- "elasticloadbalancing:DescribeLoadBalancers",
170
- "elasticloadbalancing:DescribeTags",
171
- "elasticloadbalancing:DescribeTargetGroups",
172
- "elasticmapreduce:DescribeCluster",
173
- "elasticmapreduce:ListClusters",
174
- "es:DescribeElasticsearchDomain",
175
- "es:ListDomainNames",
176
- "kinesis:DescribeStream",
177
- "kinesis:ListShards",
178
- "kinesis:ListStreams",
179
- "kinesis:ListTagsForStream",
180
- "lambda:GetAlias",
181
- "lambda:ListFunctions",
182
- "lambda:ListTags",
183
- "logs:DeleteSubscriptionFilter",
184
- "logs:DescribeLogGroups",
185
- "logs:DescribeSubscriptionFilters",
186
- "logs:PutSubscriptionFilter",
187
- "organizations:DescribeOrganization",
188
- "rds:DescribeDBClusters",
189
- "rds:DescribeDBInstances",
190
- "rds:ListTagsForResource",
191
- "redshift:DescribeClusters",
192
- "redshift:DescribeLoggingStatus",
193
- "s3:GetBucketLocation",
194
- "s3:GetBucketLogging",
195
- "s3:GetBucketNotification",
196
- "s3:GetBucketTagging",
197
- "s3:ListAllMyBuckets",
198
- "s3:ListBucket",
199
- "s3:PutBucketNotification",
200
- "sqs:GetQueueAttributes",
201
- "sqs:ListQueues",
202
- "sqs:ListQueueTags",
203
- "states:ListStateMachines",
204
- "tag:GetResources",
205
- "workspaces:DescribeWorkspaces"
206
- ],
207
- "Resource": "*"
208
- }
209
- ]
210
- }
211
- \"\"\")
212
- splunk_role_policy_attach = aws.iam.RolePolicyAttachment("splunkRolePolicyAttach",
213
- role=aws_splunk_role.name,
214
- policy_arn=aws_splunk_policy.arn)
215
- aws_myteam = signalfx.aws.Integration("awsMyteam",
216
- enabled=True,
217
- integration_id=aws_myteam_extern.id,
218
- external_id=aws_myteam_extern.external_id,
219
- role_arn=aws_splunk_role.arn,
220
- regions=["us-east-1"],
221
- poll_rate=300,
222
- import_cloud_watch=True,
223
- enable_aws_usage=True)
224
- ```
225
-
226
- ## Arguments
227
-
228
- * `name` - (Required) The name of this integration
229
-
230
- ## Attributes
231
-
232
- In addition to all arguments above, the following attributes are exported:
233
-
234
- * `id` - The ID of this integration, used with `aws.Integration`
235
- * `external_id` - The external ID to use with your IAM role and with `aws.Integration`.
236
- * `signalfx_aws_account` - The AWS Account ARN to use with your policies/roles, provided by Splunk Observability Cloud.
237
-
238
113
  :param str resource_name: The name of the resource.
239
114
  :param pulumi.ResourceOptions opts: Options for the resource.
240
- :param pulumi.Input[str] name: Name of the integration
115
+ :param pulumi.Input[str] name: The name of this integration
241
116
  """
242
117
  ...
243
118
  @overload
@@ -252,136 +127,6 @@ class ExternalIntegration(pulumi.CustomResource):
252
127
 
253
128
  > **WARNING** This resource implements part of a workflow. Use it with `aws.Integration`. Check with Splunk support for your realm's AWS account id.
254
129
 
255
- ## Example
256
-
257
- ```python
258
- import pulumi
259
- import pulumi_aws as aws
260
- import pulumi_signalfx as signalfx
261
-
262
- aws_myteam_extern = signalfx.aws.ExternalIntegration("awsMyteamExtern")
263
- signalfx_assume_policy = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(
264
- actions=["sts:AssumeRole"],
265
- principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(
266
- type="AWS",
267
- identifiers=[aws_myteam_extern.signalfx_aws_account],
268
- )],
269
- conditions=[aws.iam.GetPolicyDocumentStatementConditionArgs(
270
- test="StringEquals",
271
- variable="sts:ExternalId",
272
- values=[aws_myteam_extern.external_id],
273
- )],
274
- )])
275
- aws_splunk_role = aws.iam.Role("awsSplunkRole",
276
- description="Splunk Observability Cloud integration to read out data and send it to signalfxs aws account",
277
- assume_role_policy=signalfx_assume_policy.json)
278
- aws_splunk_policy = aws.iam.Policy("awsSplunkPolicy",
279
- description="AWS permissions required by the Splunk Observability Cloud",
280
- policy=\"\"\"{
281
- "Version": "2012-10-17",
282
- "Statement": [
283
- {
284
- "Effect": "Allow",
285
- "Action": [
286
- "apigateway:GET",
287
- "autoscaling:DescribeAutoScalingGroups",
288
- "cloudfront:GetDistributionConfig",
289
- "cloudfront:ListDistributions",
290
- "cloudfront:ListTagsForResource",
291
- "cloudwatch:DescribeAlarms",
292
- "cloudwatch:GetMetricData",
293
- "cloudwatch:GetMetricStatistics",
294
- "cloudwatch:ListMetrics",
295
- "directconnect:DescribeConnections",
296
- "dynamodb:DescribeTable",
297
- "dynamodb:ListTables",
298
- "dynamodb:ListTagsOfResource",
299
- "ec2:DescribeInstances",
300
- "ec2:DescribeInstanceStatus",
301
- "ec2:DescribeRegions",
302
- "ec2:DescribeReservedInstances",
303
- "ec2:DescribeReservedInstancesModifications",
304
- "ec2:DescribeTags",
305
- "ec2:DescribeVolumes",
306
- "ecs:DescribeClusters",
307
- "ecs:DescribeServices",
308
- "ecs:DescribeTasks",
309
- "ecs:ListClusters",
310
- "ecs:ListServices",
311
- "ecs:ListTagsForResource",
312
- "ecs:ListTaskDefinitions",
313
- "ecs:ListTasks",
314
- "elasticache:DescribeCacheClusters",
315
- "elasticloadbalancing:DescribeLoadBalancerAttributes",
316
- "elasticloadbalancing:DescribeLoadBalancers",
317
- "elasticloadbalancing:DescribeTags",
318
- "elasticloadbalancing:DescribeTargetGroups",
319
- "elasticmapreduce:DescribeCluster",
320
- "elasticmapreduce:ListClusters",
321
- "es:DescribeElasticsearchDomain",
322
- "es:ListDomainNames",
323
- "kinesis:DescribeStream",
324
- "kinesis:ListShards",
325
- "kinesis:ListStreams",
326
- "kinesis:ListTagsForStream",
327
- "lambda:GetAlias",
328
- "lambda:ListFunctions",
329
- "lambda:ListTags",
330
- "logs:DeleteSubscriptionFilter",
331
- "logs:DescribeLogGroups",
332
- "logs:DescribeSubscriptionFilters",
333
- "logs:PutSubscriptionFilter",
334
- "organizations:DescribeOrganization",
335
- "rds:DescribeDBClusters",
336
- "rds:DescribeDBInstances",
337
- "rds:ListTagsForResource",
338
- "redshift:DescribeClusters",
339
- "redshift:DescribeLoggingStatus",
340
- "s3:GetBucketLocation",
341
- "s3:GetBucketLogging",
342
- "s3:GetBucketNotification",
343
- "s3:GetBucketTagging",
344
- "s3:ListAllMyBuckets",
345
- "s3:ListBucket",
346
- "s3:PutBucketNotification",
347
- "sqs:GetQueueAttributes",
348
- "sqs:ListQueues",
349
- "sqs:ListQueueTags",
350
- "states:ListStateMachines",
351
- "tag:GetResources",
352
- "workspaces:DescribeWorkspaces"
353
- ],
354
- "Resource": "*"
355
- }
356
- ]
357
- }
358
- \"\"\")
359
- splunk_role_policy_attach = aws.iam.RolePolicyAttachment("splunkRolePolicyAttach",
360
- role=aws_splunk_role.name,
361
- policy_arn=aws_splunk_policy.arn)
362
- aws_myteam = signalfx.aws.Integration("awsMyteam",
363
- enabled=True,
364
- integration_id=aws_myteam_extern.id,
365
- external_id=aws_myteam_extern.external_id,
366
- role_arn=aws_splunk_role.arn,
367
- regions=["us-east-1"],
368
- poll_rate=300,
369
- import_cloud_watch=True,
370
- enable_aws_usage=True)
371
- ```
372
-
373
- ## Arguments
374
-
375
- * `name` - (Required) The name of this integration
376
-
377
- ## Attributes
378
-
379
- In addition to all arguments above, the following attributes are exported:
380
-
381
- * `id` - The ID of this integration, used with `aws.Integration`
382
- * `external_id` - The external ID to use with your IAM role and with `aws.Integration`.
383
- * `signalfx_aws_account` - The AWS Account ARN to use with your policies/roles, provided by Splunk Observability Cloud.
384
-
385
130
  :param str resource_name: The name of the resource.
386
131
  :param ExternalIntegrationArgs args: The arguments to use to populate this resource's properties.
387
132
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -432,9 +177,9 @@ class ExternalIntegration(pulumi.CustomResource):
432
177
  :param str resource_name: The unique name of the resulting resource.
433
178
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
434
179
  :param pulumi.ResourceOptions opts: Options for the resource.
435
- :param pulumi.Input[str] external_id: The AWS external ID generated by Splunk Observability to use with an AWS integration.
436
- :param pulumi.Input[str] name: Name of the integration
437
- :param pulumi.Input[str] signalfx_aws_account: The Splunk Observability AWS account ID to use with an AWS role.
180
+ :param pulumi.Input[str] external_id: The external ID to use with your IAM role and with `aws.Integration`.
181
+ :param pulumi.Input[str] name: The name of this integration
182
+ :param pulumi.Input[str] signalfx_aws_account: The AWS Account ARN to use with your policies/roles, provided by Splunk Observability Cloud.
438
183
  """
439
184
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
440
185
 
@@ -449,7 +194,7 @@ class ExternalIntegration(pulumi.CustomResource):
449
194
  @pulumi.getter(name="externalId")
450
195
  def external_id(self) -> pulumi.Output[str]:
451
196
  """
452
- The AWS external ID generated by Splunk Observability to use with an AWS integration.
197
+ The external ID to use with your IAM role and with `aws.Integration`.
453
198
  """
454
199
  return pulumi.get(self, "external_id")
455
200
 
@@ -457,7 +202,7 @@ class ExternalIntegration(pulumi.CustomResource):
457
202
  @pulumi.getter
458
203
  def name(self) -> pulumi.Output[str]:
459
204
  """
460
- Name of the integration
205
+ The name of this integration
461
206
  """
462
207
  return pulumi.get(self, "name")
463
208
 
@@ -465,7 +210,7 @@ class ExternalIntegration(pulumi.CustomResource):
465
210
  @pulumi.getter(name="signalfxAwsAccount")
466
211
  def signalfx_aws_account(self) -> pulumi.Output[str]:
467
212
  """
468
- The Splunk Observability AWS account ID to use with an AWS role.
213
+ The AWS Account ARN to use with your policies/roles, provided by Splunk Observability Cloud.
469
214
  """
470
215
  return pulumi.get(self, "signalfx_aws_account")
471
216