diff --git a/provider/cmd/pulumi-resource-grafana/bridge-metadata.json b/provider/cmd/pulumi-resource-grafana/bridge-metadata.json
index 114f53c9..583d9477 100644
--- a/provider/cmd/pulumi-resource-grafana/bridge-metadata.json
+++ b/provider/cmd/pulumi-resource-grafana/bridge-metadata.json
@@ -71,6 +71,12 @@
}
]
},
+ "grafana_cloud_private_data_source_connect_network": {
+ "current": "grafana:cloud/privateDataSourceConnectNetwork:PrivateDataSourceConnectNetwork"
+ },
+ "grafana_cloud_private_data_source_connect_network_token": {
+ "current": "grafana:cloud/privateDataSourceConnectNetworkToken:PrivateDataSourceConnectNetworkToken"
+ },
"grafana_cloud_provider_aws_account": {
"current": "grafana:cloud/providerAwsAccount:ProviderAwsAccount",
"fields": {
@@ -1416,6 +1422,14 @@
}
]
},
+ "grafana_cloud_private_data_source_connect_networks": {
+ "current": "grafana:cloud/getPrivateDataSourceConnectNetworks:getPrivateDataSourceConnectNetworks",
+ "fields": {
+ "private_data_source_connect_networks": {
+ "maxItemsOne": false
+ }
+ }
+ },
"grafana_cloud_provider_aws_account": {
"current": "grafana:cloud/getProviderAwsAccount:getProviderAwsAccount",
"fields": {
@@ -2383,6 +2397,8 @@
"grafana:cloud/accessPolicyToken:AccessPolicyToken": 0,
"grafana:cloud/orgMember:OrgMember": 1,
"grafana:cloud/pluginInstallation:PluginInstallation": 0,
+ "grafana:cloud/privateDataSourceConnectNetwork:PrivateDataSourceConnectNetwork": 0,
+ "grafana:cloud/privateDataSourceConnectNetworkToken:PrivateDataSourceConnectNetworkToken": 0,
"grafana:cloud/providerAwsAccount:ProviderAwsAccount": 1,
"grafana:cloud/providerAwsCloudwatchScrapeJob:ProviderAwsCloudwatchScrapeJob": 1,
"grafana:cloud/providerAzureCredential:ProviderAzureCredential": 1,
@@ -2495,6 +2511,7 @@
"grafana:cloud/getAccessPolicies:getAccessPolicies": 1,
"grafana:cloud/getIps:getIps": 0,
"grafana:cloud/getOrganization:getOrganization": 0,
+ "grafana:cloud/getPrivateDataSourceConnectNetworks:getPrivateDataSourceConnectNetworks": 1,
"grafana:cloud/getProviderAwsAccount:getProviderAwsAccount": 1,
"grafana:cloud/getProviderAwsCloudwatchScrapeJob:getProviderAwsCloudwatchScrapeJob": 1,
"grafana:cloud/getProviderAwsCloudwatchScrapeJobs:getProviderAwsCloudwatchScrapeJobs": 1,
diff --git a/provider/cmd/pulumi-resource-grafana/schema.json b/provider/cmd/pulumi-resource-grafana/schema.json
index 4c1463de..cac7c7ad 100644
--- a/provider/cmd/pulumi-resource-grafana/schema.json
+++ b/provider/cmd/pulumi-resource-grafana/schema.json
@@ -2263,6 +2263,38 @@
}
}
},
+ "grafana:cloud/getPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetwork:getPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetwork": {
+ "properties": {
+ "displayName": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "region": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ }
+ },
+ "type": "object",
+ "required": [
+ "displayName",
+ "id",
+ "name",
+ "region",
+ "status"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
"grafana:cloud/getProviderAwsCloudwatchScrapeJobCustomNamespace:getProviderAwsCloudwatchScrapeJobCustomNamespace": {
"properties": {
"metrics": {
@@ -11451,6 +11483,224 @@
}
]
},
+ "grafana:cloud/privateDataSourceConnectNetwork:PrivateDataSourceConnectNetwork": {
+ "description": "* [Official documentation](https://grafana.com/docs/grafana-cloud/connect-externally-hosted/private-data-source-connect/)\n* [API documentation](https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#create-an-access-policy)\n\nRequired access policy scopes:\n\n* accesspolicies:read\n* accesspolicies:write\n* accesspolicies:delete\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst current = grafana.cloud.getStack({\n slug: \"\u003cyour slug\u003e\",\n});\nconst test = new grafana.cloud.PrivateDataSourceConnectNetwork(\"test\", {\n region: \"us\",\n name: \"my-pdc\",\n displayName: \"My PDC\",\n stackIdentifier: current.then(current =\u003e current.id),\n});\nconst testPrivateDataSourceConnectNetworkToken = new grafana.cloud.PrivateDataSourceConnectNetworkToken(\"test\", {\n pdcNetworkId: test.pdcNetworkId,\n region: test.region,\n name: \"my-pdc-token\",\n displayName: \"My PDC Token\",\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\ncurrent = grafana.cloud.get_stack(slug=\"\u003cyour slug\u003e\")\ntest = grafana.cloud.PrivateDataSourceConnectNetwork(\"test\",\n region=\"us\",\n name=\"my-pdc\",\n display_name=\"My PDC\",\n stack_identifier=current.id)\ntest_private_data_source_connect_network_token = grafana.cloud.PrivateDataSourceConnectNetworkToken(\"test\",\n pdc_network_id=test.pdc_network_id,\n region=test.region,\n name=\"my-pdc-token\",\n display_name=\"My PDC Token\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Grafana.Cloud.GetStack.Invoke(new()\n {\n Slug = \"\u003cyour slug\u003e\",\n });\n\n var test = new Grafana.Cloud.PrivateDataSourceConnectNetwork(\"test\", new()\n {\n Region = \"us\",\n Name = \"my-pdc\",\n DisplayName = \"My PDC\",\n StackIdentifier = current.Apply(getStackResult =\u003e getStackResult.Id),\n });\n\n var testPrivateDataSourceConnectNetworkToken = new Grafana.Cloud.PrivateDataSourceConnectNetworkToken(\"test\", new()\n {\n PdcNetworkId = test.PdcNetworkId,\n Region = test.Region,\n Name = \"my-pdc-token\",\n DisplayName = \"My PDC Token\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/cloud\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := cloud.LookupStack(ctx, \u0026cloud.LookupStackArgs{\n\t\t\tSlug: \"\u003cyour slug\u003e\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := cloud.NewPrivateDataSourceConnectNetwork(ctx, \"test\", \u0026cloud.PrivateDataSourceConnectNetworkArgs{\n\t\t\tRegion: pulumi.String(\"us\"),\n\t\t\tName: pulumi.String(\"my-pdc\"),\n\t\t\tDisplayName: pulumi.String(\"My PDC\"),\n\t\t\tStackIdentifier: pulumi.String(current.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloud.NewPrivateDataSourceConnectNetworkToken(ctx, \"test\", \u0026cloud.PrivateDataSourceConnectNetworkTokenArgs{\n\t\t\tPdcNetworkId: test.PdcNetworkId,\n\t\t\tRegion: test.Region,\n\t\t\tName: pulumi.String(\"my-pdc-token\"),\n\t\t\tDisplayName: pulumi.String(\"My PDC Token\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.cloud.CloudFunctions;\nimport com.pulumi.grafana.cloud.inputs.GetStackArgs;\nimport com.pulumi.grafana.cloud.PrivateDataSourceConnectNetwork;\nimport com.pulumi.grafana.cloud.PrivateDataSourceConnectNetworkArgs;\nimport com.pulumi.grafana.cloud.PrivateDataSourceConnectNetworkToken;\nimport com.pulumi.grafana.cloud.PrivateDataSourceConnectNetworkTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = CloudFunctions.getStack(GetStackArgs.builder()\n .slug(\"\u003cyour slug\u003e\")\n .build());\n\n var test = new PrivateDataSourceConnectNetwork(\"test\", PrivateDataSourceConnectNetworkArgs.builder()\n .region(\"us\")\n .name(\"my-pdc\")\n .displayName(\"My PDC\")\n .stackIdentifier(current.applyValue(getStackResult -\u003e getStackResult.id()))\n .build());\n\n var testPrivateDataSourceConnectNetworkToken = new PrivateDataSourceConnectNetworkToken(\"testPrivateDataSourceConnectNetworkToken\", PrivateDataSourceConnectNetworkTokenArgs.builder()\n .pdcNetworkId(test.pdcNetworkId())\n .region(test.region())\n .name(\"my-pdc-token\")\n .displayName(\"My PDC Token\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: grafana:cloud:PrivateDataSourceConnectNetwork\n properties:\n region: us\n name: my-pdc\n displayName: My PDC\n stackIdentifier: ${current.id}\n testPrivateDataSourceConnectNetworkToken:\n type: grafana:cloud:PrivateDataSourceConnectNetworkToken\n name: test\n properties:\n pdcNetworkId: ${test.pdcNetworkId}\n region: ${test.region}\n name: my-pdc-token\n displayName: My PDC Token\nvariables:\n current:\n fn::invoke:\n function: grafana:cloud:getStack\n arguments:\n slug: \u003cyour slug\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import grafana:cloud/privateDataSourceConnectNetwork:PrivateDataSourceConnectNetwork name \"{{ region }}:{{ policyId }}\"\n```\n\n",
+ "properties": {
+ "createdAt": {
+ "type": "string",
+ "description": "Creation date of the private data source connect network.\n"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the PDC network. Defaults to the name.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the PDC network.**Note:** The name must be lowercase and can contain hyphens or underscores. See full requirements here: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#request-body\n"
+ },
+ "pdcNetworkId": {
+ "type": "string",
+ "description": "ID of the private data source connect network.\n"
+ },
+ "region": {
+ "type": "string",
+ "description": "The region where your stack is deployed. Use the instances list API to get the region for your instance - use the regionSlug property: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-stacks\n"
+ },
+ "stackIdentifier": {
+ "type": "string",
+ "description": "The identifier of the stack.\n"
+ },
+ "updatedAt": {
+ "type": "string",
+ "description": "Last update date of the private data source connect network.\n"
+ }
+ },
+ "required": [
+ "createdAt",
+ "name",
+ "pdcNetworkId",
+ "region",
+ "stackIdentifier",
+ "updatedAt"
+ ],
+ "inputProperties": {
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the PDC network. Defaults to the name.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the PDC network.**Note:** The name must be lowercase and can contain hyphens or underscores. See full requirements here: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#request-body\n",
+ "willReplaceOnChanges": true
+ },
+ "region": {
+ "type": "string",
+ "description": "The region where your stack is deployed. Use the instances list API to get the region for your instance - use the regionSlug property: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-stacks\n",
+ "willReplaceOnChanges": true
+ },
+ "stackIdentifier": {
+ "type": "string",
+ "description": "The identifier of the stack.\n"
+ }
+ },
+ "requiredInputs": [
+ "region",
+ "stackIdentifier"
+ ],
+ "stateInputs": {
+ "description": "Input properties used for looking up and filtering PrivateDataSourceConnectNetwork resources.\n",
+ "properties": {
+ "createdAt": {
+ "type": "string",
+ "description": "Creation date of the private data source connect network.\n"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the PDC network. Defaults to the name.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the PDC network.**Note:** The name must be lowercase and can contain hyphens or underscores. See full requirements here: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#request-body\n",
+ "willReplaceOnChanges": true
+ },
+ "pdcNetworkId": {
+ "type": "string",
+ "description": "ID of the private data source connect network.\n"
+ },
+ "region": {
+ "type": "string",
+ "description": "The region where your stack is deployed. Use the instances list API to get the region for your instance - use the regionSlug property: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-stacks\n",
+ "willReplaceOnChanges": true
+ },
+ "stackIdentifier": {
+ "type": "string",
+ "description": "The identifier of the stack.\n"
+ },
+ "updatedAt": {
+ "type": "string",
+ "description": "Last update date of the private data source connect network.\n"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "grafana:cloud/privateDataSourceConnectNetworkToken:PrivateDataSourceConnectNetworkToken": {
+ "description": "* [Official documentation](https://grafana.com/docs/grafana-cloud/connect-externally-hosted/private-data-source-connect/)\n* [API documentation](https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#create-a-token)\n\nRequired access policy scopes:\n\n* accesspolicies:read\n* accesspolicies:write\n* accesspolicies:delete\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst current = grafana.cloud.getStack({\n slug: \"\u003cyour slug\u003e\",\n});\nconst test = new grafana.cloud.PrivateDataSourceConnectNetwork(\"test\", {\n region: \"us\",\n name: \"my-pdc\",\n displayName: \"My PDC\",\n stackIdentifier: current.then(current =\u003e current.id),\n});\nconst testPrivateDataSourceConnectNetworkToken = new grafana.cloud.PrivateDataSourceConnectNetworkToken(\"test\", {\n pdcNetworkId: test.pdcNetworkId,\n region: test.region,\n name: \"my-pdc-token\",\n displayName: \"My PDC Token\",\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\ncurrent = grafana.cloud.get_stack(slug=\"\u003cyour slug\u003e\")\ntest = grafana.cloud.PrivateDataSourceConnectNetwork(\"test\",\n region=\"us\",\n name=\"my-pdc\",\n display_name=\"My PDC\",\n stack_identifier=current.id)\ntest_private_data_source_connect_network_token = grafana.cloud.PrivateDataSourceConnectNetworkToken(\"test\",\n pdc_network_id=test.pdc_network_id,\n region=test.region,\n name=\"my-pdc-token\",\n display_name=\"My PDC Token\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Grafana.Cloud.GetStack.Invoke(new()\n {\n Slug = \"\u003cyour slug\u003e\",\n });\n\n var test = new Grafana.Cloud.PrivateDataSourceConnectNetwork(\"test\", new()\n {\n Region = \"us\",\n Name = \"my-pdc\",\n DisplayName = \"My PDC\",\n StackIdentifier = current.Apply(getStackResult =\u003e getStackResult.Id),\n });\n\n var testPrivateDataSourceConnectNetworkToken = new Grafana.Cloud.PrivateDataSourceConnectNetworkToken(\"test\", new()\n {\n PdcNetworkId = test.PdcNetworkId,\n Region = test.Region,\n Name = \"my-pdc-token\",\n DisplayName = \"My PDC Token\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/cloud\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := cloud.LookupStack(ctx, \u0026cloud.LookupStackArgs{\n\t\t\tSlug: \"\u003cyour slug\u003e\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttest, err := cloud.NewPrivateDataSourceConnectNetwork(ctx, \"test\", \u0026cloud.PrivateDataSourceConnectNetworkArgs{\n\t\t\tRegion: pulumi.String(\"us\"),\n\t\t\tName: pulumi.String(\"my-pdc\"),\n\t\t\tDisplayName: pulumi.String(\"My PDC\"),\n\t\t\tStackIdentifier: pulumi.String(current.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloud.NewPrivateDataSourceConnectNetworkToken(ctx, \"test\", \u0026cloud.PrivateDataSourceConnectNetworkTokenArgs{\n\t\t\tPdcNetworkId: test.PdcNetworkId,\n\t\t\tRegion: test.Region,\n\t\t\tName: pulumi.String(\"my-pdc-token\"),\n\t\t\tDisplayName: pulumi.String(\"My PDC Token\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.cloud.CloudFunctions;\nimport com.pulumi.grafana.cloud.inputs.GetStackArgs;\nimport com.pulumi.grafana.cloud.PrivateDataSourceConnectNetwork;\nimport com.pulumi.grafana.cloud.PrivateDataSourceConnectNetworkArgs;\nimport com.pulumi.grafana.cloud.PrivateDataSourceConnectNetworkToken;\nimport com.pulumi.grafana.cloud.PrivateDataSourceConnectNetworkTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = CloudFunctions.getStack(GetStackArgs.builder()\n .slug(\"\u003cyour slug\u003e\")\n .build());\n\n var test = new PrivateDataSourceConnectNetwork(\"test\", PrivateDataSourceConnectNetworkArgs.builder()\n .region(\"us\")\n .name(\"my-pdc\")\n .displayName(\"My PDC\")\n .stackIdentifier(current.applyValue(getStackResult -\u003e getStackResult.id()))\n .build());\n\n var testPrivateDataSourceConnectNetworkToken = new PrivateDataSourceConnectNetworkToken(\"testPrivateDataSourceConnectNetworkToken\", PrivateDataSourceConnectNetworkTokenArgs.builder()\n .pdcNetworkId(test.pdcNetworkId())\n .region(test.region())\n .name(\"my-pdc-token\")\n .displayName(\"My PDC Token\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: grafana:cloud:PrivateDataSourceConnectNetwork\n properties:\n region: us\n name: my-pdc\n displayName: My PDC\n stackIdentifier: ${current.id}\n testPrivateDataSourceConnectNetworkToken:\n type: grafana:cloud:PrivateDataSourceConnectNetworkToken\n name: test\n properties:\n pdcNetworkId: ${test.pdcNetworkId}\n region: ${test.region}\n name: my-pdc-token\n displayName: My PDC Token\nvariables:\n current:\n fn::invoke:\n function: grafana:cloud:getStack\n arguments:\n slug: \u003cyour slug\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import grafana:cloud/privateDataSourceConnectNetworkToken:PrivateDataSourceConnectNetworkToken name \"{{ region }}:{{ tokenId }}\"\n```\n\n",
+ "properties": {
+ "createdAt": {
+ "type": "string",
+ "description": "Creation date of the private data source network token.\n"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the private data source network token. Defaults to the name.\n"
+ },
+ "expiresAt": {
+ "type": "string",
+ "description": "Expiration date of the private data source network token. Does not expire by default.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the private data source network token.\n"
+ },
+ "pdcNetworkId": {
+ "type": "string",
+ "description": "ID of the private data source network for which to create a token.\n"
+ },
+ "region": {
+ "type": "string",
+ "description": "Region of the private data source network. Should be set to the same region as the private data source network. Use the region list API to get the list of available regions: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-regions.\n"
+ },
+ "token": {
+ "type": "string",
+ "secret": true
+ },
+ "updatedAt": {
+ "type": "string",
+ "description": "Last update date of the private data source network token.\n"
+ }
+ },
+ "required": [
+ "createdAt",
+ "name",
+ "pdcNetworkId",
+ "region",
+ "token",
+ "updatedAt"
+ ],
+ "inputProperties": {
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the private data source network token. Defaults to the name.\n"
+ },
+ "expiresAt": {
+ "type": "string",
+ "description": "Expiration date of the private data source network token. Does not expire by default.\n",
+ "willReplaceOnChanges": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the private data source network token.\n",
+ "willReplaceOnChanges": true
+ },
+ "pdcNetworkId": {
+ "type": "string",
+ "description": "ID of the private data source network for which to create a token.\n",
+ "willReplaceOnChanges": true
+ },
+ "region": {
+ "type": "string",
+ "description": "Region of the private data source network. Should be set to the same region as the private data source network. Use the region list API to get the list of available regions: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-regions.\n",
+ "willReplaceOnChanges": true
+ }
+ },
+ "requiredInputs": [
+ "pdcNetworkId",
+ "region"
+ ],
+ "stateInputs": {
+ "description": "Input properties used for looking up and filtering PrivateDataSourceConnectNetworkToken resources.\n",
+ "properties": {
+ "createdAt": {
+ "type": "string",
+ "description": "Creation date of the private data source network token.\n"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the private data source network token. Defaults to the name.\n"
+ },
+ "expiresAt": {
+ "type": "string",
+ "description": "Expiration date of the private data source network token. Does not expire by default.\n",
+ "willReplaceOnChanges": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the private data source network token.\n",
+ "willReplaceOnChanges": true
+ },
+ "pdcNetworkId": {
+ "type": "string",
+ "description": "ID of the private data source network for which to create a token.\n",
+ "willReplaceOnChanges": true
+ },
+ "region": {
+ "type": "string",
+ "description": "Region of the private data source network. Should be set to the same region as the private data source network. Use the region list API to get the list of available regions: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-regions.\n",
+ "willReplaceOnChanges": true
+ },
+ "token": {
+ "type": "string",
+ "secret": true
+ },
+ "updatedAt": {
+ "type": "string",
+ "description": "Last update date of the private data source network token.\n"
+ }
+ },
+ "type": "object"
+ }
+ },
"grafana:cloud/providerAwsAccount:ProviderAwsAccount": {
"description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst test = grafana.cloud.getStack({\n slug: \"gcloudstacktest\",\n});\nconst testGetRole = aws.iam.getRole({\n name: \"my-role\",\n});\nconst testProviderAwsAccount = new grafana.cloud.ProviderAwsAccount(\"test\", {\n stackId: test.then(test =\u003e test.id),\n roleArn: testGetRole.then(testGetRole =\u003e testGetRole.arn),\n regions: [\n \"us-east-1\",\n \"us-east-2\",\n \"us-west-1\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\ntest = grafana.cloud.get_stack(slug=\"gcloudstacktest\")\ntest_get_role = aws.iam.get_role(name=\"my-role\")\ntest_provider_aws_account = grafana.cloud.ProviderAwsAccount(\"test\",\n stack_id=test.id,\n role_arn=test_get_role.arn,\n regions=[\n \"us-east-1\",\n \"us-east-2\",\n \"us-west-1\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Grafana.Cloud.GetStack.Invoke(new()\n {\n Slug = \"gcloudstacktest\",\n });\n\n var testGetRole = Aws.Iam.GetRole.Invoke(new()\n {\n Name = \"my-role\",\n });\n\n var testProviderAwsAccount = new Grafana.Cloud.ProviderAwsAccount(\"test\", new()\n {\n StackId = test.Apply(getStackResult =\u003e getStackResult.Id),\n RoleArn = testGetRole.Apply(getRoleResult =\u003e getRoleResult.Arn),\n Regions = new[]\n {\n \"us-east-1\",\n \"us-east-2\",\n \"us-west-1\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/cloud\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := cloud.LookupStack(ctx, \u0026cloud.LookupStackArgs{\n\t\t\tSlug: \"gcloudstacktest\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestGetRole, err := iam.LookupRole(ctx, \u0026iam.LookupRoleArgs{\n\t\t\tName: \"my-role\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloud.NewProviderAwsAccount(ctx, \"test\", \u0026cloud.ProviderAwsAccountArgs{\n\t\t\tStackId: pulumi.String(test.Id),\n\t\t\tRoleArn: pulumi.String(testGetRole.Arn),\n\t\t\tRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1\"),\n\t\t\t\tpulumi.String(\"us-east-2\"),\n\t\t\t\tpulumi.String(\"us-west-1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.cloud.CloudFunctions;\nimport com.pulumi.grafana.cloud.inputs.GetStackArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetRoleArgs;\nimport com.pulumi.grafana.cloud.ProviderAwsAccount;\nimport com.pulumi.grafana.cloud.ProviderAwsAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = CloudFunctions.getStack(GetStackArgs.builder()\n .slug(\"gcloudstacktest\")\n .build());\n\n final var testGetRole = IamFunctions.getRole(GetRoleArgs.builder()\n .name(\"my-role\")\n .build());\n\n var testProviderAwsAccount = new ProviderAwsAccount(\"testProviderAwsAccount\", ProviderAwsAccountArgs.builder()\n .stackId(test.applyValue(getStackResult -\u003e getStackResult.id()))\n .roleArn(testGetRole.applyValue(getRoleResult -\u003e getRoleResult.arn()))\n .regions( \n \"us-east-1\",\n \"us-east-2\",\n \"us-west-1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testProviderAwsAccount:\n type: grafana:cloud:ProviderAwsAccount\n name: test\n properties:\n stackId: ${test.id}\n roleArn: ${testGetRole.arn}\n regions:\n - us-east-1\n - us-east-2\n - us-west-1\nvariables:\n test:\n fn::invoke:\n function: grafana:cloud:getStack\n arguments:\n slug: gcloudstacktest\n testGetRole:\n fn::invoke:\n function: aws:iam:getRole\n arguments:\n name: my-role\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import grafana:cloud/providerAwsAccount:ProviderAwsAccount name \"{{ stack_id }}:{{ resource_id }}\"\n```\n\n",
"properties": {
@@ -15367,6 +15617,10 @@
"type": "string",
"description": "The Organization ID. If not set, the Org ID defined in the provider block will be used.\n"
},
+ "privateDataSourceConnectNetworkId": {
+ "type": "string",
+ "description": "(Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.\n"
+ },
"secureJsonDataEncoded": {
"type": "string",
"description": "Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.\n",
@@ -15436,6 +15690,10 @@
"description": "The Organization ID. If not set, the Org ID defined in the provider block will be used.\n",
"willReplaceOnChanges": true
},
+ "privateDataSourceConnectNetworkId": {
+ "type": "string",
+ "description": "(Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.\n"
+ },
"secureJsonDataEncoded": {
"type": "string",
"description": "Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.\n",
@@ -15506,6 +15764,10 @@
"description": "The Organization ID. If not set, the Org ID defined in the provider block will be used.\n",
"willReplaceOnChanges": true
},
+ "privateDataSourceConnectNetworkId": {
+ "type": "string",
+ "description": "(Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.\n"
+ },
"secureJsonDataEncoded": {
"type": "string",
"description": "Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.\n",
@@ -19734,7 +19996,7 @@
"deprecationMessage": "grafana.index/ssosettings.SsoSettings has been deprecated in favor of grafana.oss/ssosettings.SsoSettings"
},
"grafana:index/syntheticMonitoringCheck:SyntheticMonitoringCheck": {
- "description": "Synthetic Monitoring checks are tests that run on selected probes at defined\nintervals and report metrics and logs back to your Grafana Cloud account. The\ntarget for checks can be a domain name, a server, or a website, depending on\nwhat information you would like to gather about your endpoint. You can define\nmultiple checks for a single endpoint to check different capabilities.\n\n* [Official documentation](https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/checks/)\n\n## Example Usage\n\n### DNS Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst dns = new grafana.syntheticmonitoring.Check(\"dns\", {\n job: \"DNS Defaults\",\n target: \"grafana.com\",\n enabled: false,\n probes: [main.then(main =\u003e main.probes?.atlanta)],\n labels: {\n foo: \"bar\",\n },\n settings: {\n dns: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\ndns = grafana.synthetic_monitoring.Check(\"dns\",\n job=\"DNS Defaults\",\n target=\"grafana.com\",\n enabled=False,\n probes=[main.probes[\"atlanta\"]],\n labels={\n \"foo\": \"bar\",\n },\n settings={\n \"dns\": {},\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var dns = new Grafana.SyntheticMonitoring.Check(\"dns\", new()\n {\n Job = \"DNS Defaults\",\n Target = \"grafana.com\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Atlanta),\n },\n Labels = \n {\n { \"foo\", \"bar\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Dns = null,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"dns\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"DNS Defaults\"),\n\t\t\tTarget: pulumi.String(\"grafana.com\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Atlanta),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tDns: \u0026syntheticmonitoring.CheckSettingsDnsArgs{},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsDnsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var dns = new Check(\"dns\", CheckArgs.builder()\n .job(\"DNS Defaults\")\n .target(\"grafana.com\")\n .enabled(false)\n .probes(main.applyValue(getProbesResult -\u003e getProbesResult.probes().atlanta()))\n .labels(Map.of(\"foo\", \"bar\"))\n .settings(CheckSettingsArgs.builder()\n .dns()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dns:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: DNS Defaults\n target: grafana.com\n enabled: false\n probes:\n - ${main.probes.atlanta}\n labels:\n foo: bar\n settings:\n dns: {}\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### DNS Complex\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst dns = new grafana.syntheticmonitoring.Check(\"dns\", {\n job: \"DNS Updated\",\n target: \"grafana.net\",\n enabled: false,\n probes: [\n main.then(main =\u003e main.probes?.frankfurt),\n main.then(main =\u003e main.probes?.london),\n ],\n labels: {\n foo: \"baz\",\n },\n settings: {\n dns: {\n ipVersion: \"Any\",\n server: \"8.8.4.4\",\n port: 8600,\n recordType: \"CNAME\",\n protocol: \"TCP\",\n validRCodes: [\n \"NOERROR\",\n \"NOTAUTH\",\n ],\n validateAnswerRrs: {\n failIfMatchesRegexps: [\".+-bad-stuff*\"],\n failIfNotMatchesRegexps: [\".+-good-stuff*\"],\n },\n validateAuthorityRrs: {\n failIfMatchesRegexps: [\".+-bad-stuff*\"],\n failIfNotMatchesRegexps: [\".+-good-stuff*\"],\n },\n validateAdditionalRrs: [{\n failIfMatchesRegexps: [\".+-bad-stuff*\"],\n failIfNotMatchesRegexps: [\".+-good-stuff*\"],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\ndns = grafana.synthetic_monitoring.Check(\"dns\",\n job=\"DNS Updated\",\n target=\"grafana.net\",\n enabled=False,\n probes=[\n main.probes[\"frankfurt\"],\n main.probes[\"london\"],\n ],\n labels={\n \"foo\": \"baz\",\n },\n settings={\n \"dns\": {\n \"ip_version\": \"Any\",\n \"server\": \"8.8.4.4\",\n \"port\": 8600,\n \"record_type\": \"CNAME\",\n \"protocol\": \"TCP\",\n \"valid_r_codes\": [\n \"NOERROR\",\n \"NOTAUTH\",\n ],\n \"validate_answer_rrs\": {\n \"fail_if_matches_regexps\": [\".+-bad-stuff*\"],\n \"fail_if_not_matches_regexps\": [\".+-good-stuff*\"],\n },\n \"validate_authority_rrs\": {\n \"fail_if_matches_regexps\": [\".+-bad-stuff*\"],\n \"fail_if_not_matches_regexps\": [\".+-good-stuff*\"],\n },\n \"validate_additional_rrs\": [{\n \"fail_if_matches_regexps\": [\".+-bad-stuff*\"],\n \"fail_if_not_matches_regexps\": [\".+-good-stuff*\"],\n }],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var dns = new Grafana.SyntheticMonitoring.Check(\"dns\", new()\n {\n Job = \"DNS Updated\",\n Target = \"grafana.net\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Frankfurt),\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.London),\n },\n Labels = \n {\n { \"foo\", \"baz\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Dns = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsDnsArgs\n {\n IpVersion = \"Any\",\n Server = \"8.8.4.4\",\n Port = 8600,\n RecordType = \"CNAME\",\n Protocol = \"TCP\",\n ValidRCodes = new[]\n {\n \"NOERROR\",\n \"NOTAUTH\",\n },\n ValidateAnswerRrs = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsDnsValidateAnswerRrsArgs\n {\n FailIfMatchesRegexps = new[]\n {\n \".+-bad-stuff*\",\n },\n FailIfNotMatchesRegexps = new[]\n {\n \".+-good-stuff*\",\n },\n },\n ValidateAuthorityRrs = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsDnsValidateAuthorityRrsArgs\n {\n FailIfMatchesRegexps = new[]\n {\n \".+-bad-stuff*\",\n },\n FailIfNotMatchesRegexps = new[]\n {\n \".+-good-stuff*\",\n },\n },\n ValidateAdditionalRrs = new[]\n {\n new Grafana.SyntheticMonitoring.Inputs.CheckSettingsDnsValidateAdditionalRrArgs\n {\n FailIfMatchesRegexps = new[]\n {\n \".+-bad-stuff*\",\n },\n FailIfNotMatchesRegexps = new[]\n {\n \".+-good-stuff*\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"dns\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"DNS Updated\"),\n\t\t\tTarget: pulumi.String(\"grafana.net\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Frankfurt),\n\t\t\t\tpulumi.Int(main.Probes.London),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"baz\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tDns: \u0026syntheticmonitoring.CheckSettingsDnsArgs{\n\t\t\t\t\tIpVersion: pulumi.String(\"Any\"),\n\t\t\t\t\tServer: pulumi.String(\"8.8.4.4\"),\n\t\t\t\t\tPort: pulumi.Int(8600),\n\t\t\t\t\tRecordType: pulumi.String(\"CNAME\"),\n\t\t\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tValidRCodes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"NOERROR\"),\n\t\t\t\t\t\tpulumi.String(\"NOTAUTH\"),\n\t\t\t\t\t},\n\t\t\t\t\tValidateAnswerRrs: \u0026syntheticmonitoring.CheckSettingsDnsValidateAnswerRrsArgs{\n\t\t\t\t\t\tFailIfMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\".+-bad-stuff*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tFailIfNotMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\".+-good-stuff*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tValidateAuthorityRrs: \u0026syntheticmonitoring.CheckSettingsDnsValidateAuthorityRrsArgs{\n\t\t\t\t\t\tFailIfMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\".+-bad-stuff*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tFailIfNotMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\".+-good-stuff*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tValidateAdditionalRrs: syntheticmonitoring.CheckSettingsDnsValidateAdditionalRrArray{\n\t\t\t\t\t\t\u0026syntheticmonitoring.CheckSettingsDnsValidateAdditionalRrArgs{\n\t\t\t\t\t\t\tFailIfMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\".+-bad-stuff*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tFailIfNotMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\".+-good-stuff*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsDnsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsDnsValidateAnswerRrsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsDnsValidateAuthorityRrsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var dns = new Check(\"dns\", CheckArgs.builder()\n .job(\"DNS Updated\")\n .target(\"grafana.net\")\n .enabled(false)\n .probes( \n main.applyValue(getProbesResult -\u003e getProbesResult.probes().frankfurt()),\n main.applyValue(getProbesResult -\u003e getProbesResult.probes().london()))\n .labels(Map.of(\"foo\", \"baz\"))\n .settings(CheckSettingsArgs.builder()\n .dns(CheckSettingsDnsArgs.builder()\n .ipVersion(\"Any\")\n .server(\"8.8.4.4\")\n .port(8600)\n .recordType(\"CNAME\")\n .protocol(\"TCP\")\n .validRCodes( \n \"NOERROR\",\n \"NOTAUTH\")\n .validateAnswerRrs(CheckSettingsDnsValidateAnswerRrsArgs.builder()\n .failIfMatchesRegexps(\".+-bad-stuff*\")\n .failIfNotMatchesRegexps(\".+-good-stuff*\")\n .build())\n .validateAuthorityRrs(CheckSettingsDnsValidateAuthorityRrsArgs.builder()\n .failIfMatchesRegexps(\".+-bad-stuff*\")\n .failIfNotMatchesRegexps(\".+-good-stuff*\")\n .build())\n .validateAdditionalRrs(CheckSettingsDnsValidateAdditionalRrArgs.builder()\n .failIfMatchesRegexps(\".+-bad-stuff*\")\n .failIfNotMatchesRegexps(\".+-good-stuff*\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dns:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: DNS Updated\n target: grafana.net\n enabled: false\n probes:\n - ${main.probes.frankfurt}\n - ${main.probes.london}\n labels:\n foo: baz\n settings:\n dns:\n ipVersion: Any\n server: 8.8.4.4\n port: 8600\n recordType: CNAME\n protocol: TCP\n validRCodes:\n - NOERROR\n - NOTAUTH\n validateAnswerRrs:\n failIfMatchesRegexps:\n - .+-bad-stuff*\n failIfNotMatchesRegexps:\n - .+-good-stuff*\n validateAuthorityRrs:\n failIfMatchesRegexps:\n - .+-bad-stuff*\n failIfNotMatchesRegexps:\n - .+-good-stuff*\n validateAdditionalRrs:\n - failIfMatchesRegexps:\n - .+-bad-stuff*\n failIfNotMatchesRegexps:\n - .+-good-stuff*\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### HTTP Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst http = new grafana.syntheticmonitoring.Check(\"http\", {\n job: \"HTTP Defaults\",\n target: \"https://grafana.com\",\n enabled: false,\n probes: [main.then(main =\u003e main.probes?.atlanta)],\n labels: {\n foo: \"bar\",\n },\n settings: {\n http: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\nhttp = grafana.synthetic_monitoring.Check(\"http\",\n job=\"HTTP Defaults\",\n target=\"https://grafana.com\",\n enabled=False,\n probes=[main.probes[\"atlanta\"]],\n labels={\n \"foo\": \"bar\",\n },\n settings={\n \"http\": {},\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var http = new Grafana.SyntheticMonitoring.Check(\"http\", new()\n {\n Job = \"HTTP Defaults\",\n Target = \"https://grafana.com\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Atlanta),\n },\n Labels = \n {\n { \"foo\", \"bar\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Http = null,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"http\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"HTTP Defaults\"),\n\t\t\tTarget: pulumi.String(\"https://grafana.com\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Atlanta),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tHttp: \u0026syntheticmonitoring.CheckSettingsHttpArgs{},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsHttpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var http = new Check(\"http\", CheckArgs.builder()\n .job(\"HTTP Defaults\")\n .target(\"https://grafana.com\")\n .enabled(false)\n .probes(main.applyValue(getProbesResult -\u003e getProbesResult.probes().atlanta()))\n .labels(Map.of(\"foo\", \"bar\"))\n .settings(CheckSettingsArgs.builder()\n .http()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n http:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: HTTP Defaults\n target: https://grafana.com\n enabled: false\n probes:\n - ${main.probes.atlanta}\n labels:\n foo: bar\n settings:\n http: {}\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### HTTP Complex\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst http = new grafana.syntheticmonitoring.Check(\"http\", {\n job: \"HTTP Defaults\",\n target: \"https://grafana.org\",\n enabled: false,\n probes: [\n main.then(main =\u003e main.probes?.bangalore),\n main.then(main =\u003e main.probes?.mumbai),\n ],\n labels: {\n foo: \"bar\",\n },\n settings: {\n http: {\n ipVersion: \"V6\",\n method: \"TRACE\",\n body: \"and spirit\",\n noFollowRedirects: true,\n bearerToken: \"asdfjkl;\",\n proxyUrl: \"https://almost-there\",\n failIfSsl: true,\n failIfNotSsl: true,\n compression: \"deflate\",\n cacheBustingQueryParamName: \"pineapple\",\n tlsConfig: {\n serverName: \"grafana.org\",\n clientCert: `-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n`,\n },\n headers: [\"Content-Type: multipart/form-data; boundary=something\"],\n basicAuth: {\n username: \"open\",\n password: \"sesame\",\n },\n validStatusCodes: [\n 200,\n 201,\n ],\n validHttpVersions: [\n \"HTTP/1.0\",\n \"HTTP/1.1\",\n \"HTTP/2.0\",\n ],\n failIfBodyMatchesRegexps: [\".*bad stuff.*\"],\n failIfBodyNotMatchesRegexps: [\".*good stuff.*\"],\n failIfHeaderMatchesRegexps: [{\n header: \"Content-Type\",\n regexp: \"application/soap*\",\n allowMissing: true,\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\nhttp = grafana.synthetic_monitoring.Check(\"http\",\n job=\"HTTP Defaults\",\n target=\"https://grafana.org\",\n enabled=False,\n probes=[\n main.probes[\"bangalore\"],\n main.probes[\"mumbai\"],\n ],\n labels={\n \"foo\": \"bar\",\n },\n settings={\n \"http\": {\n \"ip_version\": \"V6\",\n \"method\": \"TRACE\",\n \"body\": \"and spirit\",\n \"no_follow_redirects\": True,\n \"bearer_token\": \"asdfjkl;\",\n \"proxy_url\": \"https://almost-there\",\n \"fail_if_ssl\": True,\n \"fail_if_not_ssl\": True,\n \"compression\": \"deflate\",\n \"cache_busting_query_param_name\": \"pineapple\",\n \"tls_config\": {\n \"server_name\": \"grafana.org\",\n \"client_cert\": \"\"\"-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n\"\"\",\n },\n \"headers\": [\"Content-Type: multipart/form-data; boundary=something\"],\n \"basic_auth\": {\n \"username\": \"open\",\n \"password\": \"sesame\",\n },\n \"valid_status_codes\": [\n 200,\n 201,\n ],\n \"valid_http_versions\": [\n \"HTTP/1.0\",\n \"HTTP/1.1\",\n \"HTTP/2.0\",\n ],\n \"fail_if_body_matches_regexps\": [\".*bad stuff.*\"],\n \"fail_if_body_not_matches_regexps\": [\".*good stuff.*\"],\n \"fail_if_header_matches_regexps\": [{\n \"header\": \"Content-Type\",\n \"regexp\": \"application/soap*\",\n \"allow_missing\": True,\n }],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var http = new Grafana.SyntheticMonitoring.Check(\"http\", new()\n {\n Job = \"HTTP Defaults\",\n Target = \"https://grafana.org\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Bangalore),\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Mumbai),\n },\n Labels = \n {\n { \"foo\", \"bar\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Http = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsHttpArgs\n {\n IpVersion = \"V6\",\n Method = \"TRACE\",\n Body = \"and spirit\",\n NoFollowRedirects = true,\n BearerToken = \"asdfjkl;\",\n ProxyUrl = \"https://almost-there\",\n FailIfSsl = true,\n FailIfNotSsl = true,\n Compression = \"deflate\",\n CacheBustingQueryParamName = \"pineapple\",\n TlsConfig = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsHttpTlsConfigArgs\n {\n ServerName = \"grafana.org\",\n ClientCert = @\"-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n\",\n },\n Headers = new[]\n {\n \"Content-Type: multipart/form-data; boundary=something\",\n },\n BasicAuth = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsHttpBasicAuthArgs\n {\n Username = \"open\",\n Password = \"sesame\",\n },\n ValidStatusCodes = new[]\n {\n 200,\n 201,\n },\n ValidHttpVersions = new[]\n {\n \"HTTP/1.0\",\n \"HTTP/1.1\",\n \"HTTP/2.0\",\n },\n FailIfBodyMatchesRegexps = new[]\n {\n \".*bad stuff.*\",\n },\n FailIfBodyNotMatchesRegexps = new[]\n {\n \".*good stuff.*\",\n },\n FailIfHeaderMatchesRegexps = new[]\n {\n new Grafana.SyntheticMonitoring.Inputs.CheckSettingsHttpFailIfHeaderMatchesRegexpArgs\n {\n Header = \"Content-Type\",\n Regexp = \"application/soap*\",\n AllowMissing = true,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"http\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"HTTP Defaults\"),\n\t\t\tTarget: pulumi.String(\"https://grafana.org\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Bangalore),\n\t\t\t\tpulumi.Int(main.Probes.Mumbai),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tHttp: \u0026syntheticmonitoring.CheckSettingsHttpArgs{\n\t\t\t\t\tIpVersion: pulumi.String(\"V6\"),\n\t\t\t\t\tMethod: pulumi.String(\"TRACE\"),\n\t\t\t\t\tBody: pulumi.String(\"and spirit\"),\n\t\t\t\t\tNoFollowRedirects: pulumi.Bool(true),\n\t\t\t\t\tBearerToken: pulumi.String(\"asdfjkl;\"),\n\t\t\t\t\tProxyUrl: pulumi.String(\"https://almost-there\"),\n\t\t\t\t\tFailIfSsl: pulumi.Bool(true),\n\t\t\t\t\tFailIfNotSsl: pulumi.Bool(true),\n\t\t\t\t\tCompression: pulumi.String(\"deflate\"),\n\t\t\t\t\tCacheBustingQueryParamName: pulumi.String(\"pineapple\"),\n\t\t\t\t\tTlsConfig: \u0026syntheticmonitoring.CheckSettingsHttpTlsConfigArgs{\n\t\t\t\t\t\tServerName: pulumi.String(\"grafana.org\"),\n\t\t\t\t\t\tClientCert: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n`),\n\t\t\t\t\t},\n\t\t\t\t\tHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Content-Type: multipart/form-data; boundary=something\"),\n\t\t\t\t\t},\n\t\t\t\t\tBasicAuth: \u0026syntheticmonitoring.CheckSettingsHttpBasicAuthArgs{\n\t\t\t\t\t\tUsername: pulumi.String(\"open\"),\n\t\t\t\t\t\tPassword: pulumi.String(\"sesame\"),\n\t\t\t\t\t},\n\t\t\t\t\tValidStatusCodes: pulumi.IntArray{\n\t\t\t\t\t\tpulumi.Int(200),\n\t\t\t\t\t\tpulumi.Int(201),\n\t\t\t\t\t},\n\t\t\t\t\tValidHttpVersions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"HTTP/1.0\"),\n\t\t\t\t\t\tpulumi.String(\"HTTP/1.1\"),\n\t\t\t\t\t\tpulumi.String(\"HTTP/2.0\"),\n\t\t\t\t\t},\n\t\t\t\t\tFailIfBodyMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\".*bad stuff.*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFailIfBodyNotMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\".*good stuff.*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFailIfHeaderMatchesRegexps: syntheticmonitoring.CheckSettingsHttpFailIfHeaderMatchesRegexpArray{\n\t\t\t\t\t\t\u0026syntheticmonitoring.CheckSettingsHttpFailIfHeaderMatchesRegexpArgs{\n\t\t\t\t\t\t\tHeader: pulumi.String(\"Content-Type\"),\n\t\t\t\t\t\t\tRegexp: pulumi.String(\"application/soap*\"),\n\t\t\t\t\t\t\tAllowMissing: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsHttpArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsHttpTlsConfigArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsHttpBasicAuthArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var http = new Check(\"http\", CheckArgs.builder()\n .job(\"HTTP Defaults\")\n .target(\"https://grafana.org\")\n .enabled(false)\n .probes( \n main.applyValue(getProbesResult -\u003e getProbesResult.probes().bangalore()),\n main.applyValue(getProbesResult -\u003e getProbesResult.probes().mumbai()))\n .labels(Map.of(\"foo\", \"bar\"))\n .settings(CheckSettingsArgs.builder()\n .http(CheckSettingsHttpArgs.builder()\n .ipVersion(\"V6\")\n .method(\"TRACE\")\n .body(\"and spirit\")\n .noFollowRedirects(true)\n .bearerToken(\"asdfjkl;\")\n .proxyUrl(\"https://almost-there\")\n .failIfSsl(true)\n .failIfNotSsl(true)\n .compression(\"deflate\")\n .cacheBustingQueryParamName(\"pineapple\")\n .tlsConfig(CheckSettingsHttpTlsConfigArgs.builder()\n .serverName(\"grafana.org\")\n .clientCert(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n \"\"\")\n .build())\n .headers(\"Content-Type: multipart/form-data; boundary=something\")\n .basicAuth(CheckSettingsHttpBasicAuthArgs.builder()\n .username(\"open\")\n .password(\"sesame\")\n .build())\n .validStatusCodes( \n 200,\n 201)\n .validHttpVersions( \n \"HTTP/1.0\",\n \"HTTP/1.1\",\n \"HTTP/2.0\")\n .failIfBodyMatchesRegexps(\".*bad stuff.*\")\n .failIfBodyNotMatchesRegexps(\".*good stuff.*\")\n .failIfHeaderMatchesRegexps(CheckSettingsHttpFailIfHeaderMatchesRegexpArgs.builder()\n .header(\"Content-Type\")\n .regexp(\"application/soap*\")\n .allowMissing(true)\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n http:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: HTTP Defaults\n target: https://grafana.org\n enabled: false\n probes:\n - ${main.probes.bangalore}\n - ${main.probes.mumbai}\n labels:\n foo: bar\n settings:\n http:\n ipVersion: V6\n method: TRACE\n body: and spirit\n noFollowRedirects: true\n bearerToken: asdfjkl;\n proxyUrl: https://almost-there\n failIfSsl: true\n failIfNotSsl: true\n compression: deflate\n cacheBustingQueryParamName: pineapple\n tlsConfig:\n serverName: grafana.org\n clientCert: |\n -----BEGIN CERTIFICATE-----\n MIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\n RTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\n MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n 0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\n h1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\n BN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\n iDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\n a+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\n FWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\n qq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\n FTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\n Z18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n 6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\n UV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\n yzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\n e2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\n XeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\n tqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\n QxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\n tf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\n prulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n 5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\n l3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n 7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\n vuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n -----END CERTIFICATE-----\n headers:\n - 'Content-Type: multipart/form-data; boundary=something'\n basicAuth:\n username: open\n password: sesame\n validStatusCodes:\n - 200\n - 201\n validHttpVersions:\n - HTTP/1.0\n - HTTP/1.1\n - HTTP/2.0\n failIfBodyMatchesRegexps:\n - .*bad stuff.*\n failIfBodyNotMatchesRegexps:\n - .*good stuff.*\n failIfHeaderMatchesRegexps:\n - header: Content-Type\n regexp: application/soap*\n allowMissing: true\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Ping Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst ping = new grafana.syntheticmonitoring.Check(\"ping\", {\n job: \"Ping Defaults\",\n target: \"grafana.com\",\n enabled: false,\n probes: [main.then(main =\u003e main.probes?.atlanta)],\n labels: {\n foo: \"bar\",\n },\n settings: {\n ping: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\nping = grafana.synthetic_monitoring.Check(\"ping\",\n job=\"Ping Defaults\",\n target=\"grafana.com\",\n enabled=False,\n probes=[main.probes[\"atlanta\"]],\n labels={\n \"foo\": \"bar\",\n },\n settings={\n \"ping\": {},\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var ping = new Grafana.SyntheticMonitoring.Check(\"ping\", new()\n {\n Job = \"Ping Defaults\",\n Target = \"grafana.com\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Atlanta),\n },\n Labels = \n {\n { \"foo\", \"bar\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Ping = null,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"ping\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"Ping Defaults\"),\n\t\t\tTarget: pulumi.String(\"grafana.com\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Atlanta),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tPing: \u0026syntheticmonitoring.CheckSettingsPingArgs{},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsPingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var ping = new Check(\"ping\", CheckArgs.builder()\n .job(\"Ping Defaults\")\n .target(\"grafana.com\")\n .enabled(false)\n .probes(main.applyValue(getProbesResult -\u003e getProbesResult.probes().atlanta()))\n .labels(Map.of(\"foo\", \"bar\"))\n .settings(CheckSettingsArgs.builder()\n .ping()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ping:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: Ping Defaults\n target: grafana.com\n enabled: false\n probes:\n - ${main.probes.atlanta}\n labels:\n foo: bar\n settings:\n ping: {}\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Ping Complex\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst ping = new grafana.syntheticmonitoring.Check(\"ping\", {\n job: \"Ping Updated\",\n target: \"grafana.net\",\n enabled: false,\n probes: [\n main.then(main =\u003e main.probes?.frankfurt),\n main.then(main =\u003e main.probes?.london),\n ],\n labels: {\n foo: \"baz\",\n },\n settings: {\n ping: {\n ipVersion: \"Any\",\n payloadSize: 20,\n dontFragment: true,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\nping = grafana.synthetic_monitoring.Check(\"ping\",\n job=\"Ping Updated\",\n target=\"grafana.net\",\n enabled=False,\n probes=[\n main.probes[\"frankfurt\"],\n main.probes[\"london\"],\n ],\n labels={\n \"foo\": \"baz\",\n },\n settings={\n \"ping\": {\n \"ip_version\": \"Any\",\n \"payload_size\": 20,\n \"dont_fragment\": True,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var ping = new Grafana.SyntheticMonitoring.Check(\"ping\", new()\n {\n Job = \"Ping Updated\",\n Target = \"grafana.net\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Frankfurt),\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.London),\n },\n Labels = \n {\n { \"foo\", \"baz\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Ping = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsPingArgs\n {\n IpVersion = \"Any\",\n PayloadSize = 20,\n DontFragment = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"ping\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"Ping Updated\"),\n\t\t\tTarget: pulumi.String(\"grafana.net\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Frankfurt),\n\t\t\t\tpulumi.Int(main.Probes.London),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"baz\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tPing: \u0026syntheticmonitoring.CheckSettingsPingArgs{\n\t\t\t\t\tIpVersion: pulumi.String(\"Any\"),\n\t\t\t\t\tPayloadSize: pulumi.Int(20),\n\t\t\t\t\tDontFragment: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsPingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var ping = new Check(\"ping\", CheckArgs.builder()\n .job(\"Ping Updated\")\n .target(\"grafana.net\")\n .enabled(false)\n .probes( \n main.applyValue(getProbesResult -\u003e getProbesResult.probes().frankfurt()),\n main.applyValue(getProbesResult -\u003e getProbesResult.probes().london()))\n .labels(Map.of(\"foo\", \"baz\"))\n .settings(CheckSettingsArgs.builder()\n .ping(CheckSettingsPingArgs.builder()\n .ipVersion(\"Any\")\n .payloadSize(20)\n .dontFragment(true)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ping:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: Ping Updated\n target: grafana.net\n enabled: false\n probes:\n - ${main.probes.frankfurt}\n - ${main.probes.london}\n labels:\n foo: baz\n settings:\n ping:\n ipVersion: Any\n payloadSize: 20\n dontFragment: true\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### TCP Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst tcp = new grafana.syntheticmonitoring.Check(\"tcp\", {\n job: \"TCP Defaults\",\n target: \"grafana.com:80\",\n enabled: false,\n probes: [main.then(main =\u003e main.probes?.atlanta)],\n labels: {\n foo: \"bar\",\n },\n settings: {\n tcp: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\ntcp = grafana.synthetic_monitoring.Check(\"tcp\",\n job=\"TCP Defaults\",\n target=\"grafana.com:80\",\n enabled=False,\n probes=[main.probes[\"atlanta\"]],\n labels={\n \"foo\": \"bar\",\n },\n settings={\n \"tcp\": {},\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var tcp = new Grafana.SyntheticMonitoring.Check(\"tcp\", new()\n {\n Job = \"TCP Defaults\",\n Target = \"grafana.com:80\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Atlanta),\n },\n Labels = \n {\n { \"foo\", \"bar\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Tcp = null,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"tcp\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"TCP Defaults\"),\n\t\t\tTarget: pulumi.String(\"grafana.com:80\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Atlanta),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tTcp: \u0026syntheticmonitoring.CheckSettingsTcpArgs{},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsTcpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var tcp = new Check(\"tcp\", CheckArgs.builder()\n .job(\"TCP Defaults\")\n .target(\"grafana.com:80\")\n .enabled(false)\n .probes(main.applyValue(getProbesResult -\u003e getProbesResult.probes().atlanta()))\n .labels(Map.of(\"foo\", \"bar\"))\n .settings(CheckSettingsArgs.builder()\n .tcp()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tcp:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: TCP Defaults\n target: grafana.com:80\n enabled: false\n probes:\n - ${main.probes.atlanta}\n labels:\n foo: bar\n settings:\n tcp: {}\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### TCP Complex\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst tcp = new grafana.syntheticmonitoring.Check(\"tcp\", {\n job: \"TCP Defaults\",\n target: \"grafana.com:443\",\n enabled: false,\n probes: [\n main.then(main =\u003e main.probes?.frankfurt),\n main.then(main =\u003e main.probes?.london),\n ],\n labels: {\n foo: \"baz\",\n },\n settings: {\n tcp: {\n ipVersion: \"V6\",\n tls: true,\n queryResponses: [\n {\n send: \"howdy\",\n expect: \"hi\",\n },\n {\n send: \"like this\",\n expect: \"like that\",\n startTls: true,\n },\n ],\n tlsConfig: {\n serverName: \"grafana.com\",\n caCert: `-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n`,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\ntcp = grafana.synthetic_monitoring.Check(\"tcp\",\n job=\"TCP Defaults\",\n target=\"grafana.com:443\",\n enabled=False,\n probes=[\n main.probes[\"frankfurt\"],\n main.probes[\"london\"],\n ],\n labels={\n \"foo\": \"baz\",\n },\n settings={\n \"tcp\": {\n \"ip_version\": \"V6\",\n \"tls\": True,\n \"query_responses\": [\n {\n \"send\": \"howdy\",\n \"expect\": \"hi\",\n },\n {\n \"send\": \"like this\",\n \"expect\": \"like that\",\n \"start_tls\": True,\n },\n ],\n \"tls_config\": {\n \"server_name\": \"grafana.com\",\n \"ca_cert\": \"\"\"-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n\"\"\",\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var tcp = new Grafana.SyntheticMonitoring.Check(\"tcp\", new()\n {\n Job = \"TCP Defaults\",\n Target = \"grafana.com:443\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Frankfurt),\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.London),\n },\n Labels = \n {\n { \"foo\", \"baz\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Tcp = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsTcpArgs\n {\n IpVersion = \"V6\",\n Tls = true,\n QueryResponses = new[]\n {\n new Grafana.SyntheticMonitoring.Inputs.CheckSettingsTcpQueryResponseArgs\n {\n Send = \"howdy\",\n Expect = \"hi\",\n },\n new Grafana.SyntheticMonitoring.Inputs.CheckSettingsTcpQueryResponseArgs\n {\n Send = \"like this\",\n Expect = \"like that\",\n StartTls = true,\n },\n },\n TlsConfig = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsTcpTlsConfigArgs\n {\n ServerName = \"grafana.com\",\n CaCert = @\"-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"tcp\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"TCP Defaults\"),\n\t\t\tTarget: pulumi.String(\"grafana.com:443\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Frankfurt),\n\t\t\t\tpulumi.Int(main.Probes.London),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"baz\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tTcp: \u0026syntheticmonitoring.CheckSettingsTcpArgs{\n\t\t\t\t\tIpVersion: pulumi.String(\"V6\"),\n\t\t\t\t\tTls: pulumi.Bool(true),\n\t\t\t\t\tQueryResponses: syntheticmonitoring.CheckSettingsTcpQueryResponseArray{\n\t\t\t\t\t\t\u0026syntheticmonitoring.CheckSettingsTcpQueryResponseArgs{\n\t\t\t\t\t\t\tSend: pulumi.String(\"howdy\"),\n\t\t\t\t\t\t\tExpect: pulumi.String(\"hi\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026syntheticmonitoring.CheckSettingsTcpQueryResponseArgs{\n\t\t\t\t\t\t\tSend: pulumi.String(\"like this\"),\n\t\t\t\t\t\t\tExpect: pulumi.String(\"like that\"),\n\t\t\t\t\t\t\tStartTls: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tTlsConfig: \u0026syntheticmonitoring.CheckSettingsTcpTlsConfigArgs{\n\t\t\t\t\t\tServerName: pulumi.String(\"grafana.com\"),\n\t\t\t\t\t\tCaCert: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n`),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsTcpArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsTcpTlsConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var tcp = new Check(\"tcp\", CheckArgs.builder()\n .job(\"TCP Defaults\")\n .target(\"grafana.com:443\")\n .enabled(false)\n .probes( \n main.applyValue(getProbesResult -\u003e getProbesResult.probes().frankfurt()),\n main.applyValue(getProbesResult -\u003e getProbesResult.probes().london()))\n .labels(Map.of(\"foo\", \"baz\"))\n .settings(CheckSettingsArgs.builder()\n .tcp(CheckSettingsTcpArgs.builder()\n .ipVersion(\"V6\")\n .tls(true)\n .queryResponses( \n CheckSettingsTcpQueryResponseArgs.builder()\n .send(\"howdy\")\n .expect(\"hi\")\n .build(),\n CheckSettingsTcpQueryResponseArgs.builder()\n .send(\"like this\")\n .expect(\"like that\")\n .startTls(true)\n .build())\n .tlsConfig(CheckSettingsTcpTlsConfigArgs.builder()\n .serverName(\"grafana.com\")\n .caCert(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n \"\"\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tcp:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: TCP Defaults\n target: grafana.com:443\n enabled: false\n probes:\n - ${main.probes.frankfurt}\n - ${main.probes.london}\n labels:\n foo: baz\n settings:\n tcp:\n ipVersion: V6\n tls: true\n queryResponses:\n - send: howdy\n expect: hi\n - send: like this\n expect: like that\n startTls: true\n tlsConfig:\n serverName: grafana.com\n caCert: |\n -----BEGIN CERTIFICATE-----\n MIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\n RTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\n MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n 0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\n h1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\n BN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\n iDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\n a+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\n FWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\n qq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\n FTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\n Z18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n 6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\n UV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\n yzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\n e2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\n XeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\n tqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\n QxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\n tf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\n prulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n 5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\n l3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n 7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\n vuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n -----END CERTIFICATE-----\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Traceroute Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst traceroute = new grafana.syntheticmonitoring.Check(\"traceroute\", {\n job: \"Traceroute defaults\",\n target: \"grafana.com\",\n enabled: false,\n frequency: 120000,\n timeout: 30000,\n probes: [main.then(main =\u003e main.probes?.atlanta)],\n labels: {\n foo: \"bar\",\n },\n settings: {\n traceroute: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\ntraceroute = grafana.synthetic_monitoring.Check(\"traceroute\",\n job=\"Traceroute defaults\",\n target=\"grafana.com\",\n enabled=False,\n frequency=120000,\n timeout=30000,\n probes=[main.probes[\"atlanta\"]],\n labels={\n \"foo\": \"bar\",\n },\n settings={\n \"traceroute\": {},\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var traceroute = new Grafana.SyntheticMonitoring.Check(\"traceroute\", new()\n {\n Job = \"Traceroute defaults\",\n Target = \"grafana.com\",\n Enabled = false,\n Frequency = 120000,\n Timeout = 30000,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Atlanta),\n },\n Labels = \n {\n { \"foo\", \"bar\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Traceroute = null,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"traceroute\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"Traceroute defaults\"),\n\t\t\tTarget: pulumi.String(\"grafana.com\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tFrequency: pulumi.Int(120000),\n\t\t\tTimeout: pulumi.Int(30000),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Atlanta),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tTraceroute: \u0026syntheticmonitoring.CheckSettingsTracerouteArgs{},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsTracerouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var traceroute = new Check(\"traceroute\", CheckArgs.builder()\n .job(\"Traceroute defaults\")\n .target(\"grafana.com\")\n .enabled(false)\n .frequency(120000)\n .timeout(30000)\n .probes(main.applyValue(getProbesResult -\u003e getProbesResult.probes().atlanta()))\n .labels(Map.of(\"foo\", \"bar\"))\n .settings(CheckSettingsArgs.builder()\n .traceroute()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n traceroute:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: Traceroute defaults\n target: grafana.com\n enabled: false\n frequency: 120000\n timeout: 30000\n probes:\n - ${main.probes.atlanta}\n labels:\n foo: bar\n settings:\n traceroute: {}\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Traceroute Complex\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst traceroute = new grafana.syntheticmonitoring.Check(\"traceroute\", {\n job: \"Traceroute complex\",\n target: \"grafana.net\",\n enabled: false,\n frequency: 120000,\n timeout: 30000,\n probes: [\n main.then(main =\u003e main.probes?.frankfurt),\n main.then(main =\u003e main.probes?.london),\n ],\n labels: {\n foo: \"baz\",\n },\n settings: {\n traceroute: {\n maxHops: 25,\n maxUnknownHops: 10,\n ptrLookup: false,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\ntraceroute = grafana.synthetic_monitoring.Check(\"traceroute\",\n job=\"Traceroute complex\",\n target=\"grafana.net\",\n enabled=False,\n frequency=120000,\n timeout=30000,\n probes=[\n main.probes[\"frankfurt\"],\n main.probes[\"london\"],\n ],\n labels={\n \"foo\": \"baz\",\n },\n settings={\n \"traceroute\": {\n \"max_hops\": 25,\n \"max_unknown_hops\": 10,\n \"ptr_lookup\": False,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var traceroute = new Grafana.SyntheticMonitoring.Check(\"traceroute\", new()\n {\n Job = \"Traceroute complex\",\n Target = \"grafana.net\",\n Enabled = false,\n Frequency = 120000,\n Timeout = 30000,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Frankfurt),\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.London),\n },\n Labels = \n {\n { \"foo\", \"baz\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Traceroute = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsTracerouteArgs\n {\n MaxHops = 25,\n MaxUnknownHops = 10,\n PtrLookup = false,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"traceroute\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"Traceroute complex\"),\n\t\t\tTarget: pulumi.String(\"grafana.net\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tFrequency: pulumi.Int(120000),\n\t\t\tTimeout: pulumi.Int(30000),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Frankfurt),\n\t\t\t\tpulumi.Int(main.Probes.London),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"baz\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tTraceroute: \u0026syntheticmonitoring.CheckSettingsTracerouteArgs{\n\t\t\t\t\tMaxHops: pulumi.Int(25),\n\t\t\t\t\tMaxUnknownHops: pulumi.Int(10),\n\t\t\t\t\tPtrLookup: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsTracerouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var traceroute = new Check(\"traceroute\", CheckArgs.builder()\n .job(\"Traceroute complex\")\n .target(\"grafana.net\")\n .enabled(false)\n .frequency(120000)\n .timeout(30000)\n .probes( \n main.applyValue(getProbesResult -\u003e getProbesResult.probes().frankfurt()),\n main.applyValue(getProbesResult -\u003e getProbesResult.probes().london()))\n .labels(Map.of(\"foo\", \"baz\"))\n .settings(CheckSettingsArgs.builder()\n .traceroute(CheckSettingsTracerouteArgs.builder()\n .maxHops(25)\n .maxUnknownHops(10)\n .ptrLookup(false)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n traceroute:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: Traceroute complex\n target: grafana.net\n enabled: false\n frequency: 120000\n timeout: 30000\n probes:\n - ${main.probes.frankfurt}\n - ${main.probes.london}\n labels:\n foo: baz\n settings:\n traceroute:\n maxHops: 25\n maxUnknownHops: 10\n ptrLookup: false\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import grafana:index/syntheticMonitoringCheck:SyntheticMonitoringCheck name \"{{ id }}\"\n```\n\n",
+ "description": "Synthetic Monitoring checks are tests that run on selected probes at defined\nintervals and report metrics and logs back to your Grafana Cloud account. The\ntarget for checks can be a domain name, a server, or a website, depending on\nwhat information you would like to gather about your endpoint. You can define\nmultiple checks for a single endpoint to check different capabilities.\n\n* [Official documentation](https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/checks/)\n\n## Example Usage\n\n### DNS Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst dns = new grafana.syntheticmonitoring.Check(\"dns\", {\n job: \"DNS Defaults\",\n target: \"grafana.com\",\n enabled: false,\n probes: [main.then(main =\u003e main.probes?.ohio)],\n labels: {\n foo: \"bar\",\n },\n settings: {\n dns: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\ndns = grafana.synthetic_monitoring.Check(\"dns\",\n job=\"DNS Defaults\",\n target=\"grafana.com\",\n enabled=False,\n probes=[main.probes[\"ohio\"]],\n labels={\n \"foo\": \"bar\",\n },\n settings={\n \"dns\": {},\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var dns = new Grafana.SyntheticMonitoring.Check(\"dns\", new()\n {\n Job = \"DNS Defaults\",\n Target = \"grafana.com\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Ohio),\n },\n Labels = \n {\n { \"foo\", \"bar\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Dns = null,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"dns\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"DNS Defaults\"),\n\t\t\tTarget: pulumi.String(\"grafana.com\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Ohio),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tDns: \u0026syntheticmonitoring.CheckSettingsDnsArgs{},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsDnsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var dns = new Check(\"dns\", CheckArgs.builder()\n .job(\"DNS Defaults\")\n .target(\"grafana.com\")\n .enabled(false)\n .probes(main.applyValue(getProbesResult -\u003e getProbesResult.probes().ohio()))\n .labels(Map.of(\"foo\", \"bar\"))\n .settings(CheckSettingsArgs.builder()\n .dns()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dns:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: DNS Defaults\n target: grafana.com\n enabled: false\n probes:\n - ${main.probes.ohio}\n labels:\n foo: bar\n settings:\n dns: {}\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### DNS Complex\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst dns = new grafana.syntheticmonitoring.Check(\"dns\", {\n job: \"DNS Updated\",\n target: \"grafana.net\",\n enabled: false,\n probes: [\n main.then(main =\u003e main.probes?.frankfurt),\n main.then(main =\u003e main.probes?.london),\n ],\n labels: {\n foo: \"baz\",\n },\n settings: {\n dns: {\n ipVersion: \"Any\",\n server: \"8.8.4.4\",\n port: 8600,\n recordType: \"CNAME\",\n protocol: \"TCP\",\n validRCodes: [\n \"NOERROR\",\n \"NOTAUTH\",\n ],\n validateAnswerRrs: {\n failIfMatchesRegexps: [\".+-bad-stuff*\"],\n failIfNotMatchesRegexps: [\".+-good-stuff*\"],\n },\n validateAuthorityRrs: {\n failIfMatchesRegexps: [\".+-bad-stuff*\"],\n failIfNotMatchesRegexps: [\".+-good-stuff*\"],\n },\n validateAdditionalRrs: [{\n failIfMatchesRegexps: [\".+-bad-stuff*\"],\n failIfNotMatchesRegexps: [\".+-good-stuff*\"],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\ndns = grafana.synthetic_monitoring.Check(\"dns\",\n job=\"DNS Updated\",\n target=\"grafana.net\",\n enabled=False,\n probes=[\n main.probes[\"frankfurt\"],\n main.probes[\"london\"],\n ],\n labels={\n \"foo\": \"baz\",\n },\n settings={\n \"dns\": {\n \"ip_version\": \"Any\",\n \"server\": \"8.8.4.4\",\n \"port\": 8600,\n \"record_type\": \"CNAME\",\n \"protocol\": \"TCP\",\n \"valid_r_codes\": [\n \"NOERROR\",\n \"NOTAUTH\",\n ],\n \"validate_answer_rrs\": {\n \"fail_if_matches_regexps\": [\".+-bad-stuff*\"],\n \"fail_if_not_matches_regexps\": [\".+-good-stuff*\"],\n },\n \"validate_authority_rrs\": {\n \"fail_if_matches_regexps\": [\".+-bad-stuff*\"],\n \"fail_if_not_matches_regexps\": [\".+-good-stuff*\"],\n },\n \"validate_additional_rrs\": [{\n \"fail_if_matches_regexps\": [\".+-bad-stuff*\"],\n \"fail_if_not_matches_regexps\": [\".+-good-stuff*\"],\n }],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var dns = new Grafana.SyntheticMonitoring.Check(\"dns\", new()\n {\n Job = \"DNS Updated\",\n Target = \"grafana.net\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Frankfurt),\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.London),\n },\n Labels = \n {\n { \"foo\", \"baz\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Dns = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsDnsArgs\n {\n IpVersion = \"Any\",\n Server = \"8.8.4.4\",\n Port = 8600,\n RecordType = \"CNAME\",\n Protocol = \"TCP\",\n ValidRCodes = new[]\n {\n \"NOERROR\",\n \"NOTAUTH\",\n },\n ValidateAnswerRrs = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsDnsValidateAnswerRrsArgs\n {\n FailIfMatchesRegexps = new[]\n {\n \".+-bad-stuff*\",\n },\n FailIfNotMatchesRegexps = new[]\n {\n \".+-good-stuff*\",\n },\n },\n ValidateAuthorityRrs = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsDnsValidateAuthorityRrsArgs\n {\n FailIfMatchesRegexps = new[]\n {\n \".+-bad-stuff*\",\n },\n FailIfNotMatchesRegexps = new[]\n {\n \".+-good-stuff*\",\n },\n },\n ValidateAdditionalRrs = new[]\n {\n new Grafana.SyntheticMonitoring.Inputs.CheckSettingsDnsValidateAdditionalRrArgs\n {\n FailIfMatchesRegexps = new[]\n {\n \".+-bad-stuff*\",\n },\n FailIfNotMatchesRegexps = new[]\n {\n \".+-good-stuff*\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"dns\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"DNS Updated\"),\n\t\t\tTarget: pulumi.String(\"grafana.net\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Frankfurt),\n\t\t\t\tpulumi.Int(main.Probes.London),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"baz\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tDns: \u0026syntheticmonitoring.CheckSettingsDnsArgs{\n\t\t\t\t\tIpVersion: pulumi.String(\"Any\"),\n\t\t\t\t\tServer: pulumi.String(\"8.8.4.4\"),\n\t\t\t\t\tPort: pulumi.Int(8600),\n\t\t\t\t\tRecordType: pulumi.String(\"CNAME\"),\n\t\t\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tValidRCodes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"NOERROR\"),\n\t\t\t\t\t\tpulumi.String(\"NOTAUTH\"),\n\t\t\t\t\t},\n\t\t\t\t\tValidateAnswerRrs: \u0026syntheticmonitoring.CheckSettingsDnsValidateAnswerRrsArgs{\n\t\t\t\t\t\tFailIfMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\".+-bad-stuff*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tFailIfNotMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\".+-good-stuff*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tValidateAuthorityRrs: \u0026syntheticmonitoring.CheckSettingsDnsValidateAuthorityRrsArgs{\n\t\t\t\t\t\tFailIfMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\".+-bad-stuff*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tFailIfNotMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\".+-good-stuff*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tValidateAdditionalRrs: syntheticmonitoring.CheckSettingsDnsValidateAdditionalRrArray{\n\t\t\t\t\t\t\u0026syntheticmonitoring.CheckSettingsDnsValidateAdditionalRrArgs{\n\t\t\t\t\t\t\tFailIfMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\".+-bad-stuff*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tFailIfNotMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\".+-good-stuff*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsDnsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsDnsValidateAnswerRrsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsDnsValidateAuthorityRrsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var dns = new Check(\"dns\", CheckArgs.builder()\n .job(\"DNS Updated\")\n .target(\"grafana.net\")\n .enabled(false)\n .probes( \n main.applyValue(getProbesResult -\u003e getProbesResult.probes().frankfurt()),\n main.applyValue(getProbesResult -\u003e getProbesResult.probes().london()))\n .labels(Map.of(\"foo\", \"baz\"))\n .settings(CheckSettingsArgs.builder()\n .dns(CheckSettingsDnsArgs.builder()\n .ipVersion(\"Any\")\n .server(\"8.8.4.4\")\n .port(8600)\n .recordType(\"CNAME\")\n .protocol(\"TCP\")\n .validRCodes( \n \"NOERROR\",\n \"NOTAUTH\")\n .validateAnswerRrs(CheckSettingsDnsValidateAnswerRrsArgs.builder()\n .failIfMatchesRegexps(\".+-bad-stuff*\")\n .failIfNotMatchesRegexps(\".+-good-stuff*\")\n .build())\n .validateAuthorityRrs(CheckSettingsDnsValidateAuthorityRrsArgs.builder()\n .failIfMatchesRegexps(\".+-bad-stuff*\")\n .failIfNotMatchesRegexps(\".+-good-stuff*\")\n .build())\n .validateAdditionalRrs(CheckSettingsDnsValidateAdditionalRrArgs.builder()\n .failIfMatchesRegexps(\".+-bad-stuff*\")\n .failIfNotMatchesRegexps(\".+-good-stuff*\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dns:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: DNS Updated\n target: grafana.net\n enabled: false\n probes:\n - ${main.probes.frankfurt}\n - ${main.probes.london}\n labels:\n foo: baz\n settings:\n dns:\n ipVersion: Any\n server: 8.8.4.4\n port: 8600\n recordType: CNAME\n protocol: TCP\n validRCodes:\n - NOERROR\n - NOTAUTH\n validateAnswerRrs:\n failIfMatchesRegexps:\n - .+-bad-stuff*\n failIfNotMatchesRegexps:\n - .+-good-stuff*\n validateAuthorityRrs:\n failIfMatchesRegexps:\n - .+-bad-stuff*\n failIfNotMatchesRegexps:\n - .+-good-stuff*\n validateAdditionalRrs:\n - failIfMatchesRegexps:\n - .+-bad-stuff*\n failIfNotMatchesRegexps:\n - .+-good-stuff*\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### HTTP Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst http = new grafana.syntheticmonitoring.Check(\"http\", {\n job: \"HTTP Defaults\",\n target: \"https://grafana.com\",\n enabled: false,\n probes: [main.then(main =\u003e main.probes?.ohio)],\n labels: {\n foo: \"bar\",\n },\n settings: {\n http: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\nhttp = grafana.synthetic_monitoring.Check(\"http\",\n job=\"HTTP Defaults\",\n target=\"https://grafana.com\",\n enabled=False,\n probes=[main.probes[\"ohio\"]],\n labels={\n \"foo\": \"bar\",\n },\n settings={\n \"http\": {},\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var http = new Grafana.SyntheticMonitoring.Check(\"http\", new()\n {\n Job = \"HTTP Defaults\",\n Target = \"https://grafana.com\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Ohio),\n },\n Labels = \n {\n { \"foo\", \"bar\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Http = null,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"http\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"HTTP Defaults\"),\n\t\t\tTarget: pulumi.String(\"https://grafana.com\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Ohio),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tHttp: \u0026syntheticmonitoring.CheckSettingsHttpArgs{},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsHttpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var http = new Check(\"http\", CheckArgs.builder()\n .job(\"HTTP Defaults\")\n .target(\"https://grafana.com\")\n .enabled(false)\n .probes(main.applyValue(getProbesResult -\u003e getProbesResult.probes().ohio()))\n .labels(Map.of(\"foo\", \"bar\"))\n .settings(CheckSettingsArgs.builder()\n .http()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n http:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: HTTP Defaults\n target: https://grafana.com\n enabled: false\n probes:\n - ${main.probes.ohio}\n labels:\n foo: bar\n settings:\n http: {}\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### HTTP Complex\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst http = new grafana.syntheticmonitoring.Check(\"http\", {\n job: \"HTTP Defaults\",\n target: \"https://grafana.org\",\n enabled: false,\n probes: [\n main.then(main =\u003e main.probes?.mumbai),\n main.then(main =\u003e main.probes?.mumbai),\n ],\n labels: {\n foo: \"bar\",\n },\n settings: {\n http: {\n ipVersion: \"V6\",\n method: \"TRACE\",\n body: \"and spirit\",\n noFollowRedirects: true,\n bearerToken: \"asdfjkl;\",\n proxyUrl: \"https://almost-there\",\n failIfSsl: true,\n failIfNotSsl: true,\n compression: \"deflate\",\n cacheBustingQueryParamName: \"pineapple\",\n tlsConfig: {\n serverName: \"grafana.org\",\n clientCert: `-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n`,\n },\n headers: [\"Content-Type: multipart/form-data; boundary=something\"],\n basicAuth: {\n username: \"open\",\n password: \"sesame\",\n },\n validStatusCodes: [\n 200,\n 201,\n ],\n validHttpVersions: [\n \"HTTP/1.0\",\n \"HTTP/1.1\",\n \"HTTP/2.0\",\n ],\n failIfBodyMatchesRegexps: [\".*bad stuff.*\"],\n failIfBodyNotMatchesRegexps: [\".*good stuff.*\"],\n failIfHeaderMatchesRegexps: [{\n header: \"Content-Type\",\n regexp: \"application/soap*\",\n allowMissing: true,\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\nhttp = grafana.synthetic_monitoring.Check(\"http\",\n job=\"HTTP Defaults\",\n target=\"https://grafana.org\",\n enabled=False,\n probes=[\n main.probes[\"mumbai\"],\n main.probes[\"mumbai\"],\n ],\n labels={\n \"foo\": \"bar\",\n },\n settings={\n \"http\": {\n \"ip_version\": \"V6\",\n \"method\": \"TRACE\",\n \"body\": \"and spirit\",\n \"no_follow_redirects\": True,\n \"bearer_token\": \"asdfjkl;\",\n \"proxy_url\": \"https://almost-there\",\n \"fail_if_ssl\": True,\n \"fail_if_not_ssl\": True,\n \"compression\": \"deflate\",\n \"cache_busting_query_param_name\": \"pineapple\",\n \"tls_config\": {\n \"server_name\": \"grafana.org\",\n \"client_cert\": \"\"\"-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n\"\"\",\n },\n \"headers\": [\"Content-Type: multipart/form-data; boundary=something\"],\n \"basic_auth\": {\n \"username\": \"open\",\n \"password\": \"sesame\",\n },\n \"valid_status_codes\": [\n 200,\n 201,\n ],\n \"valid_http_versions\": [\n \"HTTP/1.0\",\n \"HTTP/1.1\",\n \"HTTP/2.0\",\n ],\n \"fail_if_body_matches_regexps\": [\".*bad stuff.*\"],\n \"fail_if_body_not_matches_regexps\": [\".*good stuff.*\"],\n \"fail_if_header_matches_regexps\": [{\n \"header\": \"Content-Type\",\n \"regexp\": \"application/soap*\",\n \"allow_missing\": True,\n }],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var http = new Grafana.SyntheticMonitoring.Check(\"http\", new()\n {\n Job = \"HTTP Defaults\",\n Target = \"https://grafana.org\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Mumbai),\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Mumbai),\n },\n Labels = \n {\n { \"foo\", \"bar\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Http = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsHttpArgs\n {\n IpVersion = \"V6\",\n Method = \"TRACE\",\n Body = \"and spirit\",\n NoFollowRedirects = true,\n BearerToken = \"asdfjkl;\",\n ProxyUrl = \"https://almost-there\",\n FailIfSsl = true,\n FailIfNotSsl = true,\n Compression = \"deflate\",\n CacheBustingQueryParamName = \"pineapple\",\n TlsConfig = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsHttpTlsConfigArgs\n {\n ServerName = \"grafana.org\",\n ClientCert = @\"-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n\",\n },\n Headers = new[]\n {\n \"Content-Type: multipart/form-data; boundary=something\",\n },\n BasicAuth = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsHttpBasicAuthArgs\n {\n Username = \"open\",\n Password = \"sesame\",\n },\n ValidStatusCodes = new[]\n {\n 200,\n 201,\n },\n ValidHttpVersions = new[]\n {\n \"HTTP/1.0\",\n \"HTTP/1.1\",\n \"HTTP/2.0\",\n },\n FailIfBodyMatchesRegexps = new[]\n {\n \".*bad stuff.*\",\n },\n FailIfBodyNotMatchesRegexps = new[]\n {\n \".*good stuff.*\",\n },\n FailIfHeaderMatchesRegexps = new[]\n {\n new Grafana.SyntheticMonitoring.Inputs.CheckSettingsHttpFailIfHeaderMatchesRegexpArgs\n {\n Header = \"Content-Type\",\n Regexp = \"application/soap*\",\n AllowMissing = true,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"http\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"HTTP Defaults\"),\n\t\t\tTarget: pulumi.String(\"https://grafana.org\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Mumbai),\n\t\t\t\tpulumi.Int(main.Probes.Mumbai),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tHttp: \u0026syntheticmonitoring.CheckSettingsHttpArgs{\n\t\t\t\t\tIpVersion: pulumi.String(\"V6\"),\n\t\t\t\t\tMethod: pulumi.String(\"TRACE\"),\n\t\t\t\t\tBody: pulumi.String(\"and spirit\"),\n\t\t\t\t\tNoFollowRedirects: pulumi.Bool(true),\n\t\t\t\t\tBearerToken: pulumi.String(\"asdfjkl;\"),\n\t\t\t\t\tProxyUrl: pulumi.String(\"https://almost-there\"),\n\t\t\t\t\tFailIfSsl: pulumi.Bool(true),\n\t\t\t\t\tFailIfNotSsl: pulumi.Bool(true),\n\t\t\t\t\tCompression: pulumi.String(\"deflate\"),\n\t\t\t\t\tCacheBustingQueryParamName: pulumi.String(\"pineapple\"),\n\t\t\t\t\tTlsConfig: \u0026syntheticmonitoring.CheckSettingsHttpTlsConfigArgs{\n\t\t\t\t\t\tServerName: pulumi.String(\"grafana.org\"),\n\t\t\t\t\t\tClientCert: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n`),\n\t\t\t\t\t},\n\t\t\t\t\tHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Content-Type: multipart/form-data; boundary=something\"),\n\t\t\t\t\t},\n\t\t\t\t\tBasicAuth: \u0026syntheticmonitoring.CheckSettingsHttpBasicAuthArgs{\n\t\t\t\t\t\tUsername: pulumi.String(\"open\"),\n\t\t\t\t\t\tPassword: pulumi.String(\"sesame\"),\n\t\t\t\t\t},\n\t\t\t\t\tValidStatusCodes: pulumi.IntArray{\n\t\t\t\t\t\tpulumi.Int(200),\n\t\t\t\t\t\tpulumi.Int(201),\n\t\t\t\t\t},\n\t\t\t\t\tValidHttpVersions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"HTTP/1.0\"),\n\t\t\t\t\t\tpulumi.String(\"HTTP/1.1\"),\n\t\t\t\t\t\tpulumi.String(\"HTTP/2.0\"),\n\t\t\t\t\t},\n\t\t\t\t\tFailIfBodyMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\".*bad stuff.*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFailIfBodyNotMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\".*good stuff.*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFailIfHeaderMatchesRegexps: syntheticmonitoring.CheckSettingsHttpFailIfHeaderMatchesRegexpArray{\n\t\t\t\t\t\t\u0026syntheticmonitoring.CheckSettingsHttpFailIfHeaderMatchesRegexpArgs{\n\t\t\t\t\t\t\tHeader: pulumi.String(\"Content-Type\"),\n\t\t\t\t\t\t\tRegexp: pulumi.String(\"application/soap*\"),\n\t\t\t\t\t\t\tAllowMissing: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsHttpArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsHttpTlsConfigArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsHttpBasicAuthArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var http = new Check(\"http\", CheckArgs.builder()\n .job(\"HTTP Defaults\")\n .target(\"https://grafana.org\")\n .enabled(false)\n .probes( \n main.applyValue(getProbesResult -\u003e getProbesResult.probes().mumbai()),\n main.applyValue(getProbesResult -\u003e getProbesResult.probes().mumbai()))\n .labels(Map.of(\"foo\", \"bar\"))\n .settings(CheckSettingsArgs.builder()\n .http(CheckSettingsHttpArgs.builder()\n .ipVersion(\"V6\")\n .method(\"TRACE\")\n .body(\"and spirit\")\n .noFollowRedirects(true)\n .bearerToken(\"asdfjkl;\")\n .proxyUrl(\"https://almost-there\")\n .failIfSsl(true)\n .failIfNotSsl(true)\n .compression(\"deflate\")\n .cacheBustingQueryParamName(\"pineapple\")\n .tlsConfig(CheckSettingsHttpTlsConfigArgs.builder()\n .serverName(\"grafana.org\")\n .clientCert(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n \"\"\")\n .build())\n .headers(\"Content-Type: multipart/form-data; boundary=something\")\n .basicAuth(CheckSettingsHttpBasicAuthArgs.builder()\n .username(\"open\")\n .password(\"sesame\")\n .build())\n .validStatusCodes( \n 200,\n 201)\n .validHttpVersions( \n \"HTTP/1.0\",\n \"HTTP/1.1\",\n \"HTTP/2.0\")\n .failIfBodyMatchesRegexps(\".*bad stuff.*\")\n .failIfBodyNotMatchesRegexps(\".*good stuff.*\")\n .failIfHeaderMatchesRegexps(CheckSettingsHttpFailIfHeaderMatchesRegexpArgs.builder()\n .header(\"Content-Type\")\n .regexp(\"application/soap*\")\n .allowMissing(true)\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n http:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: HTTP Defaults\n target: https://grafana.org\n enabled: false\n probes:\n - ${main.probes.mumbai}\n - ${main.probes.mumbai}\n labels:\n foo: bar\n settings:\n http:\n ipVersion: V6\n method: TRACE\n body: and spirit\n noFollowRedirects: true\n bearerToken: asdfjkl;\n proxyUrl: https://almost-there\n failIfSsl: true\n failIfNotSsl: true\n compression: deflate\n cacheBustingQueryParamName: pineapple\n tlsConfig:\n serverName: grafana.org\n clientCert: |\n -----BEGIN CERTIFICATE-----\n MIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\n RTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\n MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n 0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\n h1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\n BN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\n iDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\n a+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\n FWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\n qq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\n FTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\n Z18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n 6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\n UV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\n yzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\n e2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\n XeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\n tqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\n QxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\n tf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\n prulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n 5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\n l3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n 7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\n vuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n -----END CERTIFICATE-----\n headers:\n - 'Content-Type: multipart/form-data; boundary=something'\n basicAuth:\n username: open\n password: sesame\n validStatusCodes:\n - 200\n - 201\n validHttpVersions:\n - HTTP/1.0\n - HTTP/1.1\n - HTTP/2.0\n failIfBodyMatchesRegexps:\n - .*bad stuff.*\n failIfBodyNotMatchesRegexps:\n - .*good stuff.*\n failIfHeaderMatchesRegexps:\n - header: Content-Type\n regexp: application/soap*\n allowMissing: true\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Ping Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst ping = new grafana.syntheticmonitoring.Check(\"ping\", {\n job: \"Ping Defaults\",\n target: \"grafana.com\",\n enabled: false,\n probes: [main.then(main =\u003e main.probes?.ohio)],\n labels: {\n foo: \"bar\",\n },\n settings: {\n ping: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\nping = grafana.synthetic_monitoring.Check(\"ping\",\n job=\"Ping Defaults\",\n target=\"grafana.com\",\n enabled=False,\n probes=[main.probes[\"ohio\"]],\n labels={\n \"foo\": \"bar\",\n },\n settings={\n \"ping\": {},\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var ping = new Grafana.SyntheticMonitoring.Check(\"ping\", new()\n {\n Job = \"Ping Defaults\",\n Target = \"grafana.com\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Ohio),\n },\n Labels = \n {\n { \"foo\", \"bar\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Ping = null,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"ping\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"Ping Defaults\"),\n\t\t\tTarget: pulumi.String(\"grafana.com\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Ohio),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tPing: \u0026syntheticmonitoring.CheckSettingsPingArgs{},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsPingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var ping = new Check(\"ping\", CheckArgs.builder()\n .job(\"Ping Defaults\")\n .target(\"grafana.com\")\n .enabled(false)\n .probes(main.applyValue(getProbesResult -\u003e getProbesResult.probes().ohio()))\n .labels(Map.of(\"foo\", \"bar\"))\n .settings(CheckSettingsArgs.builder()\n .ping()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ping:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: Ping Defaults\n target: grafana.com\n enabled: false\n probes:\n - ${main.probes.ohio}\n labels:\n foo: bar\n settings:\n ping: {}\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Ping Complex\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst ping = new grafana.syntheticmonitoring.Check(\"ping\", {\n job: \"Ping Updated\",\n target: \"grafana.net\",\n enabled: false,\n probes: [\n main.then(main =\u003e main.probes?.frankfurt),\n main.then(main =\u003e main.probes?.london),\n ],\n labels: {\n foo: \"baz\",\n },\n settings: {\n ping: {\n ipVersion: \"Any\",\n payloadSize: 20,\n dontFragment: true,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\nping = grafana.synthetic_monitoring.Check(\"ping\",\n job=\"Ping Updated\",\n target=\"grafana.net\",\n enabled=False,\n probes=[\n main.probes[\"frankfurt\"],\n main.probes[\"london\"],\n ],\n labels={\n \"foo\": \"baz\",\n },\n settings={\n \"ping\": {\n \"ip_version\": \"Any\",\n \"payload_size\": 20,\n \"dont_fragment\": True,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var ping = new Grafana.SyntheticMonitoring.Check(\"ping\", new()\n {\n Job = \"Ping Updated\",\n Target = \"grafana.net\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Frankfurt),\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.London),\n },\n Labels = \n {\n { \"foo\", \"baz\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Ping = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsPingArgs\n {\n IpVersion = \"Any\",\n PayloadSize = 20,\n DontFragment = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"ping\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"Ping Updated\"),\n\t\t\tTarget: pulumi.String(\"grafana.net\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Frankfurt),\n\t\t\t\tpulumi.Int(main.Probes.London),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"baz\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tPing: \u0026syntheticmonitoring.CheckSettingsPingArgs{\n\t\t\t\t\tIpVersion: pulumi.String(\"Any\"),\n\t\t\t\t\tPayloadSize: pulumi.Int(20),\n\t\t\t\t\tDontFragment: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsPingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var ping = new Check(\"ping\", CheckArgs.builder()\n .job(\"Ping Updated\")\n .target(\"grafana.net\")\n .enabled(false)\n .probes( \n main.applyValue(getProbesResult -\u003e getProbesResult.probes().frankfurt()),\n main.applyValue(getProbesResult -\u003e getProbesResult.probes().london()))\n .labels(Map.of(\"foo\", \"baz\"))\n .settings(CheckSettingsArgs.builder()\n .ping(CheckSettingsPingArgs.builder()\n .ipVersion(\"Any\")\n .payloadSize(20)\n .dontFragment(true)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ping:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: Ping Updated\n target: grafana.net\n enabled: false\n probes:\n - ${main.probes.frankfurt}\n - ${main.probes.london}\n labels:\n foo: baz\n settings:\n ping:\n ipVersion: Any\n payloadSize: 20\n dontFragment: true\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### TCP Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst tcp = new grafana.syntheticmonitoring.Check(\"tcp\", {\n job: \"TCP Defaults\",\n target: \"grafana.com:80\",\n enabled: false,\n probes: [main.then(main =\u003e main.probes?.ohio)],\n labels: {\n foo: \"bar\",\n },\n settings: {\n tcp: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\ntcp = grafana.synthetic_monitoring.Check(\"tcp\",\n job=\"TCP Defaults\",\n target=\"grafana.com:80\",\n enabled=False,\n probes=[main.probes[\"ohio\"]],\n labels={\n \"foo\": \"bar\",\n },\n settings={\n \"tcp\": {},\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var tcp = new Grafana.SyntheticMonitoring.Check(\"tcp\", new()\n {\n Job = \"TCP Defaults\",\n Target = \"grafana.com:80\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Ohio),\n },\n Labels = \n {\n { \"foo\", \"bar\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Tcp = null,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"tcp\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"TCP Defaults\"),\n\t\t\tTarget: pulumi.String(\"grafana.com:80\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Ohio),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tTcp: \u0026syntheticmonitoring.CheckSettingsTcpArgs{},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsTcpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var tcp = new Check(\"tcp\", CheckArgs.builder()\n .job(\"TCP Defaults\")\n .target(\"grafana.com:80\")\n .enabled(false)\n .probes(main.applyValue(getProbesResult -\u003e getProbesResult.probes().ohio()))\n .labels(Map.of(\"foo\", \"bar\"))\n .settings(CheckSettingsArgs.builder()\n .tcp()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tcp:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: TCP Defaults\n target: grafana.com:80\n enabled: false\n probes:\n - ${main.probes.ohio}\n labels:\n foo: bar\n settings:\n tcp: {}\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### TCP Complex\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst tcp = new grafana.syntheticmonitoring.Check(\"tcp\", {\n job: \"TCP Defaults\",\n target: \"grafana.com:443\",\n enabled: false,\n probes: [\n main.then(main =\u003e main.probes?.frankfurt),\n main.then(main =\u003e main.probes?.london),\n ],\n labels: {\n foo: \"baz\",\n },\n settings: {\n tcp: {\n ipVersion: \"V6\",\n tls: true,\n queryResponses: [\n {\n send: \"howdy\",\n expect: \"hi\",\n },\n {\n send: \"like this\",\n expect: \"like that\",\n startTls: true,\n },\n ],\n tlsConfig: {\n serverName: \"grafana.com\",\n caCert: `-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n`,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\ntcp = grafana.synthetic_monitoring.Check(\"tcp\",\n job=\"TCP Defaults\",\n target=\"grafana.com:443\",\n enabled=False,\n probes=[\n main.probes[\"frankfurt\"],\n main.probes[\"london\"],\n ],\n labels={\n \"foo\": \"baz\",\n },\n settings={\n \"tcp\": {\n \"ip_version\": \"V6\",\n \"tls\": True,\n \"query_responses\": [\n {\n \"send\": \"howdy\",\n \"expect\": \"hi\",\n },\n {\n \"send\": \"like this\",\n \"expect\": \"like that\",\n \"start_tls\": True,\n },\n ],\n \"tls_config\": {\n \"server_name\": \"grafana.com\",\n \"ca_cert\": \"\"\"-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n\"\"\",\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var tcp = new Grafana.SyntheticMonitoring.Check(\"tcp\", new()\n {\n Job = \"TCP Defaults\",\n Target = \"grafana.com:443\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Frankfurt),\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.London),\n },\n Labels = \n {\n { \"foo\", \"baz\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Tcp = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsTcpArgs\n {\n IpVersion = \"V6\",\n Tls = true,\n QueryResponses = new[]\n {\n new Grafana.SyntheticMonitoring.Inputs.CheckSettingsTcpQueryResponseArgs\n {\n Send = \"howdy\",\n Expect = \"hi\",\n },\n new Grafana.SyntheticMonitoring.Inputs.CheckSettingsTcpQueryResponseArgs\n {\n Send = \"like this\",\n Expect = \"like that\",\n StartTls = true,\n },\n },\n TlsConfig = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsTcpTlsConfigArgs\n {\n ServerName = \"grafana.com\",\n CaCert = @\"-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"tcp\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"TCP Defaults\"),\n\t\t\tTarget: pulumi.String(\"grafana.com:443\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Frankfurt),\n\t\t\t\tpulumi.Int(main.Probes.London),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"baz\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tTcp: \u0026syntheticmonitoring.CheckSettingsTcpArgs{\n\t\t\t\t\tIpVersion: pulumi.String(\"V6\"),\n\t\t\t\t\tTls: pulumi.Bool(true),\n\t\t\t\t\tQueryResponses: syntheticmonitoring.CheckSettingsTcpQueryResponseArray{\n\t\t\t\t\t\t\u0026syntheticmonitoring.CheckSettingsTcpQueryResponseArgs{\n\t\t\t\t\t\t\tSend: pulumi.String(\"howdy\"),\n\t\t\t\t\t\t\tExpect: pulumi.String(\"hi\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026syntheticmonitoring.CheckSettingsTcpQueryResponseArgs{\n\t\t\t\t\t\t\tSend: pulumi.String(\"like this\"),\n\t\t\t\t\t\t\tExpect: pulumi.String(\"like that\"),\n\t\t\t\t\t\t\tStartTls: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tTlsConfig: \u0026syntheticmonitoring.CheckSettingsTcpTlsConfigArgs{\n\t\t\t\t\t\tServerName: pulumi.String(\"grafana.com\"),\n\t\t\t\t\t\tCaCert: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n`),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsTcpArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsTcpTlsConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var tcp = new Check(\"tcp\", CheckArgs.builder()\n .job(\"TCP Defaults\")\n .target(\"grafana.com:443\")\n .enabled(false)\n .probes( \n main.applyValue(getProbesResult -\u003e getProbesResult.probes().frankfurt()),\n main.applyValue(getProbesResult -\u003e getProbesResult.probes().london()))\n .labels(Map.of(\"foo\", \"baz\"))\n .settings(CheckSettingsArgs.builder()\n .tcp(CheckSettingsTcpArgs.builder()\n .ipVersion(\"V6\")\n .tls(true)\n .queryResponses( \n CheckSettingsTcpQueryResponseArgs.builder()\n .send(\"howdy\")\n .expect(\"hi\")\n .build(),\n CheckSettingsTcpQueryResponseArgs.builder()\n .send(\"like this\")\n .expect(\"like that\")\n .startTls(true)\n .build())\n .tlsConfig(CheckSettingsTcpTlsConfigArgs.builder()\n .serverName(\"grafana.com\")\n .caCert(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n \"\"\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tcp:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: TCP Defaults\n target: grafana.com:443\n enabled: false\n probes:\n - ${main.probes.frankfurt}\n - ${main.probes.london}\n labels:\n foo: baz\n settings:\n tcp:\n ipVersion: V6\n tls: true\n queryResponses:\n - send: howdy\n expect: hi\n - send: like this\n expect: like that\n startTls: true\n tlsConfig:\n serverName: grafana.com\n caCert: |\n -----BEGIN CERTIFICATE-----\n MIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\n RTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\n MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n 0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\n h1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\n BN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\n iDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\n a+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\n FWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\n qq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\n FTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\n Z18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n 6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\n UV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\n yzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\n e2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\n XeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\n tqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\n QxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\n tf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\n prulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n 5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\n l3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n 7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\n vuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n -----END CERTIFICATE-----\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Traceroute Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst traceroute = new grafana.syntheticmonitoring.Check(\"traceroute\", {\n job: \"Traceroute defaults\",\n target: \"grafana.com\",\n enabled: false,\n frequency: 120000,\n timeout: 30000,\n probes: [main.then(main =\u003e main.probes?.ohio)],\n labels: {\n foo: \"bar\",\n },\n settings: {\n traceroute: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\ntraceroute = grafana.synthetic_monitoring.Check(\"traceroute\",\n job=\"Traceroute defaults\",\n target=\"grafana.com\",\n enabled=False,\n frequency=120000,\n timeout=30000,\n probes=[main.probes[\"ohio\"]],\n labels={\n \"foo\": \"bar\",\n },\n settings={\n \"traceroute\": {},\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var traceroute = new Grafana.SyntheticMonitoring.Check(\"traceroute\", new()\n {\n Job = \"Traceroute defaults\",\n Target = \"grafana.com\",\n Enabled = false,\n Frequency = 120000,\n Timeout = 30000,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Ohio),\n },\n Labels = \n {\n { \"foo\", \"bar\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Traceroute = null,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"traceroute\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"Traceroute defaults\"),\n\t\t\tTarget: pulumi.String(\"grafana.com\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tFrequency: pulumi.Int(120000),\n\t\t\tTimeout: pulumi.Int(30000),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Ohio),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tTraceroute: \u0026syntheticmonitoring.CheckSettingsTracerouteArgs{},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsTracerouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var traceroute = new Check(\"traceroute\", CheckArgs.builder()\n .job(\"Traceroute defaults\")\n .target(\"grafana.com\")\n .enabled(false)\n .frequency(120000)\n .timeout(30000)\n .probes(main.applyValue(getProbesResult -\u003e getProbesResult.probes().ohio()))\n .labels(Map.of(\"foo\", \"bar\"))\n .settings(CheckSettingsArgs.builder()\n .traceroute()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n traceroute:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: Traceroute defaults\n target: grafana.com\n enabled: false\n frequency: 120000\n timeout: 30000\n probes:\n - ${main.probes.ohio}\n labels:\n foo: bar\n settings:\n traceroute: {}\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Traceroute Complex\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst traceroute = new grafana.syntheticmonitoring.Check(\"traceroute\", {\n job: \"Traceroute complex\",\n target: \"grafana.net\",\n enabled: false,\n frequency: 120000,\n timeout: 30000,\n probes: [\n main.then(main =\u003e main.probes?.frankfurt),\n main.then(main =\u003e main.probes?.london),\n ],\n labels: {\n foo: \"baz\",\n },\n settings: {\n traceroute: {\n maxHops: 25,\n maxUnknownHops: 10,\n ptrLookup: false,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\ntraceroute = grafana.synthetic_monitoring.Check(\"traceroute\",\n job=\"Traceroute complex\",\n target=\"grafana.net\",\n enabled=False,\n frequency=120000,\n timeout=30000,\n probes=[\n main.probes[\"frankfurt\"],\n main.probes[\"london\"],\n ],\n labels={\n \"foo\": \"baz\",\n },\n settings={\n \"traceroute\": {\n \"max_hops\": 25,\n \"max_unknown_hops\": 10,\n \"ptr_lookup\": False,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var traceroute = new Grafana.SyntheticMonitoring.Check(\"traceroute\", new()\n {\n Job = \"Traceroute complex\",\n Target = \"grafana.net\",\n Enabled = false,\n Frequency = 120000,\n Timeout = 30000,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Frankfurt),\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.London),\n },\n Labels = \n {\n { \"foo\", \"baz\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Traceroute = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsTracerouteArgs\n {\n MaxHops = 25,\n MaxUnknownHops = 10,\n PtrLookup = false,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"traceroute\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"Traceroute complex\"),\n\t\t\tTarget: pulumi.String(\"grafana.net\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tFrequency: pulumi.Int(120000),\n\t\t\tTimeout: pulumi.Int(30000),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Frankfurt),\n\t\t\t\tpulumi.Int(main.Probes.London),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"baz\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tTraceroute: \u0026syntheticmonitoring.CheckSettingsTracerouteArgs{\n\t\t\t\t\tMaxHops: pulumi.Int(25),\n\t\t\t\t\tMaxUnknownHops: pulumi.Int(10),\n\t\t\t\t\tPtrLookup: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsTracerouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var traceroute = new Check(\"traceroute\", CheckArgs.builder()\n .job(\"Traceroute complex\")\n .target(\"grafana.net\")\n .enabled(false)\n .frequency(120000)\n .timeout(30000)\n .probes( \n main.applyValue(getProbesResult -\u003e getProbesResult.probes().frankfurt()),\n main.applyValue(getProbesResult -\u003e getProbesResult.probes().london()))\n .labels(Map.of(\"foo\", \"baz\"))\n .settings(CheckSettingsArgs.builder()\n .traceroute(CheckSettingsTracerouteArgs.builder()\n .maxHops(25)\n .maxUnknownHops(10)\n .ptrLookup(false)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n traceroute:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: Traceroute complex\n target: grafana.net\n enabled: false\n frequency: 120000\n timeout: 30000\n probes:\n - ${main.probes.frankfurt}\n - ${main.probes.london}\n labels:\n foo: baz\n settings:\n traceroute:\n maxHops: 25\n maxUnknownHops: 10\n ptrLookup: false\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import grafana:index/syntheticMonitoringCheck:SyntheticMonitoringCheck name \"{{ id }}\"\n```\n\n",
"properties": {
"alertSensitivity": {
"type": "string",
@@ -19991,6 +20253,10 @@
"description": "The probe authentication token. Your probe must use this to authenticate with Grafana Cloud.\n",
"secret": true
},
+ "disableBrowserChecks": {
+ "type": "boolean",
+ "description": "Disables browser checks for this probe. Defaults to `false`.\n"
+ },
"disableScriptedChecks": {
"type": "boolean",
"description": "Disables scripted checks for this probe. Defaults to `false`.\n"
@@ -20036,6 +20302,10 @@
"tenantId"
],
"inputProperties": {
+ "disableBrowserChecks": {
+ "type": "boolean",
+ "description": "Disables browser checks for this probe. Defaults to `false`.\n"
+ },
"disableScriptedChecks": {
"type": "boolean",
"description": "Disables scripted checks for this probe. Defaults to `false`.\n"
@@ -20081,6 +20351,10 @@
"description": "The probe authentication token. Your probe must use this to authenticate with Grafana Cloud.\n",
"secret": true
},
+ "disableBrowserChecks": {
+ "type": "boolean",
+ "description": "Disables browser checks for this probe. Defaults to `false`.\n"
+ },
"disableScriptedChecks": {
"type": "boolean",
"description": "Disables scripted checks for this probe. Defaults to `false`.\n"
@@ -22794,6 +23068,10 @@
"type": "string",
"description": "The Organization ID. If not set, the Org ID defined in the provider block will be used.\n"
},
+ "privateDataSourceConnectNetworkId": {
+ "type": "string",
+ "description": "(Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.\n"
+ },
"secureJsonDataEncoded": {
"type": "string",
"description": "Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.\n",
@@ -22863,6 +23141,10 @@
"description": "The Organization ID. If not set, the Org ID defined in the provider block will be used.\n",
"willReplaceOnChanges": true
},
+ "privateDataSourceConnectNetworkId": {
+ "type": "string",
+ "description": "(Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.\n"
+ },
"secureJsonDataEncoded": {
"type": "string",
"description": "Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.\n",
@@ -22933,6 +23215,10 @@
"description": "The Organization ID. If not set, the Org ID defined in the provider block will be used.\n",
"willReplaceOnChanges": true
},
+ "privateDataSourceConnectNetworkId": {
+ "type": "string",
+ "description": "(Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.\n"
+ },
"secureJsonDataEncoded": {
"type": "string",
"description": "Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.\n",
@@ -24617,7 +24903,7 @@
]
},
"grafana:syntheticMonitoring/check:Check": {
- "description": "Synthetic Monitoring checks are tests that run on selected probes at defined\nintervals and report metrics and logs back to your Grafana Cloud account. The\ntarget for checks can be a domain name, a server, or a website, depending on\nwhat information you would like to gather about your endpoint. You can define\nmultiple checks for a single endpoint to check different capabilities.\n\n* [Official documentation](https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/checks/)\n\n## Example Usage\n\n### DNS Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst dns = new grafana.syntheticmonitoring.Check(\"dns\", {\n job: \"DNS Defaults\",\n target: \"grafana.com\",\n enabled: false,\n probes: [main.then(main =\u003e main.probes?.atlanta)],\n labels: {\n foo: \"bar\",\n },\n settings: {\n dns: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\ndns = grafana.synthetic_monitoring.Check(\"dns\",\n job=\"DNS Defaults\",\n target=\"grafana.com\",\n enabled=False,\n probes=[main.probes[\"atlanta\"]],\n labels={\n \"foo\": \"bar\",\n },\n settings={\n \"dns\": {},\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var dns = new Grafana.SyntheticMonitoring.Check(\"dns\", new()\n {\n Job = \"DNS Defaults\",\n Target = \"grafana.com\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Atlanta),\n },\n Labels = \n {\n { \"foo\", \"bar\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Dns = null,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"dns\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"DNS Defaults\"),\n\t\t\tTarget: pulumi.String(\"grafana.com\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Atlanta),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tDns: \u0026syntheticmonitoring.CheckSettingsDnsArgs{},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsDnsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var dns = new Check(\"dns\", CheckArgs.builder()\n .job(\"DNS Defaults\")\n .target(\"grafana.com\")\n .enabled(false)\n .probes(main.applyValue(getProbesResult -\u003e getProbesResult.probes().atlanta()))\n .labels(Map.of(\"foo\", \"bar\"))\n .settings(CheckSettingsArgs.builder()\n .dns()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dns:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: DNS Defaults\n target: grafana.com\n enabled: false\n probes:\n - ${main.probes.atlanta}\n labels:\n foo: bar\n settings:\n dns: {}\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### DNS Complex\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst dns = new grafana.syntheticmonitoring.Check(\"dns\", {\n job: \"DNS Updated\",\n target: \"grafana.net\",\n enabled: false,\n probes: [\n main.then(main =\u003e main.probes?.frankfurt),\n main.then(main =\u003e main.probes?.london),\n ],\n labels: {\n foo: \"baz\",\n },\n settings: {\n dns: {\n ipVersion: \"Any\",\n server: \"8.8.4.4\",\n port: 8600,\n recordType: \"CNAME\",\n protocol: \"TCP\",\n validRCodes: [\n \"NOERROR\",\n \"NOTAUTH\",\n ],\n validateAnswerRrs: {\n failIfMatchesRegexps: [\".+-bad-stuff*\"],\n failIfNotMatchesRegexps: [\".+-good-stuff*\"],\n },\n validateAuthorityRrs: {\n failIfMatchesRegexps: [\".+-bad-stuff*\"],\n failIfNotMatchesRegexps: [\".+-good-stuff*\"],\n },\n validateAdditionalRrs: [{\n failIfMatchesRegexps: [\".+-bad-stuff*\"],\n failIfNotMatchesRegexps: [\".+-good-stuff*\"],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\ndns = grafana.synthetic_monitoring.Check(\"dns\",\n job=\"DNS Updated\",\n target=\"grafana.net\",\n enabled=False,\n probes=[\n main.probes[\"frankfurt\"],\n main.probes[\"london\"],\n ],\n labels={\n \"foo\": \"baz\",\n },\n settings={\n \"dns\": {\n \"ip_version\": \"Any\",\n \"server\": \"8.8.4.4\",\n \"port\": 8600,\n \"record_type\": \"CNAME\",\n \"protocol\": \"TCP\",\n \"valid_r_codes\": [\n \"NOERROR\",\n \"NOTAUTH\",\n ],\n \"validate_answer_rrs\": {\n \"fail_if_matches_regexps\": [\".+-bad-stuff*\"],\n \"fail_if_not_matches_regexps\": [\".+-good-stuff*\"],\n },\n \"validate_authority_rrs\": {\n \"fail_if_matches_regexps\": [\".+-bad-stuff*\"],\n \"fail_if_not_matches_regexps\": [\".+-good-stuff*\"],\n },\n \"validate_additional_rrs\": [{\n \"fail_if_matches_regexps\": [\".+-bad-stuff*\"],\n \"fail_if_not_matches_regexps\": [\".+-good-stuff*\"],\n }],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var dns = new Grafana.SyntheticMonitoring.Check(\"dns\", new()\n {\n Job = \"DNS Updated\",\n Target = \"grafana.net\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Frankfurt),\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.London),\n },\n Labels = \n {\n { \"foo\", \"baz\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Dns = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsDnsArgs\n {\n IpVersion = \"Any\",\n Server = \"8.8.4.4\",\n Port = 8600,\n RecordType = \"CNAME\",\n Protocol = \"TCP\",\n ValidRCodes = new[]\n {\n \"NOERROR\",\n \"NOTAUTH\",\n },\n ValidateAnswerRrs = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsDnsValidateAnswerRrsArgs\n {\n FailIfMatchesRegexps = new[]\n {\n \".+-bad-stuff*\",\n },\n FailIfNotMatchesRegexps = new[]\n {\n \".+-good-stuff*\",\n },\n },\n ValidateAuthorityRrs = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsDnsValidateAuthorityRrsArgs\n {\n FailIfMatchesRegexps = new[]\n {\n \".+-bad-stuff*\",\n },\n FailIfNotMatchesRegexps = new[]\n {\n \".+-good-stuff*\",\n },\n },\n ValidateAdditionalRrs = new[]\n {\n new Grafana.SyntheticMonitoring.Inputs.CheckSettingsDnsValidateAdditionalRrArgs\n {\n FailIfMatchesRegexps = new[]\n {\n \".+-bad-stuff*\",\n },\n FailIfNotMatchesRegexps = new[]\n {\n \".+-good-stuff*\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"dns\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"DNS Updated\"),\n\t\t\tTarget: pulumi.String(\"grafana.net\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Frankfurt),\n\t\t\t\tpulumi.Int(main.Probes.London),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"baz\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tDns: \u0026syntheticmonitoring.CheckSettingsDnsArgs{\n\t\t\t\t\tIpVersion: pulumi.String(\"Any\"),\n\t\t\t\t\tServer: pulumi.String(\"8.8.4.4\"),\n\t\t\t\t\tPort: pulumi.Int(8600),\n\t\t\t\t\tRecordType: pulumi.String(\"CNAME\"),\n\t\t\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tValidRCodes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"NOERROR\"),\n\t\t\t\t\t\tpulumi.String(\"NOTAUTH\"),\n\t\t\t\t\t},\n\t\t\t\t\tValidateAnswerRrs: \u0026syntheticmonitoring.CheckSettingsDnsValidateAnswerRrsArgs{\n\t\t\t\t\t\tFailIfMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\".+-bad-stuff*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tFailIfNotMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\".+-good-stuff*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tValidateAuthorityRrs: \u0026syntheticmonitoring.CheckSettingsDnsValidateAuthorityRrsArgs{\n\t\t\t\t\t\tFailIfMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\".+-bad-stuff*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tFailIfNotMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\".+-good-stuff*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tValidateAdditionalRrs: syntheticmonitoring.CheckSettingsDnsValidateAdditionalRrArray{\n\t\t\t\t\t\t\u0026syntheticmonitoring.CheckSettingsDnsValidateAdditionalRrArgs{\n\t\t\t\t\t\t\tFailIfMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\".+-bad-stuff*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tFailIfNotMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\".+-good-stuff*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsDnsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsDnsValidateAnswerRrsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsDnsValidateAuthorityRrsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var dns = new Check(\"dns\", CheckArgs.builder()\n .job(\"DNS Updated\")\n .target(\"grafana.net\")\n .enabled(false)\n .probes( \n main.applyValue(getProbesResult -\u003e getProbesResult.probes().frankfurt()),\n main.applyValue(getProbesResult -\u003e getProbesResult.probes().london()))\n .labels(Map.of(\"foo\", \"baz\"))\n .settings(CheckSettingsArgs.builder()\n .dns(CheckSettingsDnsArgs.builder()\n .ipVersion(\"Any\")\n .server(\"8.8.4.4\")\n .port(8600)\n .recordType(\"CNAME\")\n .protocol(\"TCP\")\n .validRCodes( \n \"NOERROR\",\n \"NOTAUTH\")\n .validateAnswerRrs(CheckSettingsDnsValidateAnswerRrsArgs.builder()\n .failIfMatchesRegexps(\".+-bad-stuff*\")\n .failIfNotMatchesRegexps(\".+-good-stuff*\")\n .build())\n .validateAuthorityRrs(CheckSettingsDnsValidateAuthorityRrsArgs.builder()\n .failIfMatchesRegexps(\".+-bad-stuff*\")\n .failIfNotMatchesRegexps(\".+-good-stuff*\")\n .build())\n .validateAdditionalRrs(CheckSettingsDnsValidateAdditionalRrArgs.builder()\n .failIfMatchesRegexps(\".+-bad-stuff*\")\n .failIfNotMatchesRegexps(\".+-good-stuff*\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dns:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: DNS Updated\n target: grafana.net\n enabled: false\n probes:\n - ${main.probes.frankfurt}\n - ${main.probes.london}\n labels:\n foo: baz\n settings:\n dns:\n ipVersion: Any\n server: 8.8.4.4\n port: 8600\n recordType: CNAME\n protocol: TCP\n validRCodes:\n - NOERROR\n - NOTAUTH\n validateAnswerRrs:\n failIfMatchesRegexps:\n - .+-bad-stuff*\n failIfNotMatchesRegexps:\n - .+-good-stuff*\n validateAuthorityRrs:\n failIfMatchesRegexps:\n - .+-bad-stuff*\n failIfNotMatchesRegexps:\n - .+-good-stuff*\n validateAdditionalRrs:\n - failIfMatchesRegexps:\n - .+-bad-stuff*\n failIfNotMatchesRegexps:\n - .+-good-stuff*\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### HTTP Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst http = new grafana.syntheticmonitoring.Check(\"http\", {\n job: \"HTTP Defaults\",\n target: \"https://grafana.com\",\n enabled: false,\n probes: [main.then(main =\u003e main.probes?.atlanta)],\n labels: {\n foo: \"bar\",\n },\n settings: {\n http: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\nhttp = grafana.synthetic_monitoring.Check(\"http\",\n job=\"HTTP Defaults\",\n target=\"https://grafana.com\",\n enabled=False,\n probes=[main.probes[\"atlanta\"]],\n labels={\n \"foo\": \"bar\",\n },\n settings={\n \"http\": {},\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var http = new Grafana.SyntheticMonitoring.Check(\"http\", new()\n {\n Job = \"HTTP Defaults\",\n Target = \"https://grafana.com\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Atlanta),\n },\n Labels = \n {\n { \"foo\", \"bar\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Http = null,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"http\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"HTTP Defaults\"),\n\t\t\tTarget: pulumi.String(\"https://grafana.com\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Atlanta),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tHttp: \u0026syntheticmonitoring.CheckSettingsHttpArgs{},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsHttpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var http = new Check(\"http\", CheckArgs.builder()\n .job(\"HTTP Defaults\")\n .target(\"https://grafana.com\")\n .enabled(false)\n .probes(main.applyValue(getProbesResult -\u003e getProbesResult.probes().atlanta()))\n .labels(Map.of(\"foo\", \"bar\"))\n .settings(CheckSettingsArgs.builder()\n .http()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n http:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: HTTP Defaults\n target: https://grafana.com\n enabled: false\n probes:\n - ${main.probes.atlanta}\n labels:\n foo: bar\n settings:\n http: {}\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### HTTP Complex\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst http = new grafana.syntheticmonitoring.Check(\"http\", {\n job: \"HTTP Defaults\",\n target: \"https://grafana.org\",\n enabled: false,\n probes: [\n main.then(main =\u003e main.probes?.bangalore),\n main.then(main =\u003e main.probes?.mumbai),\n ],\n labels: {\n foo: \"bar\",\n },\n settings: {\n http: {\n ipVersion: \"V6\",\n method: \"TRACE\",\n body: \"and spirit\",\n noFollowRedirects: true,\n bearerToken: \"asdfjkl;\",\n proxyUrl: \"https://almost-there\",\n failIfSsl: true,\n failIfNotSsl: true,\n compression: \"deflate\",\n cacheBustingQueryParamName: \"pineapple\",\n tlsConfig: {\n serverName: \"grafana.org\",\n clientCert: `-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n`,\n },\n headers: [\"Content-Type: multipart/form-data; boundary=something\"],\n basicAuth: {\n username: \"open\",\n password: \"sesame\",\n },\n validStatusCodes: [\n 200,\n 201,\n ],\n validHttpVersions: [\n \"HTTP/1.0\",\n \"HTTP/1.1\",\n \"HTTP/2.0\",\n ],\n failIfBodyMatchesRegexps: [\".*bad stuff.*\"],\n failIfBodyNotMatchesRegexps: [\".*good stuff.*\"],\n failIfHeaderMatchesRegexps: [{\n header: \"Content-Type\",\n regexp: \"application/soap*\",\n allowMissing: true,\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\nhttp = grafana.synthetic_monitoring.Check(\"http\",\n job=\"HTTP Defaults\",\n target=\"https://grafana.org\",\n enabled=False,\n probes=[\n main.probes[\"bangalore\"],\n main.probes[\"mumbai\"],\n ],\n labels={\n \"foo\": \"bar\",\n },\n settings={\n \"http\": {\n \"ip_version\": \"V6\",\n \"method\": \"TRACE\",\n \"body\": \"and spirit\",\n \"no_follow_redirects\": True,\n \"bearer_token\": \"asdfjkl;\",\n \"proxy_url\": \"https://almost-there\",\n \"fail_if_ssl\": True,\n \"fail_if_not_ssl\": True,\n \"compression\": \"deflate\",\n \"cache_busting_query_param_name\": \"pineapple\",\n \"tls_config\": {\n \"server_name\": \"grafana.org\",\n \"client_cert\": \"\"\"-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n\"\"\",\n },\n \"headers\": [\"Content-Type: multipart/form-data; boundary=something\"],\n \"basic_auth\": {\n \"username\": \"open\",\n \"password\": \"sesame\",\n },\n \"valid_status_codes\": [\n 200,\n 201,\n ],\n \"valid_http_versions\": [\n \"HTTP/1.0\",\n \"HTTP/1.1\",\n \"HTTP/2.0\",\n ],\n \"fail_if_body_matches_regexps\": [\".*bad stuff.*\"],\n \"fail_if_body_not_matches_regexps\": [\".*good stuff.*\"],\n \"fail_if_header_matches_regexps\": [{\n \"header\": \"Content-Type\",\n \"regexp\": \"application/soap*\",\n \"allow_missing\": True,\n }],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var http = new Grafana.SyntheticMonitoring.Check(\"http\", new()\n {\n Job = \"HTTP Defaults\",\n Target = \"https://grafana.org\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Bangalore),\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Mumbai),\n },\n Labels = \n {\n { \"foo\", \"bar\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Http = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsHttpArgs\n {\n IpVersion = \"V6\",\n Method = \"TRACE\",\n Body = \"and spirit\",\n NoFollowRedirects = true,\n BearerToken = \"asdfjkl;\",\n ProxyUrl = \"https://almost-there\",\n FailIfSsl = true,\n FailIfNotSsl = true,\n Compression = \"deflate\",\n CacheBustingQueryParamName = \"pineapple\",\n TlsConfig = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsHttpTlsConfigArgs\n {\n ServerName = \"grafana.org\",\n ClientCert = @\"-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n\",\n },\n Headers = new[]\n {\n \"Content-Type: multipart/form-data; boundary=something\",\n },\n BasicAuth = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsHttpBasicAuthArgs\n {\n Username = \"open\",\n Password = \"sesame\",\n },\n ValidStatusCodes = new[]\n {\n 200,\n 201,\n },\n ValidHttpVersions = new[]\n {\n \"HTTP/1.0\",\n \"HTTP/1.1\",\n \"HTTP/2.0\",\n },\n FailIfBodyMatchesRegexps = new[]\n {\n \".*bad stuff.*\",\n },\n FailIfBodyNotMatchesRegexps = new[]\n {\n \".*good stuff.*\",\n },\n FailIfHeaderMatchesRegexps = new[]\n {\n new Grafana.SyntheticMonitoring.Inputs.CheckSettingsHttpFailIfHeaderMatchesRegexpArgs\n {\n Header = \"Content-Type\",\n Regexp = \"application/soap*\",\n AllowMissing = true,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"http\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"HTTP Defaults\"),\n\t\t\tTarget: pulumi.String(\"https://grafana.org\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Bangalore),\n\t\t\t\tpulumi.Int(main.Probes.Mumbai),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tHttp: \u0026syntheticmonitoring.CheckSettingsHttpArgs{\n\t\t\t\t\tIpVersion: pulumi.String(\"V6\"),\n\t\t\t\t\tMethod: pulumi.String(\"TRACE\"),\n\t\t\t\t\tBody: pulumi.String(\"and spirit\"),\n\t\t\t\t\tNoFollowRedirects: pulumi.Bool(true),\n\t\t\t\t\tBearerToken: pulumi.String(\"asdfjkl;\"),\n\t\t\t\t\tProxyUrl: pulumi.String(\"https://almost-there\"),\n\t\t\t\t\tFailIfSsl: pulumi.Bool(true),\n\t\t\t\t\tFailIfNotSsl: pulumi.Bool(true),\n\t\t\t\t\tCompression: pulumi.String(\"deflate\"),\n\t\t\t\t\tCacheBustingQueryParamName: pulumi.String(\"pineapple\"),\n\t\t\t\t\tTlsConfig: \u0026syntheticmonitoring.CheckSettingsHttpTlsConfigArgs{\n\t\t\t\t\t\tServerName: pulumi.String(\"grafana.org\"),\n\t\t\t\t\t\tClientCert: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n`),\n\t\t\t\t\t},\n\t\t\t\t\tHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Content-Type: multipart/form-data; boundary=something\"),\n\t\t\t\t\t},\n\t\t\t\t\tBasicAuth: \u0026syntheticmonitoring.CheckSettingsHttpBasicAuthArgs{\n\t\t\t\t\t\tUsername: pulumi.String(\"open\"),\n\t\t\t\t\t\tPassword: pulumi.String(\"sesame\"),\n\t\t\t\t\t},\n\t\t\t\t\tValidStatusCodes: pulumi.IntArray{\n\t\t\t\t\t\tpulumi.Int(200),\n\t\t\t\t\t\tpulumi.Int(201),\n\t\t\t\t\t},\n\t\t\t\t\tValidHttpVersions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"HTTP/1.0\"),\n\t\t\t\t\t\tpulumi.String(\"HTTP/1.1\"),\n\t\t\t\t\t\tpulumi.String(\"HTTP/2.0\"),\n\t\t\t\t\t},\n\t\t\t\t\tFailIfBodyMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\".*bad stuff.*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFailIfBodyNotMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\".*good stuff.*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFailIfHeaderMatchesRegexps: syntheticmonitoring.CheckSettingsHttpFailIfHeaderMatchesRegexpArray{\n\t\t\t\t\t\t\u0026syntheticmonitoring.CheckSettingsHttpFailIfHeaderMatchesRegexpArgs{\n\t\t\t\t\t\t\tHeader: pulumi.String(\"Content-Type\"),\n\t\t\t\t\t\t\tRegexp: pulumi.String(\"application/soap*\"),\n\t\t\t\t\t\t\tAllowMissing: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsHttpArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsHttpTlsConfigArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsHttpBasicAuthArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var http = new Check(\"http\", CheckArgs.builder()\n .job(\"HTTP Defaults\")\n .target(\"https://grafana.org\")\n .enabled(false)\n .probes( \n main.applyValue(getProbesResult -\u003e getProbesResult.probes().bangalore()),\n main.applyValue(getProbesResult -\u003e getProbesResult.probes().mumbai()))\n .labels(Map.of(\"foo\", \"bar\"))\n .settings(CheckSettingsArgs.builder()\n .http(CheckSettingsHttpArgs.builder()\n .ipVersion(\"V6\")\n .method(\"TRACE\")\n .body(\"and spirit\")\n .noFollowRedirects(true)\n .bearerToken(\"asdfjkl;\")\n .proxyUrl(\"https://almost-there\")\n .failIfSsl(true)\n .failIfNotSsl(true)\n .compression(\"deflate\")\n .cacheBustingQueryParamName(\"pineapple\")\n .tlsConfig(CheckSettingsHttpTlsConfigArgs.builder()\n .serverName(\"grafana.org\")\n .clientCert(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n \"\"\")\n .build())\n .headers(\"Content-Type: multipart/form-data; boundary=something\")\n .basicAuth(CheckSettingsHttpBasicAuthArgs.builder()\n .username(\"open\")\n .password(\"sesame\")\n .build())\n .validStatusCodes( \n 200,\n 201)\n .validHttpVersions( \n \"HTTP/1.0\",\n \"HTTP/1.1\",\n \"HTTP/2.0\")\n .failIfBodyMatchesRegexps(\".*bad stuff.*\")\n .failIfBodyNotMatchesRegexps(\".*good stuff.*\")\n .failIfHeaderMatchesRegexps(CheckSettingsHttpFailIfHeaderMatchesRegexpArgs.builder()\n .header(\"Content-Type\")\n .regexp(\"application/soap*\")\n .allowMissing(true)\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n http:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: HTTP Defaults\n target: https://grafana.org\n enabled: false\n probes:\n - ${main.probes.bangalore}\n - ${main.probes.mumbai}\n labels:\n foo: bar\n settings:\n http:\n ipVersion: V6\n method: TRACE\n body: and spirit\n noFollowRedirects: true\n bearerToken: asdfjkl;\n proxyUrl: https://almost-there\n failIfSsl: true\n failIfNotSsl: true\n compression: deflate\n cacheBustingQueryParamName: pineapple\n tlsConfig:\n serverName: grafana.org\n clientCert: |\n -----BEGIN CERTIFICATE-----\n MIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\n RTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\n MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n 0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\n h1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\n BN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\n iDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\n a+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\n FWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\n qq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\n FTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\n Z18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n 6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\n UV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\n yzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\n e2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\n XeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\n tqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\n QxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\n tf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\n prulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n 5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\n l3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n 7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\n vuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n -----END CERTIFICATE-----\n headers:\n - 'Content-Type: multipart/form-data; boundary=something'\n basicAuth:\n username: open\n password: sesame\n validStatusCodes:\n - 200\n - 201\n validHttpVersions:\n - HTTP/1.0\n - HTTP/1.1\n - HTTP/2.0\n failIfBodyMatchesRegexps:\n - .*bad stuff.*\n failIfBodyNotMatchesRegexps:\n - .*good stuff.*\n failIfHeaderMatchesRegexps:\n - header: Content-Type\n regexp: application/soap*\n allowMissing: true\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Ping Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst ping = new grafana.syntheticmonitoring.Check(\"ping\", {\n job: \"Ping Defaults\",\n target: \"grafana.com\",\n enabled: false,\n probes: [main.then(main =\u003e main.probes?.atlanta)],\n labels: {\n foo: \"bar\",\n },\n settings: {\n ping: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\nping = grafana.synthetic_monitoring.Check(\"ping\",\n job=\"Ping Defaults\",\n target=\"grafana.com\",\n enabled=False,\n probes=[main.probes[\"atlanta\"]],\n labels={\n \"foo\": \"bar\",\n },\n settings={\n \"ping\": {},\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var ping = new Grafana.SyntheticMonitoring.Check(\"ping\", new()\n {\n Job = \"Ping Defaults\",\n Target = \"grafana.com\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Atlanta),\n },\n Labels = \n {\n { \"foo\", \"bar\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Ping = null,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"ping\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"Ping Defaults\"),\n\t\t\tTarget: pulumi.String(\"grafana.com\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Atlanta),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tPing: \u0026syntheticmonitoring.CheckSettingsPingArgs{},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsPingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var ping = new Check(\"ping\", CheckArgs.builder()\n .job(\"Ping Defaults\")\n .target(\"grafana.com\")\n .enabled(false)\n .probes(main.applyValue(getProbesResult -\u003e getProbesResult.probes().atlanta()))\n .labels(Map.of(\"foo\", \"bar\"))\n .settings(CheckSettingsArgs.builder()\n .ping()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ping:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: Ping Defaults\n target: grafana.com\n enabled: false\n probes:\n - ${main.probes.atlanta}\n labels:\n foo: bar\n settings:\n ping: {}\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Ping Complex\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst ping = new grafana.syntheticmonitoring.Check(\"ping\", {\n job: \"Ping Updated\",\n target: \"grafana.net\",\n enabled: false,\n probes: [\n main.then(main =\u003e main.probes?.frankfurt),\n main.then(main =\u003e main.probes?.london),\n ],\n labels: {\n foo: \"baz\",\n },\n settings: {\n ping: {\n ipVersion: \"Any\",\n payloadSize: 20,\n dontFragment: true,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\nping = grafana.synthetic_monitoring.Check(\"ping\",\n job=\"Ping Updated\",\n target=\"grafana.net\",\n enabled=False,\n probes=[\n main.probes[\"frankfurt\"],\n main.probes[\"london\"],\n ],\n labels={\n \"foo\": \"baz\",\n },\n settings={\n \"ping\": {\n \"ip_version\": \"Any\",\n \"payload_size\": 20,\n \"dont_fragment\": True,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var ping = new Grafana.SyntheticMonitoring.Check(\"ping\", new()\n {\n Job = \"Ping Updated\",\n Target = \"grafana.net\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Frankfurt),\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.London),\n },\n Labels = \n {\n { \"foo\", \"baz\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Ping = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsPingArgs\n {\n IpVersion = \"Any\",\n PayloadSize = 20,\n DontFragment = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"ping\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"Ping Updated\"),\n\t\t\tTarget: pulumi.String(\"grafana.net\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Frankfurt),\n\t\t\t\tpulumi.Int(main.Probes.London),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"baz\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tPing: \u0026syntheticmonitoring.CheckSettingsPingArgs{\n\t\t\t\t\tIpVersion: pulumi.String(\"Any\"),\n\t\t\t\t\tPayloadSize: pulumi.Int(20),\n\t\t\t\t\tDontFragment: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsPingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var ping = new Check(\"ping\", CheckArgs.builder()\n .job(\"Ping Updated\")\n .target(\"grafana.net\")\n .enabled(false)\n .probes( \n main.applyValue(getProbesResult -\u003e getProbesResult.probes().frankfurt()),\n main.applyValue(getProbesResult -\u003e getProbesResult.probes().london()))\n .labels(Map.of(\"foo\", \"baz\"))\n .settings(CheckSettingsArgs.builder()\n .ping(CheckSettingsPingArgs.builder()\n .ipVersion(\"Any\")\n .payloadSize(20)\n .dontFragment(true)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ping:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: Ping Updated\n target: grafana.net\n enabled: false\n probes:\n - ${main.probes.frankfurt}\n - ${main.probes.london}\n labels:\n foo: baz\n settings:\n ping:\n ipVersion: Any\n payloadSize: 20\n dontFragment: true\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### TCP Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst tcp = new grafana.syntheticmonitoring.Check(\"tcp\", {\n job: \"TCP Defaults\",\n target: \"grafana.com:80\",\n enabled: false,\n probes: [main.then(main =\u003e main.probes?.atlanta)],\n labels: {\n foo: \"bar\",\n },\n settings: {\n tcp: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\ntcp = grafana.synthetic_monitoring.Check(\"tcp\",\n job=\"TCP Defaults\",\n target=\"grafana.com:80\",\n enabled=False,\n probes=[main.probes[\"atlanta\"]],\n labels={\n \"foo\": \"bar\",\n },\n settings={\n \"tcp\": {},\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var tcp = new Grafana.SyntheticMonitoring.Check(\"tcp\", new()\n {\n Job = \"TCP Defaults\",\n Target = \"grafana.com:80\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Atlanta),\n },\n Labels = \n {\n { \"foo\", \"bar\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Tcp = null,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"tcp\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"TCP Defaults\"),\n\t\t\tTarget: pulumi.String(\"grafana.com:80\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Atlanta),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tTcp: \u0026syntheticmonitoring.CheckSettingsTcpArgs{},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsTcpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var tcp = new Check(\"tcp\", CheckArgs.builder()\n .job(\"TCP Defaults\")\n .target(\"grafana.com:80\")\n .enabled(false)\n .probes(main.applyValue(getProbesResult -\u003e getProbesResult.probes().atlanta()))\n .labels(Map.of(\"foo\", \"bar\"))\n .settings(CheckSettingsArgs.builder()\n .tcp()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tcp:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: TCP Defaults\n target: grafana.com:80\n enabled: false\n probes:\n - ${main.probes.atlanta}\n labels:\n foo: bar\n settings:\n tcp: {}\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### TCP Complex\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst tcp = new grafana.syntheticmonitoring.Check(\"tcp\", {\n job: \"TCP Defaults\",\n target: \"grafana.com:443\",\n enabled: false,\n probes: [\n main.then(main =\u003e main.probes?.frankfurt),\n main.then(main =\u003e main.probes?.london),\n ],\n labels: {\n foo: \"baz\",\n },\n settings: {\n tcp: {\n ipVersion: \"V6\",\n tls: true,\n queryResponses: [\n {\n send: \"howdy\",\n expect: \"hi\",\n },\n {\n send: \"like this\",\n expect: \"like that\",\n startTls: true,\n },\n ],\n tlsConfig: {\n serverName: \"grafana.com\",\n caCert: `-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n`,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\ntcp = grafana.synthetic_monitoring.Check(\"tcp\",\n job=\"TCP Defaults\",\n target=\"grafana.com:443\",\n enabled=False,\n probes=[\n main.probes[\"frankfurt\"],\n main.probes[\"london\"],\n ],\n labels={\n \"foo\": \"baz\",\n },\n settings={\n \"tcp\": {\n \"ip_version\": \"V6\",\n \"tls\": True,\n \"query_responses\": [\n {\n \"send\": \"howdy\",\n \"expect\": \"hi\",\n },\n {\n \"send\": \"like this\",\n \"expect\": \"like that\",\n \"start_tls\": True,\n },\n ],\n \"tls_config\": {\n \"server_name\": \"grafana.com\",\n \"ca_cert\": \"\"\"-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n\"\"\",\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var tcp = new Grafana.SyntheticMonitoring.Check(\"tcp\", new()\n {\n Job = \"TCP Defaults\",\n Target = \"grafana.com:443\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Frankfurt),\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.London),\n },\n Labels = \n {\n { \"foo\", \"baz\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Tcp = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsTcpArgs\n {\n IpVersion = \"V6\",\n Tls = true,\n QueryResponses = new[]\n {\n new Grafana.SyntheticMonitoring.Inputs.CheckSettingsTcpQueryResponseArgs\n {\n Send = \"howdy\",\n Expect = \"hi\",\n },\n new Grafana.SyntheticMonitoring.Inputs.CheckSettingsTcpQueryResponseArgs\n {\n Send = \"like this\",\n Expect = \"like that\",\n StartTls = true,\n },\n },\n TlsConfig = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsTcpTlsConfigArgs\n {\n ServerName = \"grafana.com\",\n CaCert = @\"-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"tcp\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"TCP Defaults\"),\n\t\t\tTarget: pulumi.String(\"grafana.com:443\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Frankfurt),\n\t\t\t\tpulumi.Int(main.Probes.London),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"baz\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tTcp: \u0026syntheticmonitoring.CheckSettingsTcpArgs{\n\t\t\t\t\tIpVersion: pulumi.String(\"V6\"),\n\t\t\t\t\tTls: pulumi.Bool(true),\n\t\t\t\t\tQueryResponses: syntheticmonitoring.CheckSettingsTcpQueryResponseArray{\n\t\t\t\t\t\t\u0026syntheticmonitoring.CheckSettingsTcpQueryResponseArgs{\n\t\t\t\t\t\t\tSend: pulumi.String(\"howdy\"),\n\t\t\t\t\t\t\tExpect: pulumi.String(\"hi\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026syntheticmonitoring.CheckSettingsTcpQueryResponseArgs{\n\t\t\t\t\t\t\tSend: pulumi.String(\"like this\"),\n\t\t\t\t\t\t\tExpect: pulumi.String(\"like that\"),\n\t\t\t\t\t\t\tStartTls: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tTlsConfig: \u0026syntheticmonitoring.CheckSettingsTcpTlsConfigArgs{\n\t\t\t\t\t\tServerName: pulumi.String(\"grafana.com\"),\n\t\t\t\t\t\tCaCert: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n`),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsTcpArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsTcpTlsConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var tcp = new Check(\"tcp\", CheckArgs.builder()\n .job(\"TCP Defaults\")\n .target(\"grafana.com:443\")\n .enabled(false)\n .probes( \n main.applyValue(getProbesResult -\u003e getProbesResult.probes().frankfurt()),\n main.applyValue(getProbesResult -\u003e getProbesResult.probes().london()))\n .labels(Map.of(\"foo\", \"baz\"))\n .settings(CheckSettingsArgs.builder()\n .tcp(CheckSettingsTcpArgs.builder()\n .ipVersion(\"V6\")\n .tls(true)\n .queryResponses( \n CheckSettingsTcpQueryResponseArgs.builder()\n .send(\"howdy\")\n .expect(\"hi\")\n .build(),\n CheckSettingsTcpQueryResponseArgs.builder()\n .send(\"like this\")\n .expect(\"like that\")\n .startTls(true)\n .build())\n .tlsConfig(CheckSettingsTcpTlsConfigArgs.builder()\n .serverName(\"grafana.com\")\n .caCert(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n \"\"\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tcp:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: TCP Defaults\n target: grafana.com:443\n enabled: false\n probes:\n - ${main.probes.frankfurt}\n - ${main.probes.london}\n labels:\n foo: baz\n settings:\n tcp:\n ipVersion: V6\n tls: true\n queryResponses:\n - send: howdy\n expect: hi\n - send: like this\n expect: like that\n startTls: true\n tlsConfig:\n serverName: grafana.com\n caCert: |\n -----BEGIN CERTIFICATE-----\n MIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\n RTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\n MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n 0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\n h1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\n BN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\n iDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\n a+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\n FWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\n qq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\n FTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\n Z18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n 6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\n UV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\n yzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\n e2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\n XeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\n tqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\n QxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\n tf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\n prulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n 5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\n l3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n 7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\n vuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n -----END CERTIFICATE-----\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Traceroute Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst traceroute = new grafana.syntheticmonitoring.Check(\"traceroute\", {\n job: \"Traceroute defaults\",\n target: \"grafana.com\",\n enabled: false,\n frequency: 120000,\n timeout: 30000,\n probes: [main.then(main =\u003e main.probes?.atlanta)],\n labels: {\n foo: \"bar\",\n },\n settings: {\n traceroute: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\ntraceroute = grafana.synthetic_monitoring.Check(\"traceroute\",\n job=\"Traceroute defaults\",\n target=\"grafana.com\",\n enabled=False,\n frequency=120000,\n timeout=30000,\n probes=[main.probes[\"atlanta\"]],\n labels={\n \"foo\": \"bar\",\n },\n settings={\n \"traceroute\": {},\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var traceroute = new Grafana.SyntheticMonitoring.Check(\"traceroute\", new()\n {\n Job = \"Traceroute defaults\",\n Target = \"grafana.com\",\n Enabled = false,\n Frequency = 120000,\n Timeout = 30000,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Atlanta),\n },\n Labels = \n {\n { \"foo\", \"bar\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Traceroute = null,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"traceroute\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"Traceroute defaults\"),\n\t\t\tTarget: pulumi.String(\"grafana.com\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tFrequency: pulumi.Int(120000),\n\t\t\tTimeout: pulumi.Int(30000),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Atlanta),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tTraceroute: \u0026syntheticmonitoring.CheckSettingsTracerouteArgs{},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsTracerouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var traceroute = new Check(\"traceroute\", CheckArgs.builder()\n .job(\"Traceroute defaults\")\n .target(\"grafana.com\")\n .enabled(false)\n .frequency(120000)\n .timeout(30000)\n .probes(main.applyValue(getProbesResult -\u003e getProbesResult.probes().atlanta()))\n .labels(Map.of(\"foo\", \"bar\"))\n .settings(CheckSettingsArgs.builder()\n .traceroute()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n traceroute:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: Traceroute defaults\n target: grafana.com\n enabled: false\n frequency: 120000\n timeout: 30000\n probes:\n - ${main.probes.atlanta}\n labels:\n foo: bar\n settings:\n traceroute: {}\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Traceroute Complex\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst traceroute = new grafana.syntheticmonitoring.Check(\"traceroute\", {\n job: \"Traceroute complex\",\n target: \"grafana.net\",\n enabled: false,\n frequency: 120000,\n timeout: 30000,\n probes: [\n main.then(main =\u003e main.probes?.frankfurt),\n main.then(main =\u003e main.probes?.london),\n ],\n labels: {\n foo: \"baz\",\n },\n settings: {\n traceroute: {\n maxHops: 25,\n maxUnknownHops: 10,\n ptrLookup: false,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\ntraceroute = grafana.synthetic_monitoring.Check(\"traceroute\",\n job=\"Traceroute complex\",\n target=\"grafana.net\",\n enabled=False,\n frequency=120000,\n timeout=30000,\n probes=[\n main.probes[\"frankfurt\"],\n main.probes[\"london\"],\n ],\n labels={\n \"foo\": \"baz\",\n },\n settings={\n \"traceroute\": {\n \"max_hops\": 25,\n \"max_unknown_hops\": 10,\n \"ptr_lookup\": False,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var traceroute = new Grafana.SyntheticMonitoring.Check(\"traceroute\", new()\n {\n Job = \"Traceroute complex\",\n Target = \"grafana.net\",\n Enabled = false,\n Frequency = 120000,\n Timeout = 30000,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Frankfurt),\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.London),\n },\n Labels = \n {\n { \"foo\", \"baz\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Traceroute = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsTracerouteArgs\n {\n MaxHops = 25,\n MaxUnknownHops = 10,\n PtrLookup = false,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"traceroute\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"Traceroute complex\"),\n\t\t\tTarget: pulumi.String(\"grafana.net\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tFrequency: pulumi.Int(120000),\n\t\t\tTimeout: pulumi.Int(30000),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Frankfurt),\n\t\t\t\tpulumi.Int(main.Probes.London),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"baz\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tTraceroute: \u0026syntheticmonitoring.CheckSettingsTracerouteArgs{\n\t\t\t\t\tMaxHops: pulumi.Int(25),\n\t\t\t\t\tMaxUnknownHops: pulumi.Int(10),\n\t\t\t\t\tPtrLookup: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsTracerouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var traceroute = new Check(\"traceroute\", CheckArgs.builder()\n .job(\"Traceroute complex\")\n .target(\"grafana.net\")\n .enabled(false)\n .frequency(120000)\n .timeout(30000)\n .probes( \n main.applyValue(getProbesResult -\u003e getProbesResult.probes().frankfurt()),\n main.applyValue(getProbesResult -\u003e getProbesResult.probes().london()))\n .labels(Map.of(\"foo\", \"baz\"))\n .settings(CheckSettingsArgs.builder()\n .traceroute(CheckSettingsTracerouteArgs.builder()\n .maxHops(25)\n .maxUnknownHops(10)\n .ptrLookup(false)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n traceroute:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: Traceroute complex\n target: grafana.net\n enabled: false\n frequency: 120000\n timeout: 30000\n probes:\n - ${main.probes.frankfurt}\n - ${main.probes.london}\n labels:\n foo: baz\n settings:\n traceroute:\n maxHops: 25\n maxUnknownHops: 10\n ptrLookup: false\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import grafana:syntheticMonitoring/check:Check name \"{{ id }}\"\n```\n\n",
+ "description": "Synthetic Monitoring checks are tests that run on selected probes at defined\nintervals and report metrics and logs back to your Grafana Cloud account. The\ntarget for checks can be a domain name, a server, or a website, depending on\nwhat information you would like to gather about your endpoint. You can define\nmultiple checks for a single endpoint to check different capabilities.\n\n* [Official documentation](https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/checks/)\n\n## Example Usage\n\n### DNS Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst dns = new grafana.syntheticmonitoring.Check(\"dns\", {\n job: \"DNS Defaults\",\n target: \"grafana.com\",\n enabled: false,\n probes: [main.then(main =\u003e main.probes?.ohio)],\n labels: {\n foo: \"bar\",\n },\n settings: {\n dns: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\ndns = grafana.synthetic_monitoring.Check(\"dns\",\n job=\"DNS Defaults\",\n target=\"grafana.com\",\n enabled=False,\n probes=[main.probes[\"ohio\"]],\n labels={\n \"foo\": \"bar\",\n },\n settings={\n \"dns\": {},\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var dns = new Grafana.SyntheticMonitoring.Check(\"dns\", new()\n {\n Job = \"DNS Defaults\",\n Target = \"grafana.com\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Ohio),\n },\n Labels = \n {\n { \"foo\", \"bar\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Dns = null,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"dns\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"DNS Defaults\"),\n\t\t\tTarget: pulumi.String(\"grafana.com\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Ohio),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tDns: \u0026syntheticmonitoring.CheckSettingsDnsArgs{},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsDnsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var dns = new Check(\"dns\", CheckArgs.builder()\n .job(\"DNS Defaults\")\n .target(\"grafana.com\")\n .enabled(false)\n .probes(main.applyValue(getProbesResult -\u003e getProbesResult.probes().ohio()))\n .labels(Map.of(\"foo\", \"bar\"))\n .settings(CheckSettingsArgs.builder()\n .dns()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dns:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: DNS Defaults\n target: grafana.com\n enabled: false\n probes:\n - ${main.probes.ohio}\n labels:\n foo: bar\n settings:\n dns: {}\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### DNS Complex\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst dns = new grafana.syntheticmonitoring.Check(\"dns\", {\n job: \"DNS Updated\",\n target: \"grafana.net\",\n enabled: false,\n probes: [\n main.then(main =\u003e main.probes?.frankfurt),\n main.then(main =\u003e main.probes?.london),\n ],\n labels: {\n foo: \"baz\",\n },\n settings: {\n dns: {\n ipVersion: \"Any\",\n server: \"8.8.4.4\",\n port: 8600,\n recordType: \"CNAME\",\n protocol: \"TCP\",\n validRCodes: [\n \"NOERROR\",\n \"NOTAUTH\",\n ],\n validateAnswerRrs: {\n failIfMatchesRegexps: [\".+-bad-stuff*\"],\n failIfNotMatchesRegexps: [\".+-good-stuff*\"],\n },\n validateAuthorityRrs: {\n failIfMatchesRegexps: [\".+-bad-stuff*\"],\n failIfNotMatchesRegexps: [\".+-good-stuff*\"],\n },\n validateAdditionalRrs: [{\n failIfMatchesRegexps: [\".+-bad-stuff*\"],\n failIfNotMatchesRegexps: [\".+-good-stuff*\"],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\ndns = grafana.synthetic_monitoring.Check(\"dns\",\n job=\"DNS Updated\",\n target=\"grafana.net\",\n enabled=False,\n probes=[\n main.probes[\"frankfurt\"],\n main.probes[\"london\"],\n ],\n labels={\n \"foo\": \"baz\",\n },\n settings={\n \"dns\": {\n \"ip_version\": \"Any\",\n \"server\": \"8.8.4.4\",\n \"port\": 8600,\n \"record_type\": \"CNAME\",\n \"protocol\": \"TCP\",\n \"valid_r_codes\": [\n \"NOERROR\",\n \"NOTAUTH\",\n ],\n \"validate_answer_rrs\": {\n \"fail_if_matches_regexps\": [\".+-bad-stuff*\"],\n \"fail_if_not_matches_regexps\": [\".+-good-stuff*\"],\n },\n \"validate_authority_rrs\": {\n \"fail_if_matches_regexps\": [\".+-bad-stuff*\"],\n \"fail_if_not_matches_regexps\": [\".+-good-stuff*\"],\n },\n \"validate_additional_rrs\": [{\n \"fail_if_matches_regexps\": [\".+-bad-stuff*\"],\n \"fail_if_not_matches_regexps\": [\".+-good-stuff*\"],\n }],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var dns = new Grafana.SyntheticMonitoring.Check(\"dns\", new()\n {\n Job = \"DNS Updated\",\n Target = \"grafana.net\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Frankfurt),\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.London),\n },\n Labels = \n {\n { \"foo\", \"baz\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Dns = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsDnsArgs\n {\n IpVersion = \"Any\",\n Server = \"8.8.4.4\",\n Port = 8600,\n RecordType = \"CNAME\",\n Protocol = \"TCP\",\n ValidRCodes = new[]\n {\n \"NOERROR\",\n \"NOTAUTH\",\n },\n ValidateAnswerRrs = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsDnsValidateAnswerRrsArgs\n {\n FailIfMatchesRegexps = new[]\n {\n \".+-bad-stuff*\",\n },\n FailIfNotMatchesRegexps = new[]\n {\n \".+-good-stuff*\",\n },\n },\n ValidateAuthorityRrs = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsDnsValidateAuthorityRrsArgs\n {\n FailIfMatchesRegexps = new[]\n {\n \".+-bad-stuff*\",\n },\n FailIfNotMatchesRegexps = new[]\n {\n \".+-good-stuff*\",\n },\n },\n ValidateAdditionalRrs = new[]\n {\n new Grafana.SyntheticMonitoring.Inputs.CheckSettingsDnsValidateAdditionalRrArgs\n {\n FailIfMatchesRegexps = new[]\n {\n \".+-bad-stuff*\",\n },\n FailIfNotMatchesRegexps = new[]\n {\n \".+-good-stuff*\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"dns\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"DNS Updated\"),\n\t\t\tTarget: pulumi.String(\"grafana.net\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Frankfurt),\n\t\t\t\tpulumi.Int(main.Probes.London),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"baz\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tDns: \u0026syntheticmonitoring.CheckSettingsDnsArgs{\n\t\t\t\t\tIpVersion: pulumi.String(\"Any\"),\n\t\t\t\t\tServer: pulumi.String(\"8.8.4.4\"),\n\t\t\t\t\tPort: pulumi.Int(8600),\n\t\t\t\t\tRecordType: pulumi.String(\"CNAME\"),\n\t\t\t\t\tProtocol: pulumi.String(\"TCP\"),\n\t\t\t\t\tValidRCodes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"NOERROR\"),\n\t\t\t\t\t\tpulumi.String(\"NOTAUTH\"),\n\t\t\t\t\t},\n\t\t\t\t\tValidateAnswerRrs: \u0026syntheticmonitoring.CheckSettingsDnsValidateAnswerRrsArgs{\n\t\t\t\t\t\tFailIfMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\".+-bad-stuff*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tFailIfNotMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\".+-good-stuff*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tValidateAuthorityRrs: \u0026syntheticmonitoring.CheckSettingsDnsValidateAuthorityRrsArgs{\n\t\t\t\t\t\tFailIfMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\".+-bad-stuff*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tFailIfNotMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\".+-good-stuff*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tValidateAdditionalRrs: syntheticmonitoring.CheckSettingsDnsValidateAdditionalRrArray{\n\t\t\t\t\t\t\u0026syntheticmonitoring.CheckSettingsDnsValidateAdditionalRrArgs{\n\t\t\t\t\t\t\tFailIfMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\".+-bad-stuff*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tFailIfNotMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\".+-good-stuff*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsDnsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsDnsValidateAnswerRrsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsDnsValidateAuthorityRrsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var dns = new Check(\"dns\", CheckArgs.builder()\n .job(\"DNS Updated\")\n .target(\"grafana.net\")\n .enabled(false)\n .probes( \n main.applyValue(getProbesResult -\u003e getProbesResult.probes().frankfurt()),\n main.applyValue(getProbesResult -\u003e getProbesResult.probes().london()))\n .labels(Map.of(\"foo\", \"baz\"))\n .settings(CheckSettingsArgs.builder()\n .dns(CheckSettingsDnsArgs.builder()\n .ipVersion(\"Any\")\n .server(\"8.8.4.4\")\n .port(8600)\n .recordType(\"CNAME\")\n .protocol(\"TCP\")\n .validRCodes( \n \"NOERROR\",\n \"NOTAUTH\")\n .validateAnswerRrs(CheckSettingsDnsValidateAnswerRrsArgs.builder()\n .failIfMatchesRegexps(\".+-bad-stuff*\")\n .failIfNotMatchesRegexps(\".+-good-stuff*\")\n .build())\n .validateAuthorityRrs(CheckSettingsDnsValidateAuthorityRrsArgs.builder()\n .failIfMatchesRegexps(\".+-bad-stuff*\")\n .failIfNotMatchesRegexps(\".+-good-stuff*\")\n .build())\n .validateAdditionalRrs(CheckSettingsDnsValidateAdditionalRrArgs.builder()\n .failIfMatchesRegexps(\".+-bad-stuff*\")\n .failIfNotMatchesRegexps(\".+-good-stuff*\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dns:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: DNS Updated\n target: grafana.net\n enabled: false\n probes:\n - ${main.probes.frankfurt}\n - ${main.probes.london}\n labels:\n foo: baz\n settings:\n dns:\n ipVersion: Any\n server: 8.8.4.4\n port: 8600\n recordType: CNAME\n protocol: TCP\n validRCodes:\n - NOERROR\n - NOTAUTH\n validateAnswerRrs:\n failIfMatchesRegexps:\n - .+-bad-stuff*\n failIfNotMatchesRegexps:\n - .+-good-stuff*\n validateAuthorityRrs:\n failIfMatchesRegexps:\n - .+-bad-stuff*\n failIfNotMatchesRegexps:\n - .+-good-stuff*\n validateAdditionalRrs:\n - failIfMatchesRegexps:\n - .+-bad-stuff*\n failIfNotMatchesRegexps:\n - .+-good-stuff*\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### HTTP Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst http = new grafana.syntheticmonitoring.Check(\"http\", {\n job: \"HTTP Defaults\",\n target: \"https://grafana.com\",\n enabled: false,\n probes: [main.then(main =\u003e main.probes?.ohio)],\n labels: {\n foo: \"bar\",\n },\n settings: {\n http: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\nhttp = grafana.synthetic_monitoring.Check(\"http\",\n job=\"HTTP Defaults\",\n target=\"https://grafana.com\",\n enabled=False,\n probes=[main.probes[\"ohio\"]],\n labels={\n \"foo\": \"bar\",\n },\n settings={\n \"http\": {},\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var http = new Grafana.SyntheticMonitoring.Check(\"http\", new()\n {\n Job = \"HTTP Defaults\",\n Target = \"https://grafana.com\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Ohio),\n },\n Labels = \n {\n { \"foo\", \"bar\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Http = null,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"http\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"HTTP Defaults\"),\n\t\t\tTarget: pulumi.String(\"https://grafana.com\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Ohio),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tHttp: \u0026syntheticmonitoring.CheckSettingsHttpArgs{},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsHttpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var http = new Check(\"http\", CheckArgs.builder()\n .job(\"HTTP Defaults\")\n .target(\"https://grafana.com\")\n .enabled(false)\n .probes(main.applyValue(getProbesResult -\u003e getProbesResult.probes().ohio()))\n .labels(Map.of(\"foo\", \"bar\"))\n .settings(CheckSettingsArgs.builder()\n .http()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n http:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: HTTP Defaults\n target: https://grafana.com\n enabled: false\n probes:\n - ${main.probes.ohio}\n labels:\n foo: bar\n settings:\n http: {}\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### HTTP Complex\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst http = new grafana.syntheticmonitoring.Check(\"http\", {\n job: \"HTTP Defaults\",\n target: \"https://grafana.org\",\n enabled: false,\n probes: [\n main.then(main =\u003e main.probes?.mumbai),\n main.then(main =\u003e main.probes?.mumbai),\n ],\n labels: {\n foo: \"bar\",\n },\n settings: {\n http: {\n ipVersion: \"V6\",\n method: \"TRACE\",\n body: \"and spirit\",\n noFollowRedirects: true,\n bearerToken: \"asdfjkl;\",\n proxyUrl: \"https://almost-there\",\n failIfSsl: true,\n failIfNotSsl: true,\n compression: \"deflate\",\n cacheBustingQueryParamName: \"pineapple\",\n tlsConfig: {\n serverName: \"grafana.org\",\n clientCert: `-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n`,\n },\n headers: [\"Content-Type: multipart/form-data; boundary=something\"],\n basicAuth: {\n username: \"open\",\n password: \"sesame\",\n },\n validStatusCodes: [\n 200,\n 201,\n ],\n validHttpVersions: [\n \"HTTP/1.0\",\n \"HTTP/1.1\",\n \"HTTP/2.0\",\n ],\n failIfBodyMatchesRegexps: [\".*bad stuff.*\"],\n failIfBodyNotMatchesRegexps: [\".*good stuff.*\"],\n failIfHeaderMatchesRegexps: [{\n header: \"Content-Type\",\n regexp: \"application/soap*\",\n allowMissing: true,\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\nhttp = grafana.synthetic_monitoring.Check(\"http\",\n job=\"HTTP Defaults\",\n target=\"https://grafana.org\",\n enabled=False,\n probes=[\n main.probes[\"mumbai\"],\n main.probes[\"mumbai\"],\n ],\n labels={\n \"foo\": \"bar\",\n },\n settings={\n \"http\": {\n \"ip_version\": \"V6\",\n \"method\": \"TRACE\",\n \"body\": \"and spirit\",\n \"no_follow_redirects\": True,\n \"bearer_token\": \"asdfjkl;\",\n \"proxy_url\": \"https://almost-there\",\n \"fail_if_ssl\": True,\n \"fail_if_not_ssl\": True,\n \"compression\": \"deflate\",\n \"cache_busting_query_param_name\": \"pineapple\",\n \"tls_config\": {\n \"server_name\": \"grafana.org\",\n \"client_cert\": \"\"\"-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n\"\"\",\n },\n \"headers\": [\"Content-Type: multipart/form-data; boundary=something\"],\n \"basic_auth\": {\n \"username\": \"open\",\n \"password\": \"sesame\",\n },\n \"valid_status_codes\": [\n 200,\n 201,\n ],\n \"valid_http_versions\": [\n \"HTTP/1.0\",\n \"HTTP/1.1\",\n \"HTTP/2.0\",\n ],\n \"fail_if_body_matches_regexps\": [\".*bad stuff.*\"],\n \"fail_if_body_not_matches_regexps\": [\".*good stuff.*\"],\n \"fail_if_header_matches_regexps\": [{\n \"header\": \"Content-Type\",\n \"regexp\": \"application/soap*\",\n \"allow_missing\": True,\n }],\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var http = new Grafana.SyntheticMonitoring.Check(\"http\", new()\n {\n Job = \"HTTP Defaults\",\n Target = \"https://grafana.org\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Mumbai),\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Mumbai),\n },\n Labels = \n {\n { \"foo\", \"bar\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Http = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsHttpArgs\n {\n IpVersion = \"V6\",\n Method = \"TRACE\",\n Body = \"and spirit\",\n NoFollowRedirects = true,\n BearerToken = \"asdfjkl;\",\n ProxyUrl = \"https://almost-there\",\n FailIfSsl = true,\n FailIfNotSsl = true,\n Compression = \"deflate\",\n CacheBustingQueryParamName = \"pineapple\",\n TlsConfig = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsHttpTlsConfigArgs\n {\n ServerName = \"grafana.org\",\n ClientCert = @\"-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n\",\n },\n Headers = new[]\n {\n \"Content-Type: multipart/form-data; boundary=something\",\n },\n BasicAuth = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsHttpBasicAuthArgs\n {\n Username = \"open\",\n Password = \"sesame\",\n },\n ValidStatusCodes = new[]\n {\n 200,\n 201,\n },\n ValidHttpVersions = new[]\n {\n \"HTTP/1.0\",\n \"HTTP/1.1\",\n \"HTTP/2.0\",\n },\n FailIfBodyMatchesRegexps = new[]\n {\n \".*bad stuff.*\",\n },\n FailIfBodyNotMatchesRegexps = new[]\n {\n \".*good stuff.*\",\n },\n FailIfHeaderMatchesRegexps = new[]\n {\n new Grafana.SyntheticMonitoring.Inputs.CheckSettingsHttpFailIfHeaderMatchesRegexpArgs\n {\n Header = \"Content-Type\",\n Regexp = \"application/soap*\",\n AllowMissing = true,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"http\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"HTTP Defaults\"),\n\t\t\tTarget: pulumi.String(\"https://grafana.org\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Mumbai),\n\t\t\t\tpulumi.Int(main.Probes.Mumbai),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tHttp: \u0026syntheticmonitoring.CheckSettingsHttpArgs{\n\t\t\t\t\tIpVersion: pulumi.String(\"V6\"),\n\t\t\t\t\tMethod: pulumi.String(\"TRACE\"),\n\t\t\t\t\tBody: pulumi.String(\"and spirit\"),\n\t\t\t\t\tNoFollowRedirects: pulumi.Bool(true),\n\t\t\t\t\tBearerToken: pulumi.String(\"asdfjkl;\"),\n\t\t\t\t\tProxyUrl: pulumi.String(\"https://almost-there\"),\n\t\t\t\t\tFailIfSsl: pulumi.Bool(true),\n\t\t\t\t\tFailIfNotSsl: pulumi.Bool(true),\n\t\t\t\t\tCompression: pulumi.String(\"deflate\"),\n\t\t\t\t\tCacheBustingQueryParamName: pulumi.String(\"pineapple\"),\n\t\t\t\t\tTlsConfig: \u0026syntheticmonitoring.CheckSettingsHttpTlsConfigArgs{\n\t\t\t\t\t\tServerName: pulumi.String(\"grafana.org\"),\n\t\t\t\t\t\tClientCert: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n`),\n\t\t\t\t\t},\n\t\t\t\t\tHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Content-Type: multipart/form-data; boundary=something\"),\n\t\t\t\t\t},\n\t\t\t\t\tBasicAuth: \u0026syntheticmonitoring.CheckSettingsHttpBasicAuthArgs{\n\t\t\t\t\t\tUsername: pulumi.String(\"open\"),\n\t\t\t\t\t\tPassword: pulumi.String(\"sesame\"),\n\t\t\t\t\t},\n\t\t\t\t\tValidStatusCodes: pulumi.IntArray{\n\t\t\t\t\t\tpulumi.Int(200),\n\t\t\t\t\t\tpulumi.Int(201),\n\t\t\t\t\t},\n\t\t\t\t\tValidHttpVersions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"HTTP/1.0\"),\n\t\t\t\t\t\tpulumi.String(\"HTTP/1.1\"),\n\t\t\t\t\t\tpulumi.String(\"HTTP/2.0\"),\n\t\t\t\t\t},\n\t\t\t\t\tFailIfBodyMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\".*bad stuff.*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFailIfBodyNotMatchesRegexps: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\".*good stuff.*\"),\n\t\t\t\t\t},\n\t\t\t\t\tFailIfHeaderMatchesRegexps: syntheticmonitoring.CheckSettingsHttpFailIfHeaderMatchesRegexpArray{\n\t\t\t\t\t\t\u0026syntheticmonitoring.CheckSettingsHttpFailIfHeaderMatchesRegexpArgs{\n\t\t\t\t\t\t\tHeader: pulumi.String(\"Content-Type\"),\n\t\t\t\t\t\t\tRegexp: pulumi.String(\"application/soap*\"),\n\t\t\t\t\t\t\tAllowMissing: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsHttpArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsHttpTlsConfigArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsHttpBasicAuthArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var http = new Check(\"http\", CheckArgs.builder()\n .job(\"HTTP Defaults\")\n .target(\"https://grafana.org\")\n .enabled(false)\n .probes( \n main.applyValue(getProbesResult -\u003e getProbesResult.probes().mumbai()),\n main.applyValue(getProbesResult -\u003e getProbesResult.probes().mumbai()))\n .labels(Map.of(\"foo\", \"bar\"))\n .settings(CheckSettingsArgs.builder()\n .http(CheckSettingsHttpArgs.builder()\n .ipVersion(\"V6\")\n .method(\"TRACE\")\n .body(\"and spirit\")\n .noFollowRedirects(true)\n .bearerToken(\"asdfjkl;\")\n .proxyUrl(\"https://almost-there\")\n .failIfSsl(true)\n .failIfNotSsl(true)\n .compression(\"deflate\")\n .cacheBustingQueryParamName(\"pineapple\")\n .tlsConfig(CheckSettingsHttpTlsConfigArgs.builder()\n .serverName(\"grafana.org\")\n .clientCert(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n \"\"\")\n .build())\n .headers(\"Content-Type: multipart/form-data; boundary=something\")\n .basicAuth(CheckSettingsHttpBasicAuthArgs.builder()\n .username(\"open\")\n .password(\"sesame\")\n .build())\n .validStatusCodes( \n 200,\n 201)\n .validHttpVersions( \n \"HTTP/1.0\",\n \"HTTP/1.1\",\n \"HTTP/2.0\")\n .failIfBodyMatchesRegexps(\".*bad stuff.*\")\n .failIfBodyNotMatchesRegexps(\".*good stuff.*\")\n .failIfHeaderMatchesRegexps(CheckSettingsHttpFailIfHeaderMatchesRegexpArgs.builder()\n .header(\"Content-Type\")\n .regexp(\"application/soap*\")\n .allowMissing(true)\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n http:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: HTTP Defaults\n target: https://grafana.org\n enabled: false\n probes:\n - ${main.probes.mumbai}\n - ${main.probes.mumbai}\n labels:\n foo: bar\n settings:\n http:\n ipVersion: V6\n method: TRACE\n body: and spirit\n noFollowRedirects: true\n bearerToken: asdfjkl;\n proxyUrl: https://almost-there\n failIfSsl: true\n failIfNotSsl: true\n compression: deflate\n cacheBustingQueryParamName: pineapple\n tlsConfig:\n serverName: grafana.org\n clientCert: |\n -----BEGIN CERTIFICATE-----\n MIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\n RTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\n MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n 0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\n h1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\n BN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\n iDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\n a+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\n FWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\n qq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\n FTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\n Z18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n 6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\n UV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\n yzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\n e2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\n XeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\n tqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\n QxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\n tf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\n prulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n 5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\n l3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n 7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\n vuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n -----END CERTIFICATE-----\n headers:\n - 'Content-Type: multipart/form-data; boundary=something'\n basicAuth:\n username: open\n password: sesame\n validStatusCodes:\n - 200\n - 201\n validHttpVersions:\n - HTTP/1.0\n - HTTP/1.1\n - HTTP/2.0\n failIfBodyMatchesRegexps:\n - .*bad stuff.*\n failIfBodyNotMatchesRegexps:\n - .*good stuff.*\n failIfHeaderMatchesRegexps:\n - header: Content-Type\n regexp: application/soap*\n allowMissing: true\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Ping Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst ping = new grafana.syntheticmonitoring.Check(\"ping\", {\n job: \"Ping Defaults\",\n target: \"grafana.com\",\n enabled: false,\n probes: [main.then(main =\u003e main.probes?.ohio)],\n labels: {\n foo: \"bar\",\n },\n settings: {\n ping: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\nping = grafana.synthetic_monitoring.Check(\"ping\",\n job=\"Ping Defaults\",\n target=\"grafana.com\",\n enabled=False,\n probes=[main.probes[\"ohio\"]],\n labels={\n \"foo\": \"bar\",\n },\n settings={\n \"ping\": {},\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var ping = new Grafana.SyntheticMonitoring.Check(\"ping\", new()\n {\n Job = \"Ping Defaults\",\n Target = \"grafana.com\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Ohio),\n },\n Labels = \n {\n { \"foo\", \"bar\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Ping = null,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"ping\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"Ping Defaults\"),\n\t\t\tTarget: pulumi.String(\"grafana.com\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Ohio),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tPing: \u0026syntheticmonitoring.CheckSettingsPingArgs{},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsPingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var ping = new Check(\"ping\", CheckArgs.builder()\n .job(\"Ping Defaults\")\n .target(\"grafana.com\")\n .enabled(false)\n .probes(main.applyValue(getProbesResult -\u003e getProbesResult.probes().ohio()))\n .labels(Map.of(\"foo\", \"bar\"))\n .settings(CheckSettingsArgs.builder()\n .ping()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ping:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: Ping Defaults\n target: grafana.com\n enabled: false\n probes:\n - ${main.probes.ohio}\n labels:\n foo: bar\n settings:\n ping: {}\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Ping Complex\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst ping = new grafana.syntheticmonitoring.Check(\"ping\", {\n job: \"Ping Updated\",\n target: \"grafana.net\",\n enabled: false,\n probes: [\n main.then(main =\u003e main.probes?.frankfurt),\n main.then(main =\u003e main.probes?.london),\n ],\n labels: {\n foo: \"baz\",\n },\n settings: {\n ping: {\n ipVersion: \"Any\",\n payloadSize: 20,\n dontFragment: true,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\nping = grafana.synthetic_monitoring.Check(\"ping\",\n job=\"Ping Updated\",\n target=\"grafana.net\",\n enabled=False,\n probes=[\n main.probes[\"frankfurt\"],\n main.probes[\"london\"],\n ],\n labels={\n \"foo\": \"baz\",\n },\n settings={\n \"ping\": {\n \"ip_version\": \"Any\",\n \"payload_size\": 20,\n \"dont_fragment\": True,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var ping = new Grafana.SyntheticMonitoring.Check(\"ping\", new()\n {\n Job = \"Ping Updated\",\n Target = \"grafana.net\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Frankfurt),\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.London),\n },\n Labels = \n {\n { \"foo\", \"baz\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Ping = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsPingArgs\n {\n IpVersion = \"Any\",\n PayloadSize = 20,\n DontFragment = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"ping\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"Ping Updated\"),\n\t\t\tTarget: pulumi.String(\"grafana.net\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Frankfurt),\n\t\t\t\tpulumi.Int(main.Probes.London),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"baz\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tPing: \u0026syntheticmonitoring.CheckSettingsPingArgs{\n\t\t\t\t\tIpVersion: pulumi.String(\"Any\"),\n\t\t\t\t\tPayloadSize: pulumi.Int(20),\n\t\t\t\t\tDontFragment: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsPingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var ping = new Check(\"ping\", CheckArgs.builder()\n .job(\"Ping Updated\")\n .target(\"grafana.net\")\n .enabled(false)\n .probes( \n main.applyValue(getProbesResult -\u003e getProbesResult.probes().frankfurt()),\n main.applyValue(getProbesResult -\u003e getProbesResult.probes().london()))\n .labels(Map.of(\"foo\", \"baz\"))\n .settings(CheckSettingsArgs.builder()\n .ping(CheckSettingsPingArgs.builder()\n .ipVersion(\"Any\")\n .payloadSize(20)\n .dontFragment(true)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ping:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: Ping Updated\n target: grafana.net\n enabled: false\n probes:\n - ${main.probes.frankfurt}\n - ${main.probes.london}\n labels:\n foo: baz\n settings:\n ping:\n ipVersion: Any\n payloadSize: 20\n dontFragment: true\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### TCP Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst tcp = new grafana.syntheticmonitoring.Check(\"tcp\", {\n job: \"TCP Defaults\",\n target: \"grafana.com:80\",\n enabled: false,\n probes: [main.then(main =\u003e main.probes?.ohio)],\n labels: {\n foo: \"bar\",\n },\n settings: {\n tcp: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\ntcp = grafana.synthetic_monitoring.Check(\"tcp\",\n job=\"TCP Defaults\",\n target=\"grafana.com:80\",\n enabled=False,\n probes=[main.probes[\"ohio\"]],\n labels={\n \"foo\": \"bar\",\n },\n settings={\n \"tcp\": {},\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var tcp = new Grafana.SyntheticMonitoring.Check(\"tcp\", new()\n {\n Job = \"TCP Defaults\",\n Target = \"grafana.com:80\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Ohio),\n },\n Labels = \n {\n { \"foo\", \"bar\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Tcp = null,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"tcp\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"TCP Defaults\"),\n\t\t\tTarget: pulumi.String(\"grafana.com:80\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Ohio),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tTcp: \u0026syntheticmonitoring.CheckSettingsTcpArgs{},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsTcpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var tcp = new Check(\"tcp\", CheckArgs.builder()\n .job(\"TCP Defaults\")\n .target(\"grafana.com:80\")\n .enabled(false)\n .probes(main.applyValue(getProbesResult -\u003e getProbesResult.probes().ohio()))\n .labels(Map.of(\"foo\", \"bar\"))\n .settings(CheckSettingsArgs.builder()\n .tcp()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tcp:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: TCP Defaults\n target: grafana.com:80\n enabled: false\n probes:\n - ${main.probes.ohio}\n labels:\n foo: bar\n settings:\n tcp: {}\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### TCP Complex\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst tcp = new grafana.syntheticmonitoring.Check(\"tcp\", {\n job: \"TCP Defaults\",\n target: \"grafana.com:443\",\n enabled: false,\n probes: [\n main.then(main =\u003e main.probes?.frankfurt),\n main.then(main =\u003e main.probes?.london),\n ],\n labels: {\n foo: \"baz\",\n },\n settings: {\n tcp: {\n ipVersion: \"V6\",\n tls: true,\n queryResponses: [\n {\n send: \"howdy\",\n expect: \"hi\",\n },\n {\n send: \"like this\",\n expect: \"like that\",\n startTls: true,\n },\n ],\n tlsConfig: {\n serverName: \"grafana.com\",\n caCert: `-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n`,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\ntcp = grafana.synthetic_monitoring.Check(\"tcp\",\n job=\"TCP Defaults\",\n target=\"grafana.com:443\",\n enabled=False,\n probes=[\n main.probes[\"frankfurt\"],\n main.probes[\"london\"],\n ],\n labels={\n \"foo\": \"baz\",\n },\n settings={\n \"tcp\": {\n \"ip_version\": \"V6\",\n \"tls\": True,\n \"query_responses\": [\n {\n \"send\": \"howdy\",\n \"expect\": \"hi\",\n },\n {\n \"send\": \"like this\",\n \"expect\": \"like that\",\n \"start_tls\": True,\n },\n ],\n \"tls_config\": {\n \"server_name\": \"grafana.com\",\n \"ca_cert\": \"\"\"-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n\"\"\",\n },\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var tcp = new Grafana.SyntheticMonitoring.Check(\"tcp\", new()\n {\n Job = \"TCP Defaults\",\n Target = \"grafana.com:443\",\n Enabled = false,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Frankfurt),\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.London),\n },\n Labels = \n {\n { \"foo\", \"baz\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Tcp = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsTcpArgs\n {\n IpVersion = \"V6\",\n Tls = true,\n QueryResponses = new[]\n {\n new Grafana.SyntheticMonitoring.Inputs.CheckSettingsTcpQueryResponseArgs\n {\n Send = \"howdy\",\n Expect = \"hi\",\n },\n new Grafana.SyntheticMonitoring.Inputs.CheckSettingsTcpQueryResponseArgs\n {\n Send = \"like this\",\n Expect = \"like that\",\n StartTls = true,\n },\n },\n TlsConfig = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsTcpTlsConfigArgs\n {\n ServerName = \"grafana.com\",\n CaCert = @\"-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"tcp\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"TCP Defaults\"),\n\t\t\tTarget: pulumi.String(\"grafana.com:443\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Frankfurt),\n\t\t\t\tpulumi.Int(main.Probes.London),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"baz\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tTcp: \u0026syntheticmonitoring.CheckSettingsTcpArgs{\n\t\t\t\t\tIpVersion: pulumi.String(\"V6\"),\n\t\t\t\t\tTls: pulumi.Bool(true),\n\t\t\t\t\tQueryResponses: syntheticmonitoring.CheckSettingsTcpQueryResponseArray{\n\t\t\t\t\t\t\u0026syntheticmonitoring.CheckSettingsTcpQueryResponseArgs{\n\t\t\t\t\t\t\tSend: pulumi.String(\"howdy\"),\n\t\t\t\t\t\t\tExpect: pulumi.String(\"hi\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026syntheticmonitoring.CheckSettingsTcpQueryResponseArgs{\n\t\t\t\t\t\t\tSend: pulumi.String(\"like this\"),\n\t\t\t\t\t\t\tExpect: pulumi.String(\"like that\"),\n\t\t\t\t\t\t\tStartTls: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tTlsConfig: \u0026syntheticmonitoring.CheckSettingsTcpTlsConfigArgs{\n\t\t\t\t\t\tServerName: pulumi.String(\"grafana.com\"),\n\t\t\t\t\t\tCaCert: pulumi.String(`-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n`),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsTcpArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsTcpTlsConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var tcp = new Check(\"tcp\", CheckArgs.builder()\n .job(\"TCP Defaults\")\n .target(\"grafana.com:443\")\n .enabled(false)\n .probes( \n main.applyValue(getProbesResult -\u003e getProbesResult.probes().frankfurt()),\n main.applyValue(getProbesResult -\u003e getProbesResult.probes().london()))\n .labels(Map.of(\"foo\", \"baz\"))\n .settings(CheckSettingsArgs.builder()\n .tcp(CheckSettingsTcpArgs.builder()\n .ipVersion(\"V6\")\n .tls(true)\n .queryResponses( \n CheckSettingsTcpQueryResponseArgs.builder()\n .send(\"howdy\")\n .expect(\"hi\")\n .build(),\n CheckSettingsTcpQueryResponseArgs.builder()\n .send(\"like this\")\n .expect(\"like that\")\n .startTls(true)\n .build())\n .tlsConfig(CheckSettingsTcpTlsConfigArgs.builder()\n .serverName(\"grafana.com\")\n .caCert(\"\"\"\n-----BEGIN CERTIFICATE-----\nMIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\nRTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\nh1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\nBN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\niDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\na+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\nFWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\nqq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\nFTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\nZ18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\nUV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\nyzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\ne2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\nXeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\ntqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\nQxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\ntf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\nprulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\nl3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\nvuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n-----END CERTIFICATE-----\n \"\"\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tcp:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: TCP Defaults\n target: grafana.com:443\n enabled: false\n probes:\n - ${main.probes.frankfurt}\n - ${main.probes.london}\n labels:\n foo: baz\n settings:\n tcp:\n ipVersion: V6\n tls: true\n queryResponses:\n - send: howdy\n expect: hi\n - send: like this\n expect: like that\n startTls: true\n tlsConfig:\n serverName: grafana.com\n caCert: |\n -----BEGIN CERTIFICATE-----\n MIIEljCCAn4CCQCKJPUQQxeO0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJT\n RTAeFw0yMTA1MjkxOTIyNTdaFw0yNDAzMTgxOTIyNTdaMA0xCzAJBgNVBAYTAlNF\n MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnmbazDNUT0rSI4BpGZK+\n 0AJ+9FDkIYWJUtRLJoxw8CF+AobMFploYA2L2Myt80cTA1w8FrewjC8qlqdnrPWr\n h1ely2zsUljgi1/niH0ndjFzliL7UkinXQiAsTtYOrOQmzyd/o5PNdu7dz0m7stD\n BN/Sz5TlXZnA1/eJbqV/kqMau6b1MaBx8SbRfUG9+cSmUobFJwuktDrPuwJhcEkl\n iDmhEqu1GuZzmKvzPacLTVia1vSlmCTCu89NiHI8iGiiLtqNrapup7f8j5m3a3SL\n a+vXhplFj2piNl7Nc0dfuVgtEliTI+qUL2/+4A7gzRWZpHy21/LxMMXmBhdJW9En\n FWkev97VZLgb5TR3+qpSWmXcodjPy4dibvwsOMpdd+Q4AYulwvlDw5idRPVgGvk7\n qq03+w9ppZ5Fugws9k2CD9F/75JX2mCbRpkuPe8XXZ7bqrMaQgQMLOrs68HuiiCk\n FTklglq4DMKxnf/Y/T/MgIa9Q1o28YSevh6A7FnfPGARj2H2T4rToi+bC1Vf7qNB\n Z18bDpz99tRUTbyiRUSBMWLCGhU6c4HAqUrfrkpperOKFBQ3i38a79838oFdXHBW\n 6rx1t5cC3XwtEoUyeBKAygez8G1LDXbN3607MxVhAjhHKtPkYvuBfysSNU6JrR0z\n UV1IURJANt2UMuKgSEkG/IMCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAcipMhp/w\n yzfPy61faVAw9SPaMNRlnW9FCDC3N9CGOjo2knjXpObPzyzsJiUURTjrA9eFMpRA\n e2Rgn2j+nvm2XdLAlC4Kh8jqv/wCL0X6BTQMdN5aOhXdSiXtpXOMvXYY/dQ4ebRZ\n XeRCVWQD79JbV6/uyx0nCV3FVcU7L1P4UjxroefVr0soLPMirgxHmOxLnkoVgdcB\n tqufP5kJx9CIeJXPx3QQsk1XfEtxtUvuw4ZaZkQnNUqvGl7V+AZpur5Eqfv3zBi8\n QxxL7qGkARNssNWH2Ju+tqpM/UZRnjlFrDR4SXUgT0coTduBalUY6qHkciHmRpiP\n tf3SgpDeiCSOV2iVFGdaR1mz3muWoAYWFstcWN3a3HjjVugIi23yLN8Gv8CNeoH4\n prulinFCLrFgAh8SLAF8mOAZanT06LH8jOIFYrdUxH+ZeRBR0rLoFjUF+JB7UKD9\n 5TA+B4EBzQ1tMbGFU1DX79MjAejq0IV0Nzq+GMfBvLHxEf4+Oz8nqhDXQcJ6TdtY\n l3Lyw5zBvOL80SBK+Mr0UP7d9U3VXgbGHCYVJU6Ot1TwiGwahtWALRALA3TWeGkq\n 7kyD1H+nm+9lfKhuyBRQnRGBVyze2lAp7oxwshJuhBwEXosXFxq1Cy6QhPN77r6N\n vuhxvtppolNnyOgGxwG4zquqq2V5/+vKjKY=\n -----END CERTIFICATE-----\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Traceroute Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst traceroute = new grafana.syntheticmonitoring.Check(\"traceroute\", {\n job: \"Traceroute defaults\",\n target: \"grafana.com\",\n enabled: false,\n frequency: 120000,\n timeout: 30000,\n probes: [main.then(main =\u003e main.probes?.ohio)],\n labels: {\n foo: \"bar\",\n },\n settings: {\n traceroute: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\ntraceroute = grafana.synthetic_monitoring.Check(\"traceroute\",\n job=\"Traceroute defaults\",\n target=\"grafana.com\",\n enabled=False,\n frequency=120000,\n timeout=30000,\n probes=[main.probes[\"ohio\"]],\n labels={\n \"foo\": \"bar\",\n },\n settings={\n \"traceroute\": {},\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var traceroute = new Grafana.SyntheticMonitoring.Check(\"traceroute\", new()\n {\n Job = \"Traceroute defaults\",\n Target = \"grafana.com\",\n Enabled = false,\n Frequency = 120000,\n Timeout = 30000,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Ohio),\n },\n Labels = \n {\n { \"foo\", \"bar\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Traceroute = null,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"traceroute\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"Traceroute defaults\"),\n\t\t\tTarget: pulumi.String(\"grafana.com\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tFrequency: pulumi.Int(120000),\n\t\t\tTimeout: pulumi.Int(30000),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Ohio),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tTraceroute: \u0026syntheticmonitoring.CheckSettingsTracerouteArgs{},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsTracerouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var traceroute = new Check(\"traceroute\", CheckArgs.builder()\n .job(\"Traceroute defaults\")\n .target(\"grafana.com\")\n .enabled(false)\n .frequency(120000)\n .timeout(30000)\n .probes(main.applyValue(getProbesResult -\u003e getProbesResult.probes().ohio()))\n .labels(Map.of(\"foo\", \"bar\"))\n .settings(CheckSettingsArgs.builder()\n .traceroute()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n traceroute:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: Traceroute defaults\n target: grafana.com\n enabled: false\n frequency: 120000\n timeout: 30000\n probes:\n - ${main.probes.ohio}\n labels:\n foo: bar\n settings:\n traceroute: {}\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Traceroute Complex\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst main = grafana.syntheticMonitoring.getProbes({});\nconst traceroute = new grafana.syntheticmonitoring.Check(\"traceroute\", {\n job: \"Traceroute complex\",\n target: \"grafana.net\",\n enabled: false,\n frequency: 120000,\n timeout: 30000,\n probes: [\n main.then(main =\u003e main.probes?.frankfurt),\n main.then(main =\u003e main.probes?.london),\n ],\n labels: {\n foo: \"baz\",\n },\n settings: {\n traceroute: {\n maxHops: 25,\n maxUnknownHops: 10,\n ptrLookup: false,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\nmain = grafana.syntheticMonitoring.get_probes()\ntraceroute = grafana.synthetic_monitoring.Check(\"traceroute\",\n job=\"Traceroute complex\",\n target=\"grafana.net\",\n enabled=False,\n frequency=120000,\n timeout=30000,\n probes=[\n main.probes[\"frankfurt\"],\n main.probes[\"london\"],\n ],\n labels={\n \"foo\": \"baz\",\n },\n settings={\n \"traceroute\": {\n \"max_hops\": 25,\n \"max_unknown_hops\": 10,\n \"ptr_lookup\": False,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = Grafana.SyntheticMonitoring.GetProbes.Invoke();\n\n var traceroute = new Grafana.SyntheticMonitoring.Check(\"traceroute\", new()\n {\n Job = \"Traceroute complex\",\n Target = \"grafana.net\",\n Enabled = false,\n Frequency = 120000,\n Timeout = 30000,\n Probes = new[]\n {\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.Frankfurt),\n main.Apply(getProbesResult =\u003e getProbesResult.Probes?.London),\n },\n Labels = \n {\n { \"foo\", \"baz\" },\n },\n Settings = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsArgs\n {\n Traceroute = new Grafana.SyntheticMonitoring.Inputs.CheckSettingsTracerouteArgs\n {\n MaxHops = 25,\n MaxUnknownHops = 10,\n PtrLookup = false,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmain, err := syntheticmonitoring.GetProbes(ctx, \u0026syntheticmonitoring.GetProbesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = syntheticmonitoring.NewCheck(ctx, \"traceroute\", \u0026syntheticmonitoring.CheckArgs{\n\t\t\tJob: pulumi.String(\"Traceroute complex\"),\n\t\t\tTarget: pulumi.String(\"grafana.net\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t\tFrequency: pulumi.Int(120000),\n\t\t\tTimeout: pulumi.Int(30000),\n\t\t\tProbes: pulumi.IntArray{\n\t\t\t\tpulumi.Int(main.Probes.Frankfurt),\n\t\t\t\tpulumi.Int(main.Probes.London),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"baz\"),\n\t\t\t},\n\t\t\tSettings: \u0026syntheticmonitoring.CheckSettingsArgs{\n\t\t\t\tTraceroute: \u0026syntheticmonitoring.CheckSettingsTracerouteArgs{\n\t\t\t\t\tMaxHops: pulumi.Int(25),\n\t\t\t\t\tMaxUnknownHops: pulumi.Int(10),\n\t\t\t\t\tPtrLookup: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbesArgs;\nimport com.pulumi.grafana.syntheticMonitoring.Check;\nimport com.pulumi.grafana.syntheticMonitoring.CheckArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsArgs;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.CheckSettingsTracerouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var main = SyntheticMonitoringFunctions.getProbes();\n\n var traceroute = new Check(\"traceroute\", CheckArgs.builder()\n .job(\"Traceroute complex\")\n .target(\"grafana.net\")\n .enabled(false)\n .frequency(120000)\n .timeout(30000)\n .probes( \n main.applyValue(getProbesResult -\u003e getProbesResult.probes().frankfurt()),\n main.applyValue(getProbesResult -\u003e getProbesResult.probes().london()))\n .labels(Map.of(\"foo\", \"baz\"))\n .settings(CheckSettingsArgs.builder()\n .traceroute(CheckSettingsTracerouteArgs.builder()\n .maxHops(25)\n .maxUnknownHops(10)\n .ptrLookup(false)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n traceroute:\n type: grafana:syntheticMonitoring:Check\n properties:\n job: Traceroute complex\n target: grafana.net\n enabled: false\n frequency: 120000\n timeout: 30000\n probes:\n - ${main.probes.frankfurt}\n - ${main.probes.london}\n labels:\n foo: baz\n settings:\n traceroute:\n maxHops: 25\n maxUnknownHops: 10\n ptrLookup: false\nvariables:\n main:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbes\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import grafana:syntheticMonitoring/check:Check name \"{{ id }}\"\n```\n\n",
"properties": {
"alertSensitivity": {
"type": "string",
@@ -24882,6 +25168,10 @@
"description": "The probe authentication token. Your probe must use this to authenticate with Grafana Cloud.\n",
"secret": true
},
+ "disableBrowserChecks": {
+ "type": "boolean",
+ "description": "Disables browser checks for this probe. Defaults to `false`.\n"
+ },
"disableScriptedChecks": {
"type": "boolean",
"description": "Disables scripted checks for this probe. Defaults to `false`.\n"
@@ -24927,6 +25217,10 @@
"tenantId"
],
"inputProperties": {
+ "disableBrowserChecks": {
+ "type": "boolean",
+ "description": "Disables browser checks for this probe. Defaults to `false`.\n"
+ },
"disableScriptedChecks": {
"type": "boolean",
"description": "Disables scripted checks for this probe. Defaults to `false`.\n"
@@ -24972,6 +25266,10 @@
"description": "The probe authentication token. Your probe must use this to authenticate with Grafana Cloud.\n",
"secret": true
},
+ "disableBrowserChecks": {
+ "type": "boolean",
+ "description": "Disables browser checks for this probe. Defaults to `false`.\n"
+ },
"disableScriptedChecks": {
"type": "boolean",
"description": "Disables scripted checks for this probe. Defaults to `false`.\n"
@@ -25164,6 +25462,47 @@
"type": "object"
}
},
+ "grafana:cloud/getPrivateDataSourceConnectNetworks:getPrivateDataSourceConnectNetworks": {
+ "description": "Fetches Private Data source Connect networks from Grafana Cloud.\n\n* [Official documentation](https://grafana.com/docs/grafana-cloud/account-management/authentication-and-permissions/access-policies/)\n* [API documentation](https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-access-policies)\n\nRequired access policy scopes:\n\n* accesspolicies:read\n",
+ "inputs": {
+ "description": "A collection of arguments for invoking getPrivateDataSourceConnectNetworks.\n",
+ "properties": {
+ "nameFilter": {
+ "type": "string"
+ },
+ "regionFilter": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "outputs": {
+ "description": "A collection of values returned by getPrivateDataSourceConnectNetworks.\n",
+ "properties": {
+ "id": {
+ "description": "The ID of this datasource. This is an internal identifier used by the provider to track this datasource.\n",
+ "type": "string"
+ },
+ "nameFilter": {
+ "type": "string"
+ },
+ "privateDataSourceConnectNetworks": {
+ "items": {
+ "$ref": "#/types/grafana:cloud/getPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetwork:getPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetwork"
+ },
+ "type": "array"
+ },
+ "regionFilter": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "privateDataSourceConnectNetworks"
+ ],
+ "type": "object"
+ }
+ },
"grafana:cloud/getProviderAwsAccount:getProviderAwsAccount": {
"description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\nimport * as grafana from \"@pulumiverse/grafana\";\n\nconst test = grafana.cloud.getStack({\n slug: \"gcloudstacktest\",\n});\nconst testProviderAwsAccount = new grafana.cloud.ProviderAwsAccount(\"test\", {\n stackId: test.then(test =\u003e test.id),\n roleArn: testAwsIamRole.arn,\n regions: [\n \"us-east-2\",\n \"eu-west-3\",\n ],\n});\nconst testGetProviderAwsAccount = pulumi.all([test, testProviderAwsAccount.resourceId]).apply(([test, resourceId]) =\u003e grafana.cloud.getProviderAwsAccountOutput({\n stackId: test.id,\n resourceId: resourceId,\n}));\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\nimport pulumiverse_grafana as grafana\n\ntest = grafana.cloud.get_stack(slug=\"gcloudstacktest\")\ntest_provider_aws_account = grafana.cloud.ProviderAwsAccount(\"test\",\n stack_id=test.id,\n role_arn=test_aws_iam_role[\"arn\"],\n regions=[\n \"us-east-2\",\n \"eu-west-3\",\n ])\ntest_get_provider_aws_account = test_provider_aws_account.resource_id.apply(lambda resource_id: grafana.cloud.get_provider_aws_account_output(stack_id=test.id,\n resource_id=resource_id))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\nusing Grafana = Pulumiverse.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Grafana.Cloud.GetStack.Invoke(new()\n {\n Slug = \"gcloudstacktest\",\n });\n\n var testProviderAwsAccount = new Grafana.Cloud.ProviderAwsAccount(\"test\", new()\n {\n StackId = test.Apply(getStackResult =\u003e getStackResult.Id),\n RoleArn = testAwsIamRole.Arn,\n Regions = new[]\n {\n \"us-east-2\",\n \"eu-west-3\",\n },\n });\n\n var testGetProviderAwsAccount = Grafana.Cloud.GetProviderAwsAccount.Invoke(new()\n {\n StackId = test.Apply(getStackResult =\u003e getStackResult.Id),\n ResourceId = testProviderAwsAccount.ResourceId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/cloud\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := cloud.LookupStack(ctx, \u0026cloud.LookupStackArgs{\n\t\t\tSlug: \"gcloudstacktest\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestProviderAwsAccount, err := cloud.NewProviderAwsAccount(ctx, \"test\", \u0026cloud.ProviderAwsAccountArgs{\n\t\t\tStackId: pulumi.String(test.Id),\n\t\t\tRoleArn: pulumi.Any(testAwsIamRole.Arn),\n\t\t\tRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-2\"),\n\t\t\t\tpulumi.String(\"eu-west-3\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = testProviderAwsAccount.ResourceId.ApplyT(func(resourceId string) (cloud.GetProviderAwsAccountResult, error) {\n\t\t\treturn cloud.GetProviderAwsAccountResult(interface{}(cloud.LookupProviderAwsAccountOutput(ctx, cloud.GetProviderAwsAccountOutputArgs{\n\t\t\t\tStackId: test.Id,\n\t\t\t\tResourceId: resourceId,\n\t\t\t}, nil))), nil\n\t\t}).(cloud.GetProviderAwsAccountResultOutput)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.cloud.CloudFunctions;\nimport com.pulumi.grafana.cloud.inputs.GetStackArgs;\nimport com.pulumi.grafana.cloud.ProviderAwsAccount;\nimport com.pulumi.grafana.cloud.ProviderAwsAccountArgs;\nimport com.pulumi.grafana.cloud.inputs.GetProviderAwsAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = CloudFunctions.getStack(GetStackArgs.builder()\n .slug(\"gcloudstacktest\")\n .build());\n\n var testProviderAwsAccount = new ProviderAwsAccount(\"testProviderAwsAccount\", ProviderAwsAccountArgs.builder()\n .stackId(test.applyValue(getStackResult -\u003e getStackResult.id()))\n .roleArn(testAwsIamRole.arn())\n .regions( \n \"us-east-2\",\n \"eu-west-3\")\n .build());\n\n final var testGetProviderAwsAccount = CloudFunctions.getProviderAwsAccount(GetProviderAwsAccountArgs.builder()\n .stackId(test.applyValue(getStackResult -\u003e getStackResult.id()))\n .resourceId(testProviderAwsAccount.resourceId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testProviderAwsAccount:\n type: grafana:cloud:ProviderAwsAccount\n name: test\n properties:\n stackId: ${test.id}\n roleArn: ${testAwsIamRole.arn}\n regions:\n - us-east-2\n - eu-west-3\nvariables:\n test:\n fn::invoke:\n function: grafana:cloud:getStack\n arguments:\n slug: gcloudstacktest\n testGetProviderAwsAccount:\n fn::invoke:\n function: grafana:cloud:getProviderAwsAccount\n arguments:\n stackId: ${test.id}\n resourceId: ${testProviderAwsAccount.resourceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
"inputs": {
@@ -26340,6 +26679,10 @@
"description": "The Organization ID. If not set, the Org ID defined in the provider block will be used.\n",
"type": "string"
},
+ "privateDataSourceConnectNetworkId": {
+ "description": "(Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source.\n",
+ "type": "string"
+ },
"type": {
"description": "The data source type. Must be one of the supported data source keywords.\n",
"type": "string"
@@ -26364,6 +26707,7 @@
"isDefault",
"jsonDataEncoded",
"name",
+ "privateDataSourceConnectNetworkId",
"type",
"uid",
"url",
@@ -27196,7 +27540,7 @@
},
"grafana:index/getSyntheticMonitoringProbe:getSyntheticMonitoringProbe": {
"deprecationMessage": "grafana.index/getsyntheticmonitoringprobe.getSyntheticMonitoringProbe has been deprecated in favor of grafana.syntheticmonitoring/getprobe.getProbe",
- "description": "Data source for retrieving a single probe by name.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\n\nconst atlanta = grafana.syntheticMonitoring.getProbe({\n name: \"Atlanta\",\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\n\natlanta = grafana.syntheticMonitoring.get_probe(name=\"Atlanta\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var atlanta = Grafana.SyntheticMonitoring.GetProbe.Invoke(new()\n {\n Name = \"Atlanta\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := syntheticmonitoring.GetProbe(ctx, \u0026syntheticmonitoring.GetProbeArgs{\n\t\t\tName: \"Atlanta\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var atlanta = SyntheticMonitoringFunctions.getProbe(GetProbeArgs.builder()\n .name(\"Atlanta\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n atlanta:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbe\n arguments:\n name: Atlanta\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
+ "description": "Data source for retrieving a single probe by name.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\n\nconst ohio = grafana.syntheticMonitoring.getProbe({\n name: \"Ohio\",\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\n\nohio = grafana.syntheticMonitoring.get_probe(name=\"Ohio\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ohio = Grafana.SyntheticMonitoring.GetProbe.Invoke(new()\n {\n Name = \"Ohio\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := syntheticmonitoring.GetProbe(ctx, \u0026syntheticmonitoring.GetProbeArgs{\n\t\t\tName: \"Ohio\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ohio = SyntheticMonitoringFunctions.getProbe(GetProbeArgs.builder()\n .name(\"Ohio\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n ohio:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbe\n arguments:\n name: Ohio\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
"inputs": {
"description": "A collection of arguments for invoking getSyntheticMonitoringProbe.\n",
"properties": {
@@ -27213,6 +27557,10 @@
"outputs": {
"description": "A collection of values returned by getSyntheticMonitoringProbe.\n",
"properties": {
+ "disableBrowserChecks": {
+ "description": "Disables browser checks for this probe.\n",
+ "type": "boolean"
+ },
"disableScriptedChecks": {
"description": "Disables scripted checks for this probe.\n",
"type": "boolean"
@@ -27254,6 +27602,7 @@
}
},
"required": [
+ "disableBrowserChecks",
"disableScriptedChecks",
"id",
"labels",
@@ -28005,6 +28354,10 @@
"description": "The Organization ID. If not set, the Org ID defined in the provider block will be used.\n",
"type": "string"
},
+ "privateDataSourceConnectNetworkId": {
+ "description": "(Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source.\n",
+ "type": "string"
+ },
"type": {
"description": "The data source type. Must be one of the supported data source keywords.\n",
"type": "string"
@@ -28029,6 +28382,7 @@
"isDefault",
"jsonDataEncoded",
"name",
+ "privateDataSourceConnectNetworkId",
"type",
"uid",
"url",
@@ -28580,7 +28934,7 @@
}
},
"grafana:syntheticMonitoring/getProbe:getProbe": {
- "description": "Data source for retrieving a single probe by name.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\n\nconst atlanta = grafana.syntheticMonitoring.getProbe({\n name: \"Atlanta\",\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\n\natlanta = grafana.syntheticMonitoring.get_probe(name=\"Atlanta\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var atlanta = Grafana.SyntheticMonitoring.GetProbe.Invoke(new()\n {\n Name = \"Atlanta\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := syntheticmonitoring.GetProbe(ctx, \u0026syntheticmonitoring.GetProbeArgs{\n\t\t\tName: \"Atlanta\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var atlanta = SyntheticMonitoringFunctions.getProbe(GetProbeArgs.builder()\n .name(\"Atlanta\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n atlanta:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbe\n arguments:\n name: Atlanta\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
+ "description": "Data source for retrieving a single probe by name.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as grafana from \"@pulumi/grafana\";\n\nconst ohio = grafana.syntheticMonitoring.getProbe({\n name: \"Ohio\",\n});\n```\n```python\nimport pulumi\nimport pulumi_grafana as grafana\n\nohio = grafana.syntheticMonitoring.get_probe(name=\"Ohio\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Grafana = Pulumi.Grafana;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ohio = Grafana.SyntheticMonitoring.GetProbe.Invoke(new()\n {\n Name = \"Ohio\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/syntheticmonitoring\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := syntheticmonitoring.GetProbe(ctx, \u0026syntheticmonitoring.GetProbeArgs{\n\t\t\tName: \"Ohio\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.grafana.syntheticMonitoring.SyntheticMonitoringFunctions;\nimport com.pulumi.grafana.syntheticMonitoring.inputs.GetProbeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ohio = SyntheticMonitoringFunctions.getProbe(GetProbeArgs.builder()\n .name(\"Ohio\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n ohio:\n fn::invoke:\n function: grafana:syntheticMonitoring:getProbe\n arguments:\n name: Ohio\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
"inputs": {
"description": "A collection of arguments for invoking getProbe.\n",
"properties": {
@@ -28597,6 +28951,10 @@
"outputs": {
"description": "A collection of values returned by getProbe.\n",
"properties": {
+ "disableBrowserChecks": {
+ "description": "Disables browser checks for this probe.\n",
+ "type": "boolean"
+ },
"disableScriptedChecks": {
"description": "Disables scripted checks for this probe.\n",
"type": "boolean"
@@ -28638,6 +28996,7 @@
}
},
"required": [
+ "disableBrowserChecks",
"disableScriptedChecks",
"id",
"labels",
diff --git a/provider/go.mod b/provider/go.mod
index 92684d4e..a355b1e9 100644
--- a/provider/go.mod
+++ b/provider/go.mod
@@ -5,8 +5,8 @@ go 1.23
replace github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240520223432-0c0bf0d65f10
require (
- github.com/grafana/terraform-provider-grafana/v3 v3.16.0
- github.com/pulumi/pulumi-terraform-bridge/v3 v3.100.0
+ github.com/grafana/terraform-provider-grafana/v3 v3.17.0
+ github.com/pulumi/pulumi-terraform-bridge/v3 v3.101.0
github.com/pulumi/pulumi/sdk/v3 v3.145.0
)
@@ -96,7 +96,7 @@ require (
github.com/grafana/otel-profiling-go v0.5.1 // indirect
github.com/grafana/pyroscope-go/godeltaprof v0.1.8 // indirect
github.com/grafana/slo-openapi-client/go/slo v0.0.0-20240807172758-1b7d00838fc7 // indirect
- github.com/grafana/synthetic-monitoring-agent v0.30.1 // indirect
+ github.com/grafana/synthetic-monitoring-agent v0.30.2 // indirect
github.com/grafana/synthetic-monitoring-api-go-client v0.9.2 // indirect
github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.0.1 // indirect
github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0 // indirect
@@ -235,14 +235,14 @@ require (
go.opentelemetry.io/otel/trace v1.31.0 // indirect
go.opentelemetry.io/proto/otlp v1.3.1 // indirect
go.uber.org/atomic v1.11.0 // indirect
- golang.org/x/crypto v0.31.0 // indirect
+ golang.org/x/crypto v0.32.0 // indirect
golang.org/x/exp v0.0.0-20241215155358-4a5509556b9e // indirect
golang.org/x/mod v0.22.0 // indirect
golang.org/x/net v0.33.0 // indirect
golang.org/x/oauth2 v0.24.0 // indirect
golang.org/x/sync v0.10.0 // indirect
- golang.org/x/sys v0.28.0 // indirect
- golang.org/x/term v0.27.0 // indirect
+ golang.org/x/sys v0.29.0 // indirect
+ golang.org/x/term v0.28.0 // indirect
golang.org/x/text v0.21.0 // indirect
golang.org/x/time v0.5.0 // indirect
golang.org/x/tools v0.28.0 // indirect
@@ -252,7 +252,7 @@ require (
google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20241015192408-796eee8c2d53 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53 // indirect
- google.golang.org/grpc v1.69.0 // indirect
+ google.golang.org/grpc v1.69.2 // indirect
google.golang.org/protobuf v1.35.2 // indirect
gopkg.in/fsnotify/fsnotify.v1 v1.4.7 // indirect
gopkg.in/validator.v2 v2.0.1 // indirect
diff --git a/provider/go.sum b/provider/go.sum
index 5dad70d3..299ffcda 100644
--- a/provider/go.sum
+++ b/provider/go.sum
@@ -1631,12 +1631,12 @@ github.com/grafana/pyroscope-go/godeltaprof v0.1.8 h1:iwOtYXeeVSAeYefJNaxDytgjKt
github.com/grafana/pyroscope-go/godeltaprof v0.1.8/go.mod h1:2+l7K7twW49Ct4wFluZD3tZ6e0SjanjcUUBPVD/UuGU=
github.com/grafana/slo-openapi-client/go/slo v0.0.0-20240807172758-1b7d00838fc7 h1:t7zAFX0rMu868n85zRHLgmAjLJgWbkxUekGquZmovjA=
github.com/grafana/slo-openapi-client/go/slo v0.0.0-20240807172758-1b7d00838fc7/go.mod h1:MVsmQi3lkhNnRExmke6Ug6HFG4Dycd+oRgzC3Rz+vOs=
-github.com/grafana/synthetic-monitoring-agent v0.30.1 h1:7ox7jF8eYBXv4JbcuX/SZY/3wUZAr08+ntTa3IY9jWs=
-github.com/grafana/synthetic-monitoring-agent v0.30.1/go.mod h1:27zmBcu7ePmUcVnEpYBAYVJhgxU27Yj3lL/3lVdereA=
+github.com/grafana/synthetic-monitoring-agent v0.30.2 h1:wredFHXxXXO5Mg/ucEe3+Yud1OSL51LwMneC28nAGbg=
+github.com/grafana/synthetic-monitoring-agent v0.30.2/go.mod h1:JEH8a3hLOFRgkl+dlTj3gerkGHkfX+WIhdmIvP7RGSI=
github.com/grafana/synthetic-monitoring-api-go-client v0.9.2 h1:Q2sIkvE8ekeGGroWqh3pEj9mJ/hisS41ezNrFCjrTj4=
github.com/grafana/synthetic-monitoring-api-go-client v0.9.2/go.mod h1:djIoAwYgFJcpD4e7d13yt1dEMbN27r3Sm4OfVNMdDdE=
-github.com/grafana/terraform-provider-grafana/v3 v3.16.0 h1:c1pDS5DttICAvsmkHAoWOaBca+G2wOQ6CYOtmrpBWvo=
-github.com/grafana/terraform-provider-grafana/v3 v3.16.0/go.mod h1:fCTMPqz2OWpDBsFKrRvdd2IrBesKsTej3Ar3cYoaOUY=
+github.com/grafana/terraform-provider-grafana/v3 v3.17.0 h1:SbhUyeB8QKVCPIe5nGYbxcLx01QuTXdRtjx7ERgBMHs=
+github.com/grafana/terraform-provider-grafana/v3 v3.17.0/go.mod h1:f/ZRKHkJ6F3gWnXdJ4ACiqUran3nSq81oW8p0+lIZcU=
github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.0.1 h1:qnpSQwGEnkcRpTqNOIR6bJbR0gAorgP9CSALpRcKoAA=
github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.0.1/go.mod h1:lXGCsh6c22WGtjr+qGHj1otzZpV/1kwTMAqkwZsnWRU=
github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0 h1:pRhl55Yx1eC7BZ1N+BBWwnKaMyD8uC+34TLdndZMAKk=
@@ -1701,8 +1701,8 @@ github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/hc-install v0.6.2/go.mod h1:2JBpd+NCFKiHiu/yYCGaPyPHhZLxXTpz8oreHa/a3Ps=
github.com/hashicorp/hc-install v0.6.3/go.mod h1:KamGdbodYzlufbWh4r9NRo8y6GLHWZP2GBtdnms1Ln0=
-github.com/hashicorp/hc-install v0.9.0 h1:2dIk8LcvANwtv3QZLckxcjyF5w8KVtiMxu6G6eLhghE=
-github.com/hashicorp/hc-install v0.9.0/go.mod h1:+6vOP+mf3tuGgMApVYtmsnDoKWMDcFXeTxCACYZ8SFg=
+github.com/hashicorp/hc-install v0.9.1 h1:gkqTfE3vVbafGQo6VZXcy2v5yoz2bE0+nhZXruCuODQ=
+github.com/hashicorp/hc-install v0.9.1/go.mod h1:pWWvN/IrfeBK4XPeXXYkL6EjMufHkCK5DvwxeLKuBf0=
github.com/hashicorp/hcl v0.0.0-20170504190234-a4b07c25de5f/go.mod h1:oZtUIOe8dh44I2q6ScRibXws4Ajl+d+nod3AaR9vL5w=
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
@@ -2025,8 +2025,8 @@ github.com/pulumi/providertest v0.1.3 h1:GpNKRy/haNjRHiUA9bi4diU4Op2zf3axYXbga5A
github.com/pulumi/providertest v0.1.3/go.mod h1:GcsqEGgSngwaNOD+kICJPIUQlnA911fGBU8HDlJvVL0=
github.com/pulumi/pulumi-java/pkg v0.19.0 h1:T9kkGUQJV7UTxenw08m3txsgQkNVnZZxvn1zCcNjaE8=
github.com/pulumi/pulumi-java/pkg v0.19.0/go.mod h1:YKYYFEb3Jvzf/dDJo0xOeEkIfBAMkkkdhXulauvEjmc=
-github.com/pulumi/pulumi-terraform-bridge/v3 v3.100.0 h1:L03nXHLprXuF0wIihoKFIjpE8oSPomiMayrRVDv1VgY=
-github.com/pulumi/pulumi-terraform-bridge/v3 v3.100.0/go.mod h1:r+cxSrRxwCRbHMdKMKWU3NKDcUTm9xa9PcBDuHQnRkI=
+github.com/pulumi/pulumi-terraform-bridge/v3 v3.101.0 h1:LucjkMkSU2iMuMdLYhRaVDiCYbJ1Fqve/sMw+iffjEY=
+github.com/pulumi/pulumi-terraform-bridge/v3 v3.101.0/go.mod h1:r+cxSrRxwCRbHMdKMKWU3NKDcUTm9xa9PcBDuHQnRkI=
github.com/pulumi/pulumi-yaml v1.12.0 h1:ThJP+EBqeJyCnS6w6/PwcEFOT5o112qv0lObhefmFCk=
github.com/pulumi/pulumi-yaml v1.12.0/go.mod h1:EhZd1XDfuLa15O51qVVE16U6r8ldK9mLIBclqWCX27Y=
github.com/pulumi/pulumi/pkg/v3 v3.145.0 h1:hAhFLieunnCKuMd3GbLqE5uWQ1hpNLdl6+bCDFSF4YQ=
@@ -2277,8 +2277,8 @@ golang.org/x/crypto v0.15.0/go.mod h1:4ChreQoLWfG3xLDer1WdlH5NdlQ3+mwnQq1YTKY+72
golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
-golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U=
-golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
+golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc=
+golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc=
golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -2595,8 +2595,8 @@ golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA=
-golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU=
+golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
@@ -2616,8 +2616,8 @@ golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
golang.org/x/term v0.14.0/go.mod h1:TySc+nGkYR6qt8km8wUhuFRTVSMIX3XPR58y2lC8vww=
golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
-golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q=
-golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM=
+golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg=
+golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -3066,8 +3066,8 @@ google.golang.org/grpc v1.58.2/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSs
google.golang.org/grpc v1.58.3/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0=
google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98=
google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs=
-google.golang.org/grpc v1.69.0 h1:quSiOM1GJPmPH5XtU+BCoVXcDVJJAzNcoyfC2cCjGkI=
-google.golang.org/grpc v1.69.0/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4=
+google.golang.org/grpc v1.69.2 h1:U3S9QEtbXC0bYNvRtcoklF3xGtLViumSYxWykJS+7AU=
+google.golang.org/grpc v1.69.2/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4=
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
diff --git a/sdk/dotnet/Cloud/GetPrivateDataSourceConnectNetworks.cs b/sdk/dotnet/Cloud/GetPrivateDataSourceConnectNetworks.cs
new file mode 100644
index 00000000..0777f437
--- /dev/null
+++ b/sdk/dotnet/Cloud/GetPrivateDataSourceConnectNetworks.cs
@@ -0,0 +1,112 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+using Pulumi;
+
+namespace Pulumiverse.Grafana.Cloud
+{
+ public static class GetPrivateDataSourceConnectNetworks
+ {
+ ///
+ /// Fetches Private Data source Connect networks from Grafana Cloud.
+ ///
+ /// * [Official documentation](https://grafana.com/docs/grafana-cloud/account-management/authentication-and-permissions/access-policies/)
+ /// * [API documentation](https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-access-policies)
+ ///
+ /// Required access policy scopes:
+ ///
+ /// * accesspolicies:read
+ ///
+ public static Task InvokeAsync(GetPrivateDataSourceConnectNetworksArgs? args = null, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("grafana:cloud/getPrivateDataSourceConnectNetworks:getPrivateDataSourceConnectNetworks", args ?? new GetPrivateDataSourceConnectNetworksArgs(), options.WithDefaults());
+
+ ///
+ /// Fetches Private Data source Connect networks from Grafana Cloud.
+ ///
+ /// * [Official documentation](https://grafana.com/docs/grafana-cloud/account-management/authentication-and-permissions/access-policies/)
+ /// * [API documentation](https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-access-policies)
+ ///
+ /// Required access policy scopes:
+ ///
+ /// * accesspolicies:read
+ ///
+ public static Output Invoke(GetPrivateDataSourceConnectNetworksInvokeArgs? args = null, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("grafana:cloud/getPrivateDataSourceConnectNetworks:getPrivateDataSourceConnectNetworks", args ?? new GetPrivateDataSourceConnectNetworksInvokeArgs(), options.WithDefaults());
+
+ ///
+ /// Fetches Private Data source Connect networks from Grafana Cloud.
+ ///
+ /// * [Official documentation](https://grafana.com/docs/grafana-cloud/account-management/authentication-and-permissions/access-policies/)
+ /// * [API documentation](https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-access-policies)
+ ///
+ /// Required access policy scopes:
+ ///
+ /// * accesspolicies:read
+ ///
+ public static Output Invoke(GetPrivateDataSourceConnectNetworksInvokeArgs args, InvokeOutputOptions options)
+ => global::Pulumi.Deployment.Instance.Invoke("grafana:cloud/getPrivateDataSourceConnectNetworks:getPrivateDataSourceConnectNetworks", args ?? new GetPrivateDataSourceConnectNetworksInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetPrivateDataSourceConnectNetworksArgs : global::Pulumi.InvokeArgs
+ {
+ [Input("nameFilter")]
+ public string? NameFilter { get; set; }
+
+ [Input("regionFilter")]
+ public string? RegionFilter { get; set; }
+
+ public GetPrivateDataSourceConnectNetworksArgs()
+ {
+ }
+ public static new GetPrivateDataSourceConnectNetworksArgs Empty => new GetPrivateDataSourceConnectNetworksArgs();
+ }
+
+ public sealed class GetPrivateDataSourceConnectNetworksInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ [Input("nameFilter")]
+ public Input? NameFilter { get; set; }
+
+ [Input("regionFilter")]
+ public Input? RegionFilter { get; set; }
+
+ public GetPrivateDataSourceConnectNetworksInvokeArgs()
+ {
+ }
+ public static new GetPrivateDataSourceConnectNetworksInvokeArgs Empty => new GetPrivateDataSourceConnectNetworksInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetPrivateDataSourceConnectNetworksResult
+ {
+ ///
+ /// The ID of this datasource. This is an internal identifier used by the provider to track this datasource.
+ ///
+ public readonly string Id;
+ public readonly string? NameFilter;
+ public readonly ImmutableArray PrivateDataSourceConnectNetworks;
+ public readonly string? RegionFilter;
+
+ [OutputConstructor]
+ private GetPrivateDataSourceConnectNetworksResult(
+ string id,
+
+ string? nameFilter,
+
+ ImmutableArray privateDataSourceConnectNetworks,
+
+ string? regionFilter)
+ {
+ Id = id;
+ NameFilter = nameFilter;
+ PrivateDataSourceConnectNetworks = privateDataSourceConnectNetworks;
+ RegionFilter = regionFilter;
+ }
+ }
+}
diff --git a/sdk/dotnet/Cloud/Outputs/GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkResult.cs b/sdk/dotnet/Cloud/Outputs/GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkResult.cs
new file mode 100644
index 00000000..e46fbebf
--- /dev/null
+++ b/sdk/dotnet/Cloud/Outputs/GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkResult.cs
@@ -0,0 +1,42 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+using Pulumi;
+
+namespace Pulumiverse.Grafana.Cloud.Outputs
+{
+
+ [OutputType]
+ public sealed class GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkResult
+ {
+ public readonly string DisplayName;
+ public readonly string Id;
+ public readonly string Name;
+ public readonly string Region;
+ public readonly string Status;
+
+ [OutputConstructor]
+ private GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkResult(
+ string displayName,
+
+ string id,
+
+ string name,
+
+ string region,
+
+ string status)
+ {
+ DisplayName = displayName;
+ Id = id;
+ Name = name;
+ Region = region;
+ Status = status;
+ }
+ }
+}
diff --git a/sdk/dotnet/Cloud/PrivateDataSourceConnectNetwork.cs b/sdk/dotnet/Cloud/PrivateDataSourceConnectNetwork.cs
new file mode 100644
index 00000000..42f26ded
--- /dev/null
+++ b/sdk/dotnet/Cloud/PrivateDataSourceConnectNetwork.cs
@@ -0,0 +1,235 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+using Pulumi;
+
+namespace Pulumiverse.Grafana.Cloud
+{
+ ///
+ /// * [Official documentation](https://grafana.com/docs/grafana-cloud/connect-externally-hosted/private-data-source-connect/)
+ /// * [API documentation](https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#create-an-access-policy)
+ ///
+ /// Required access policy scopes:
+ ///
+ /// * accesspolicies:read
+ /// * accesspolicies:write
+ /// * accesspolicies:delete
+ ///
+ /// ## Example Usage
+ ///
+ /// ```csharp
+ /// using System.Collections.Generic;
+ /// using System.Linq;
+ /// using Pulumi;
+ /// using Grafana = Pulumi.Grafana;
+ /// using Grafana = Pulumiverse.Grafana;
+ ///
+ /// return await Deployment.RunAsync(() =>
+ /// {
+ /// var current = Grafana.Cloud.GetStack.Invoke(new()
+ /// {
+ /// Slug = "<your slug>",
+ /// });
+ ///
+ /// var test = new Grafana.Cloud.PrivateDataSourceConnectNetwork("test", new()
+ /// {
+ /// Region = "us",
+ /// Name = "my-pdc",
+ /// DisplayName = "My PDC",
+ /// StackIdentifier = current.Apply(getStackResult => getStackResult.Id),
+ /// });
+ ///
+ /// var testPrivateDataSourceConnectNetworkToken = new Grafana.Cloud.PrivateDataSourceConnectNetworkToken("test", new()
+ /// {
+ /// PdcNetworkId = test.PdcNetworkId,
+ /// Region = test.Region,
+ /// Name = "my-pdc-token",
+ /// DisplayName = "My PDC Token",
+ /// });
+ ///
+ /// });
+ /// ```
+ ///
+ /// ## Import
+ ///
+ /// ```sh
+ /// $ pulumi import grafana:cloud/privateDataSourceConnectNetwork:PrivateDataSourceConnectNetwork name "{{ region }}:{{ policyId }}"
+ /// ```
+ ///
+ [GrafanaResourceType("grafana:cloud/privateDataSourceConnectNetwork:PrivateDataSourceConnectNetwork")]
+ public partial class PrivateDataSourceConnectNetwork : global::Pulumi.CustomResource
+ {
+ ///
+ /// Creation date of the private data source connect network.
+ ///
+ [Output("createdAt")]
+ public Output CreatedAt { get; private set; } = null!;
+
+ ///
+ /// Display name of the PDC network. Defaults to the name.
+ ///
+ [Output("displayName")]
+ public Output DisplayName { get; private set; } = null!;
+
+ ///
+ /// Name of the PDC network.**Note:** The name must be lowercase and can contain hyphens or underscores. See full requirements here: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#request-body
+ ///
+ [Output("name")]
+ public Output Name { get; private set; } = null!;
+
+ ///
+ /// ID of the private data source connect network.
+ ///
+ [Output("pdcNetworkId")]
+ public Output PdcNetworkId { get; private set; } = null!;
+
+ ///
+ /// The region where your stack is deployed. Use the instances list API to get the region for your instance - use the regionSlug property: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-stacks
+ ///
+ [Output("region")]
+ public Output Region { get; private set; } = null!;
+
+ ///
+ /// The identifier of the stack.
+ ///
+ [Output("stackIdentifier")]
+ public Output StackIdentifier { get; private set; } = null!;
+
+ ///
+ /// Last update date of the private data source connect network.
+ ///
+ [Output("updatedAt")]
+ public Output UpdatedAt { get; private set; } = null!;
+
+
+ ///
+ /// Create a PrivateDataSourceConnectNetwork resource with the given unique name, arguments, and options.
+ ///
+ ///
+ /// The unique name of the resource
+ /// The arguments used to populate this resource's properties
+ /// A bag of options that control this resource's behavior
+ public PrivateDataSourceConnectNetwork(string name, PrivateDataSourceConnectNetworkArgs args, CustomResourceOptions? options = null)
+ : base("grafana:cloud/privateDataSourceConnectNetwork:PrivateDataSourceConnectNetwork", name, args ?? new PrivateDataSourceConnectNetworkArgs(), MakeResourceOptions(options, ""))
+ {
+ }
+
+ private PrivateDataSourceConnectNetwork(string name, Input id, PrivateDataSourceConnectNetworkState? state = null, CustomResourceOptions? options = null)
+ : base("grafana:cloud/privateDataSourceConnectNetwork:PrivateDataSourceConnectNetwork", name, state, MakeResourceOptions(options, id))
+ {
+ }
+
+ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id)
+ {
+ var defaultOptions = new CustomResourceOptions
+ {
+ Version = Utilities.Version,
+ PluginDownloadURL = "github://api.github.com/pulumiverse",
+ };
+ var merged = CustomResourceOptions.Merge(defaultOptions, options);
+ // Override the ID if one was specified for consistency with other language SDKs.
+ merged.Id = id ?? merged.Id;
+ return merged;
+ }
+ ///
+ /// Get an existing PrivateDataSourceConnectNetwork resource's state with the given name, ID, and optional extra
+ /// properties used to qualify the lookup.
+ ///
+ ///
+ /// The unique name of the resulting resource.
+ /// The unique provider ID of the resource to lookup.
+ /// Any extra arguments used during the lookup.
+ /// A bag of options that control this resource's behavior
+ public static PrivateDataSourceConnectNetwork Get(string name, Input id, PrivateDataSourceConnectNetworkState? state = null, CustomResourceOptions? options = null)
+ {
+ return new PrivateDataSourceConnectNetwork(name, id, state, options);
+ }
+ }
+
+ public sealed class PrivateDataSourceConnectNetworkArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// Display name of the PDC network. Defaults to the name.
+ ///
+ [Input("displayName")]
+ public Input? DisplayName { get; set; }
+
+ ///
+ /// Name of the PDC network.**Note:** The name must be lowercase and can contain hyphens or underscores. See full requirements here: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#request-body
+ ///
+ [Input("name")]
+ public Input? Name { get; set; }
+
+ ///
+ /// The region where your stack is deployed. Use the instances list API to get the region for your instance - use the regionSlug property: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-stacks
+ ///
+ [Input("region", required: true)]
+ public Input Region { get; set; } = null!;
+
+ ///
+ /// The identifier of the stack.
+ ///
+ [Input("stackIdentifier", required: true)]
+ public Input StackIdentifier { get; set; } = null!;
+
+ public PrivateDataSourceConnectNetworkArgs()
+ {
+ }
+ public static new PrivateDataSourceConnectNetworkArgs Empty => new PrivateDataSourceConnectNetworkArgs();
+ }
+
+ public sealed class PrivateDataSourceConnectNetworkState : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// Creation date of the private data source connect network.
+ ///
+ [Input("createdAt")]
+ public Input? CreatedAt { get; set; }
+
+ ///
+ /// Display name of the PDC network. Defaults to the name.
+ ///
+ [Input("displayName")]
+ public Input? DisplayName { get; set; }
+
+ ///
+ /// Name of the PDC network.**Note:** The name must be lowercase and can contain hyphens or underscores. See full requirements here: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#request-body
+ ///
+ [Input("name")]
+ public Input? Name { get; set; }
+
+ ///
+ /// ID of the private data source connect network.
+ ///
+ [Input("pdcNetworkId")]
+ public Input? PdcNetworkId { get; set; }
+
+ ///
+ /// The region where your stack is deployed. Use the instances list API to get the region for your instance - use the regionSlug property: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-stacks
+ ///
+ [Input("region")]
+ public Input? Region { get; set; }
+
+ ///
+ /// The identifier of the stack.
+ ///
+ [Input("stackIdentifier")]
+ public Input? StackIdentifier { get; set; }
+
+ ///
+ /// Last update date of the private data source connect network.
+ ///
+ [Input("updatedAt")]
+ public Input? UpdatedAt { get; set; }
+
+ public PrivateDataSourceConnectNetworkState()
+ {
+ }
+ public static new PrivateDataSourceConnectNetworkState Empty => new PrivateDataSourceConnectNetworkState();
+ }
+}
diff --git a/sdk/dotnet/Cloud/PrivateDataSourceConnectNetworkToken.cs b/sdk/dotnet/Cloud/PrivateDataSourceConnectNetworkToken.cs
new file mode 100644
index 00000000..a5eae49e
--- /dev/null
+++ b/sdk/dotnet/Cloud/PrivateDataSourceConnectNetworkToken.cs
@@ -0,0 +1,260 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+using Pulumi;
+
+namespace Pulumiverse.Grafana.Cloud
+{
+ ///
+ /// * [Official documentation](https://grafana.com/docs/grafana-cloud/connect-externally-hosted/private-data-source-connect/)
+ /// * [API documentation](https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#create-a-token)
+ ///
+ /// Required access policy scopes:
+ ///
+ /// * accesspolicies:read
+ /// * accesspolicies:write
+ /// * accesspolicies:delete
+ ///
+ /// ## Example Usage
+ ///
+ /// ```csharp
+ /// using System.Collections.Generic;
+ /// using System.Linq;
+ /// using Pulumi;
+ /// using Grafana = Pulumi.Grafana;
+ /// using Grafana = Pulumiverse.Grafana;
+ ///
+ /// return await Deployment.RunAsync(() =>
+ /// {
+ /// var current = Grafana.Cloud.GetStack.Invoke(new()
+ /// {
+ /// Slug = "<your slug>",
+ /// });
+ ///
+ /// var test = new Grafana.Cloud.PrivateDataSourceConnectNetwork("test", new()
+ /// {
+ /// Region = "us",
+ /// Name = "my-pdc",
+ /// DisplayName = "My PDC",
+ /// StackIdentifier = current.Apply(getStackResult => getStackResult.Id),
+ /// });
+ ///
+ /// var testPrivateDataSourceConnectNetworkToken = new Grafana.Cloud.PrivateDataSourceConnectNetworkToken("test", new()
+ /// {
+ /// PdcNetworkId = test.PdcNetworkId,
+ /// Region = test.Region,
+ /// Name = "my-pdc-token",
+ /// DisplayName = "My PDC Token",
+ /// });
+ ///
+ /// });
+ /// ```
+ ///
+ /// ## Import
+ ///
+ /// ```sh
+ /// $ pulumi import grafana:cloud/privateDataSourceConnectNetworkToken:PrivateDataSourceConnectNetworkToken name "{{ region }}:{{ tokenId }}"
+ /// ```
+ ///
+ [GrafanaResourceType("grafana:cloud/privateDataSourceConnectNetworkToken:PrivateDataSourceConnectNetworkToken")]
+ public partial class PrivateDataSourceConnectNetworkToken : global::Pulumi.CustomResource
+ {
+ ///
+ /// Creation date of the private data source network token.
+ ///
+ [Output("createdAt")]
+ public Output CreatedAt { get; private set; } = null!;
+
+ ///
+ /// Display name of the private data source network token. Defaults to the name.
+ ///
+ [Output("displayName")]
+ public Output DisplayName { get; private set; } = null!;
+
+ ///
+ /// Expiration date of the private data source network token. Does not expire by default.
+ ///
+ [Output("expiresAt")]
+ public Output ExpiresAt { get; private set; } = null!;
+
+ ///
+ /// Name of the private data source network token.
+ ///
+ [Output("name")]
+ public Output Name { get; private set; } = null!;
+
+ ///
+ /// ID of the private data source network for which to create a token.
+ ///
+ [Output("pdcNetworkId")]
+ public Output PdcNetworkId { get; private set; } = null!;
+
+ ///
+ /// Region of the private data source network. Should be set to the same region as the private data source network. Use the region list API to get the list of available regions: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-regions.
+ ///
+ [Output("region")]
+ public Output Region { get; private set; } = null!;
+
+ [Output("token")]
+ public Output Token { get; private set; } = null!;
+
+ ///
+ /// Last update date of the private data source network token.
+ ///
+ [Output("updatedAt")]
+ public Output UpdatedAt { get; private set; } = null!;
+
+
+ ///
+ /// Create a PrivateDataSourceConnectNetworkToken resource with the given unique name, arguments, and options.
+ ///
+ ///
+ /// The unique name of the resource
+ /// The arguments used to populate this resource's properties
+ /// A bag of options that control this resource's behavior
+ public PrivateDataSourceConnectNetworkToken(string name, PrivateDataSourceConnectNetworkTokenArgs args, CustomResourceOptions? options = null)
+ : base("grafana:cloud/privateDataSourceConnectNetworkToken:PrivateDataSourceConnectNetworkToken", name, args ?? new PrivateDataSourceConnectNetworkTokenArgs(), MakeResourceOptions(options, ""))
+ {
+ }
+
+ private PrivateDataSourceConnectNetworkToken(string name, Input id, PrivateDataSourceConnectNetworkTokenState? state = null, CustomResourceOptions? options = null)
+ : base("grafana:cloud/privateDataSourceConnectNetworkToken:PrivateDataSourceConnectNetworkToken", name, state, MakeResourceOptions(options, id))
+ {
+ }
+
+ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id)
+ {
+ var defaultOptions = new CustomResourceOptions
+ {
+ Version = Utilities.Version,
+ PluginDownloadURL = "github://api.github.com/pulumiverse",
+ AdditionalSecretOutputs =
+ {
+ "token",
+ },
+ };
+ var merged = CustomResourceOptions.Merge(defaultOptions, options);
+ // Override the ID if one was specified for consistency with other language SDKs.
+ merged.Id = id ?? merged.Id;
+ return merged;
+ }
+ ///
+ /// Get an existing PrivateDataSourceConnectNetworkToken resource's state with the given name, ID, and optional extra
+ /// properties used to qualify the lookup.
+ ///
+ ///
+ /// The unique name of the resulting resource.
+ /// The unique provider ID of the resource to lookup.
+ /// Any extra arguments used during the lookup.
+ /// A bag of options that control this resource's behavior
+ public static PrivateDataSourceConnectNetworkToken Get(string name, Input id, PrivateDataSourceConnectNetworkTokenState? state = null, CustomResourceOptions? options = null)
+ {
+ return new PrivateDataSourceConnectNetworkToken(name, id, state, options);
+ }
+ }
+
+ public sealed class PrivateDataSourceConnectNetworkTokenArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// Display name of the private data source network token. Defaults to the name.
+ ///
+ [Input("displayName")]
+ public Input? DisplayName { get; set; }
+
+ ///
+ /// Expiration date of the private data source network token. Does not expire by default.
+ ///
+ [Input("expiresAt")]
+ public Input? ExpiresAt { get; set; }
+
+ ///
+ /// Name of the private data source network token.
+ ///
+ [Input("name")]
+ public Input? Name { get; set; }
+
+ ///
+ /// ID of the private data source network for which to create a token.
+ ///
+ [Input("pdcNetworkId", required: true)]
+ public Input PdcNetworkId { get; set; } = null!;
+
+ ///
+ /// Region of the private data source network. Should be set to the same region as the private data source network. Use the region list API to get the list of available regions: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-regions.
+ ///
+ [Input("region", required: true)]
+ public Input Region { get; set; } = null!;
+
+ public PrivateDataSourceConnectNetworkTokenArgs()
+ {
+ }
+ public static new PrivateDataSourceConnectNetworkTokenArgs Empty => new PrivateDataSourceConnectNetworkTokenArgs();
+ }
+
+ public sealed class PrivateDataSourceConnectNetworkTokenState : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// Creation date of the private data source network token.
+ ///
+ [Input("createdAt")]
+ public Input? CreatedAt { get; set; }
+
+ ///
+ /// Display name of the private data source network token. Defaults to the name.
+ ///
+ [Input("displayName")]
+ public Input? DisplayName { get; set; }
+
+ ///
+ /// Expiration date of the private data source network token. Does not expire by default.
+ ///
+ [Input("expiresAt")]
+ public Input? ExpiresAt { get; set; }
+
+ ///
+ /// Name of the private data source network token.
+ ///
+ [Input("name")]
+ public Input? Name { get; set; }
+
+ ///
+ /// ID of the private data source network for which to create a token.
+ ///
+ [Input("pdcNetworkId")]
+ public Input? PdcNetworkId { get; set; }
+
+ ///
+ /// Region of the private data source network. Should be set to the same region as the private data source network. Use the region list API to get the list of available regions: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-regions.
+ ///
+ [Input("region")]
+ public Input? Region { get; set; }
+
+ [Input("token")]
+ private Input? _token;
+ public Input? Token
+ {
+ get => _token;
+ set
+ {
+ var emptySecret = Output.CreateSecret(0);
+ _token = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1);
+ }
+ }
+
+ ///
+ /// Last update date of the private data source network token.
+ ///
+ [Input("updatedAt")]
+ public Input? UpdatedAt { get; set; }
+
+ public PrivateDataSourceConnectNetworkTokenState()
+ {
+ }
+ public static new PrivateDataSourceConnectNetworkTokenState Empty => new PrivateDataSourceConnectNetworkTokenState();
+ }
+}
diff --git a/sdk/dotnet/DataSource.cs b/sdk/dotnet/DataSource.cs
index 772e3d26..5492f532 100644
--- a/sdk/dotnet/DataSource.cs
+++ b/sdk/dotnet/DataSource.cs
@@ -181,6 +181,12 @@ public partial class DataSource : global::Pulumi.CustomResource
[Output("orgId")]
public Output OrgId { get; private set; } = null!;
+ ///
+ /// (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
+ ///
+ [Output("privateDataSourceConnectNetworkId")]
+ public Output PrivateDataSourceConnectNetworkId { get; private set; } = null!;
+
///
/// Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
///
@@ -331,6 +337,12 @@ public InputMap HttpHeaders
[Input("orgId")]
public Input? OrgId { get; set; }
+ ///
+ /// (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
+ ///
+ [Input("privateDataSourceConnectNetworkId")]
+ public Input? PrivateDataSourceConnectNetworkId { get; set; }
+
[Input("secureJsonDataEncoded")]
private Input? _secureJsonDataEncoded;
@@ -443,6 +455,12 @@ public InputMap HttpHeaders
[Input("orgId")]
public Input? OrgId { get; set; }
+ ///
+ /// (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
+ ///
+ [Input("privateDataSourceConnectNetworkId")]
+ public Input? PrivateDataSourceConnectNetworkId { get; set; }
+
[Input("secureJsonDataEncoded")]
private Input? _secureJsonDataEncoded;
diff --git a/sdk/dotnet/GetDataSource.cs b/sdk/dotnet/GetDataSource.cs
index a673ef46..a18d87fd 100644
--- a/sdk/dotnet/GetDataSource.cs
+++ b/sdk/dotnet/GetDataSource.cs
@@ -246,6 +246,10 @@ public sealed class GetDataSourceResult
///
public readonly string? OrgId;
///
+ /// (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source.
+ ///
+ public readonly string PrivateDataSourceConnectNetworkId;
+ ///
/// The data source type. Must be one of the supported data source keywords.
///
public readonly string Type;
@@ -279,6 +283,8 @@ private GetDataSourceResult(
string? orgId,
+ string privateDataSourceConnectNetworkId,
+
string type,
string uid,
@@ -296,6 +302,7 @@ private GetDataSourceResult(
JsonDataEncoded = jsonDataEncoded;
Name = name;
OrgId = orgId;
+ PrivateDataSourceConnectNetworkId = privateDataSourceConnectNetworkId;
Type = type;
Uid = uid;
Url = url;
diff --git a/sdk/dotnet/GetSyntheticMonitoringProbe.cs b/sdk/dotnet/GetSyntheticMonitoringProbe.cs
index bc25dc0c..c8d4cada 100644
--- a/sdk/dotnet/GetSyntheticMonitoringProbe.cs
+++ b/sdk/dotnet/GetSyntheticMonitoringProbe.cs
@@ -26,9 +26,9 @@ public static class GetSyntheticMonitoringProbe
///
/// return await Deployment.RunAsync(() =>
/// {
- /// var atlanta = Grafana.SyntheticMonitoring.GetProbe.Invoke(new()
+ /// var ohio = Grafana.SyntheticMonitoring.GetProbe.Invoke(new()
/// {
- /// Name = "Atlanta",
+ /// Name = "Ohio",
/// });
///
/// });
@@ -50,9 +50,9 @@ public static Task InvokeAsync(GetSyntheticMo
///
/// return await Deployment.RunAsync(() =>
/// {
- /// var atlanta = Grafana.SyntheticMonitoring.GetProbe.Invoke(new()
+ /// var ohio = Grafana.SyntheticMonitoring.GetProbe.Invoke(new()
/// {
- /// Name = "Atlanta",
+ /// Name = "Ohio",
/// });
///
/// });
@@ -74,9 +74,9 @@ public static Output Invoke(GetSyntheticMonit
///
/// return await Deployment.RunAsync(() =>
/// {
- /// var atlanta = Grafana.SyntheticMonitoring.GetProbe.Invoke(new()
+ /// var ohio = Grafana.SyntheticMonitoring.GetProbe.Invoke(new()
/// {
- /// Name = "Atlanta",
+ /// Name = "Ohio",
/// });
///
/// });
@@ -119,6 +119,10 @@ public GetSyntheticMonitoringProbeInvokeArgs()
[OutputType]
public sealed class GetSyntheticMonitoringProbeResult
{
+ ///
+ /// Disables browser checks for this probe.
+ ///
+ public readonly bool DisableBrowserChecks;
///
/// Disables scripted checks for this probe.
///
@@ -158,6 +162,8 @@ public sealed class GetSyntheticMonitoringProbeResult
[OutputConstructor]
private GetSyntheticMonitoringProbeResult(
+ bool disableBrowserChecks,
+
bool disableScriptedChecks,
string id,
@@ -176,6 +182,7 @@ private GetSyntheticMonitoringProbeResult(
int tenantId)
{
+ DisableBrowserChecks = disableBrowserChecks;
DisableScriptedChecks = disableScriptedChecks;
Id = id;
Labels = labels;
diff --git a/sdk/dotnet/Oss/DataSource.cs b/sdk/dotnet/Oss/DataSource.cs
index 4ba522be..69ce36bc 100644
--- a/sdk/dotnet/Oss/DataSource.cs
+++ b/sdk/dotnet/Oss/DataSource.cs
@@ -180,6 +180,12 @@ public partial class DataSource : global::Pulumi.CustomResource
[Output("orgId")]
public Output OrgId { get; private set; } = null!;
+ ///
+ /// (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
+ ///
+ [Output("privateDataSourceConnectNetworkId")]
+ public Output PrivateDataSourceConnectNetworkId { get; private set; } = null!;
+
///
/// Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
///
@@ -330,6 +336,12 @@ public InputMap HttpHeaders
[Input("orgId")]
public Input? OrgId { get; set; }
+ ///
+ /// (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
+ ///
+ [Input("privateDataSourceConnectNetworkId")]
+ public Input? PrivateDataSourceConnectNetworkId { get; set; }
+
[Input("secureJsonDataEncoded")]
private Input? _secureJsonDataEncoded;
@@ -442,6 +454,12 @@ public InputMap HttpHeaders
[Input("orgId")]
public Input? OrgId { get; set; }
+ ///
+ /// (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
+ ///
+ [Input("privateDataSourceConnectNetworkId")]
+ public Input? PrivateDataSourceConnectNetworkId { get; set; }
+
[Input("secureJsonDataEncoded")]
private Input? _secureJsonDataEncoded;
diff --git a/sdk/dotnet/Oss/GetDataSource.cs b/sdk/dotnet/Oss/GetDataSource.cs
index 2fe57325..679b6b01 100644
--- a/sdk/dotnet/Oss/GetDataSource.cs
+++ b/sdk/dotnet/Oss/GetDataSource.cs
@@ -245,6 +245,10 @@ public sealed class GetDataSourceResult
///
public readonly string? OrgId;
///
+ /// (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source.
+ ///
+ public readonly string PrivateDataSourceConnectNetworkId;
+ ///
/// The data source type. Must be one of the supported data source keywords.
///
public readonly string Type;
@@ -278,6 +282,8 @@ private GetDataSourceResult(
string? orgId,
+ string privateDataSourceConnectNetworkId,
+
string type,
string uid,
@@ -295,6 +301,7 @@ private GetDataSourceResult(
JsonDataEncoded = jsonDataEncoded;
Name = name;
OrgId = orgId;
+ PrivateDataSourceConnectNetworkId = privateDataSourceConnectNetworkId;
Type = type;
Uid = uid;
Url = url;
diff --git a/sdk/dotnet/SyntheticMonitoring/Check.cs b/sdk/dotnet/SyntheticMonitoring/Check.cs
index 805ae7e3..a2c270c5 100644
--- a/sdk/dotnet/SyntheticMonitoring/Check.cs
+++ b/sdk/dotnet/SyntheticMonitoring/Check.cs
@@ -41,7 +41,7 @@ namespace Pulumiverse.Grafana.SyntheticMonitoring
/// Enabled = false,
/// Probes = new[]
/// {
- /// main.Apply(getProbesResult => getProbesResult.Probes?.Atlanta),
+ /// main.Apply(getProbesResult => getProbesResult.Probes?.Ohio),
/// },
/// Labels =
/// {
@@ -160,7 +160,7 @@ namespace Pulumiverse.Grafana.SyntheticMonitoring
/// Enabled = false,
/// Probes = new[]
/// {
- /// main.Apply(getProbesResult => getProbesResult.Probes?.Atlanta),
+ /// main.Apply(getProbesResult => getProbesResult.Probes?.Ohio),
/// },
/// Labels =
/// {
@@ -195,7 +195,7 @@ namespace Pulumiverse.Grafana.SyntheticMonitoring
/// Enabled = false,
/// Probes = new[]
/// {
- /// main.Apply(getProbesResult => getProbesResult.Probes?.Bangalore),
+ /// main.Apply(getProbesResult => getProbesResult.Probes?.Mumbai),
/// main.Apply(getProbesResult => getProbesResult.Probes?.Mumbai),
/// },
/// Labels =
@@ -312,7 +312,7 @@ namespace Pulumiverse.Grafana.SyntheticMonitoring
/// Enabled = false,
/// Probes = new[]
/// {
- /// main.Apply(getProbesResult => getProbesResult.Probes?.Atlanta),
+ /// main.Apply(getProbesResult => getProbesResult.Probes?.Ohio),
/// },
/// Labels =
/// {
@@ -388,7 +388,7 @@ namespace Pulumiverse.Grafana.SyntheticMonitoring
/// Enabled = false,
/// Probes = new[]
/// {
- /// main.Apply(getProbesResult => getProbesResult.Probes?.Atlanta),
+ /// main.Apply(getProbesResult => getProbesResult.Probes?.Ohio),
/// },
/// Labels =
/// {
@@ -511,7 +511,7 @@ namespace Pulumiverse.Grafana.SyntheticMonitoring
/// Timeout = 30000,
/// Probes = new[]
/// {
- /// main.Apply(getProbesResult => getProbesResult.Probes?.Atlanta),
+ /// main.Apply(getProbesResult => getProbesResult.Probes?.Ohio),
/// },
/// Labels =
/// {
diff --git a/sdk/dotnet/SyntheticMonitoring/GetProbe.cs b/sdk/dotnet/SyntheticMonitoring/GetProbe.cs
index 76507533..50be9b7c 100644
--- a/sdk/dotnet/SyntheticMonitoring/GetProbe.cs
+++ b/sdk/dotnet/SyntheticMonitoring/GetProbe.cs
@@ -25,9 +25,9 @@ public static class GetProbe
///
/// return await Deployment.RunAsync(() =>
/// {
- /// var atlanta = Grafana.SyntheticMonitoring.GetProbe.Invoke(new()
+ /// var ohio = Grafana.SyntheticMonitoring.GetProbe.Invoke(new()
/// {
- /// Name = "Atlanta",
+ /// Name = "Ohio",
/// });
///
/// });
@@ -49,9 +49,9 @@ public static Task InvokeAsync(GetProbeArgs args, InvokeOptions?
///
/// return await Deployment.RunAsync(() =>
/// {
- /// var atlanta = Grafana.SyntheticMonitoring.GetProbe.Invoke(new()
+ /// var ohio = Grafana.SyntheticMonitoring.GetProbe.Invoke(new()
/// {
- /// Name = "Atlanta",
+ /// Name = "Ohio",
/// });
///
/// });
@@ -73,9 +73,9 @@ public static Output Invoke(GetProbeInvokeArgs args, InvokeOptio
///
/// return await Deployment.RunAsync(() =>
/// {
- /// var atlanta = Grafana.SyntheticMonitoring.GetProbe.Invoke(new()
+ /// var ohio = Grafana.SyntheticMonitoring.GetProbe.Invoke(new()
/// {
- /// Name = "Atlanta",
+ /// Name = "Ohio",
/// });
///
/// });
@@ -118,6 +118,10 @@ public GetProbeInvokeArgs()
[OutputType]
public sealed class GetProbeResult
{
+ ///
+ /// Disables browser checks for this probe.
+ ///
+ public readonly bool DisableBrowserChecks;
///
/// Disables scripted checks for this probe.
///
@@ -157,6 +161,8 @@ public sealed class GetProbeResult
[OutputConstructor]
private GetProbeResult(
+ bool disableBrowserChecks,
+
bool disableScriptedChecks,
string id,
@@ -175,6 +181,7 @@ private GetProbeResult(
int tenantId)
{
+ DisableBrowserChecks = disableBrowserChecks;
DisableScriptedChecks = disableScriptedChecks;
Id = id;
Labels = labels;
diff --git a/sdk/dotnet/SyntheticMonitoring/Probe.cs b/sdk/dotnet/SyntheticMonitoring/Probe.cs
index f2e75002..60cc868e 100644
--- a/sdk/dotnet/SyntheticMonitoring/Probe.cs
+++ b/sdk/dotnet/SyntheticMonitoring/Probe.cs
@@ -62,6 +62,12 @@ public partial class Probe : global::Pulumi.CustomResource
[Output("authToken")]
public Output AuthToken { get; private set; } = null!;
+ ///
+ /// Disables browser checks for this probe. Defaults to `false`.
+ ///
+ [Output("disableBrowserChecks")]
+ public Output DisableBrowserChecks { get; private set; } = null!;
+
///
/// Disables scripted checks for this probe. Defaults to `false`.
///
@@ -165,6 +171,12 @@ public static Probe Get(string name, Input id, ProbeState? state = null,
public sealed class ProbeArgs : global::Pulumi.ResourceArgs
{
+ ///
+ /// Disables browser checks for this probe. Defaults to `false`.
+ ///
+ [Input("disableBrowserChecks")]
+ public Input? DisableBrowserChecks { get; set; }
+
///
/// Disables scripted checks for this probe. Defaults to `false`.
///
@@ -237,6 +249,12 @@ public Input? AuthToken
}
}
+ ///
+ /// Disables browser checks for this probe. Defaults to `false`.
+ ///
+ [Input("disableBrowserChecks")]
+ public Input? DisableBrowserChecks { get; set; }
+
///
/// Disables scripted checks for this probe. Defaults to `false`.
///
diff --git a/sdk/dotnet/SyntheticMonitoringCheck.cs b/sdk/dotnet/SyntheticMonitoringCheck.cs
index a2eeb551..3ee1bcb3 100644
--- a/sdk/dotnet/SyntheticMonitoringCheck.cs
+++ b/sdk/dotnet/SyntheticMonitoringCheck.cs
@@ -41,7 +41,7 @@ namespace Pulumiverse.Grafana
/// Enabled = false,
/// Probes = new[]
/// {
- /// main.Apply(getProbesResult => getProbesResult.Probes?.Atlanta),
+ /// main.Apply(getProbesResult => getProbesResult.Probes?.Ohio),
/// },
/// Labels =
/// {
@@ -160,7 +160,7 @@ namespace Pulumiverse.Grafana
/// Enabled = false,
/// Probes = new[]
/// {
- /// main.Apply(getProbesResult => getProbesResult.Probes?.Atlanta),
+ /// main.Apply(getProbesResult => getProbesResult.Probes?.Ohio),
/// },
/// Labels =
/// {
@@ -195,7 +195,7 @@ namespace Pulumiverse.Grafana
/// Enabled = false,
/// Probes = new[]
/// {
- /// main.Apply(getProbesResult => getProbesResult.Probes?.Bangalore),
+ /// main.Apply(getProbesResult => getProbesResult.Probes?.Mumbai),
/// main.Apply(getProbesResult => getProbesResult.Probes?.Mumbai),
/// },
/// Labels =
@@ -312,7 +312,7 @@ namespace Pulumiverse.Grafana
/// Enabled = false,
/// Probes = new[]
/// {
- /// main.Apply(getProbesResult => getProbesResult.Probes?.Atlanta),
+ /// main.Apply(getProbesResult => getProbesResult.Probes?.Ohio),
/// },
/// Labels =
/// {
@@ -388,7 +388,7 @@ namespace Pulumiverse.Grafana
/// Enabled = false,
/// Probes = new[]
/// {
- /// main.Apply(getProbesResult => getProbesResult.Probes?.Atlanta),
+ /// main.Apply(getProbesResult => getProbesResult.Probes?.Ohio),
/// },
/// Labels =
/// {
@@ -511,7 +511,7 @@ namespace Pulumiverse.Grafana
/// Timeout = 30000,
/// Probes = new[]
/// {
- /// main.Apply(getProbesResult => getProbesResult.Probes?.Atlanta),
+ /// main.Apply(getProbesResult => getProbesResult.Probes?.Ohio),
/// },
/// Labels =
/// {
diff --git a/sdk/dotnet/SyntheticMonitoringProbe.cs b/sdk/dotnet/SyntheticMonitoringProbe.cs
index f412a6a3..eddebe61 100644
--- a/sdk/dotnet/SyntheticMonitoringProbe.cs
+++ b/sdk/dotnet/SyntheticMonitoringProbe.cs
@@ -63,6 +63,12 @@ public partial class SyntheticMonitoringProbe : global::Pulumi.CustomResource
[Output("authToken")]
public Output AuthToken { get; private set; } = null!;
+ ///
+ /// Disables browser checks for this probe. Defaults to `false`.
+ ///
+ [Output("disableBrowserChecks")]
+ public Output DisableBrowserChecks { get; private set; } = null!;
+
///
/// Disables scripted checks for this probe. Defaults to `false`.
///
@@ -162,6 +168,12 @@ public static SyntheticMonitoringProbe Get(string name, Input id, Synthe
public sealed class SyntheticMonitoringProbeArgs : global::Pulumi.ResourceArgs
{
+ ///
+ /// Disables browser checks for this probe. Defaults to `false`.
+ ///
+ [Input("disableBrowserChecks")]
+ public Input? DisableBrowserChecks { get; set; }
+
///
/// Disables scripted checks for this probe. Defaults to `false`.
///
@@ -234,6 +246,12 @@ public Input? AuthToken
}
}
+ ///
+ /// Disables browser checks for this probe. Defaults to `false`.
+ ///
+ [Input("disableBrowserChecks")]
+ public Input? DisableBrowserChecks { get; set; }
+
///
/// Disables scripted checks for this probe. Defaults to `false`.
///
diff --git a/sdk/go/grafana/cloud/getPrivateDataSourceConnectNetworks.go b/sdk/go/grafana/cloud/getPrivateDataSourceConnectNetworks.go
new file mode 100644
index 00000000..33f84b56
--- /dev/null
+++ b/sdk/go/grafana/cloud/getPrivateDataSourceConnectNetworks.go
@@ -0,0 +1,102 @@
+// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
+// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
+
+package cloud
+
+import (
+ "context"
+ "reflect"
+
+ "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
+ "github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/internal"
+)
+
+// Fetches Private Data source Connect networks from Grafana Cloud.
+//
+// * [Official documentation](https://grafana.com/docs/grafana-cloud/account-management/authentication-and-permissions/access-policies/)
+// * [API documentation](https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-access-policies)
+//
+// Required access policy scopes:
+//
+// * accesspolicies:read
+func GetPrivateDataSourceConnectNetworks(ctx *pulumi.Context, args *GetPrivateDataSourceConnectNetworksArgs, opts ...pulumi.InvokeOption) (*GetPrivateDataSourceConnectNetworksResult, error) {
+ opts = internal.PkgInvokeDefaultOpts(opts)
+ var rv GetPrivateDataSourceConnectNetworksResult
+ err := ctx.Invoke("grafana:cloud/getPrivateDataSourceConnectNetworks:getPrivateDataSourceConnectNetworks", args, &rv, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return &rv, nil
+}
+
+// A collection of arguments for invoking getPrivateDataSourceConnectNetworks.
+type GetPrivateDataSourceConnectNetworksArgs struct {
+ NameFilter *string `pulumi:"nameFilter"`
+ RegionFilter *string `pulumi:"regionFilter"`
+}
+
+// A collection of values returned by getPrivateDataSourceConnectNetworks.
+type GetPrivateDataSourceConnectNetworksResult struct {
+ // The ID of this datasource. This is an internal identifier used by the provider to track this datasource.
+ Id string `pulumi:"id"`
+ NameFilter *string `pulumi:"nameFilter"`
+ PrivateDataSourceConnectNetworks []GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetwork `pulumi:"privateDataSourceConnectNetworks"`
+ RegionFilter *string `pulumi:"regionFilter"`
+}
+
+func GetPrivateDataSourceConnectNetworksOutput(ctx *pulumi.Context, args GetPrivateDataSourceConnectNetworksOutputArgs, opts ...pulumi.InvokeOption) GetPrivateDataSourceConnectNetworksResultOutput {
+ return pulumi.ToOutputWithContext(ctx.Context(), args).
+ ApplyT(func(v interface{}) (GetPrivateDataSourceConnectNetworksResultOutput, error) {
+ args := v.(GetPrivateDataSourceConnectNetworksArgs)
+ options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)}
+ return ctx.InvokeOutput("grafana:cloud/getPrivateDataSourceConnectNetworks:getPrivateDataSourceConnectNetworks", args, GetPrivateDataSourceConnectNetworksResultOutput{}, options).(GetPrivateDataSourceConnectNetworksResultOutput), nil
+ }).(GetPrivateDataSourceConnectNetworksResultOutput)
+}
+
+// A collection of arguments for invoking getPrivateDataSourceConnectNetworks.
+type GetPrivateDataSourceConnectNetworksOutputArgs struct {
+ NameFilter pulumi.StringPtrInput `pulumi:"nameFilter"`
+ RegionFilter pulumi.StringPtrInput `pulumi:"regionFilter"`
+}
+
+func (GetPrivateDataSourceConnectNetworksOutputArgs) ElementType() reflect.Type {
+ return reflect.TypeOf((*GetPrivateDataSourceConnectNetworksArgs)(nil)).Elem()
+}
+
+// A collection of values returned by getPrivateDataSourceConnectNetworks.
+type GetPrivateDataSourceConnectNetworksResultOutput struct{ *pulumi.OutputState }
+
+func (GetPrivateDataSourceConnectNetworksResultOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*GetPrivateDataSourceConnectNetworksResult)(nil)).Elem()
+}
+
+func (o GetPrivateDataSourceConnectNetworksResultOutput) ToGetPrivateDataSourceConnectNetworksResultOutput() GetPrivateDataSourceConnectNetworksResultOutput {
+ return o
+}
+
+func (o GetPrivateDataSourceConnectNetworksResultOutput) ToGetPrivateDataSourceConnectNetworksResultOutputWithContext(ctx context.Context) GetPrivateDataSourceConnectNetworksResultOutput {
+ return o
+}
+
+// The ID of this datasource. This is an internal identifier used by the provider to track this datasource.
+func (o GetPrivateDataSourceConnectNetworksResultOutput) Id() pulumi.StringOutput {
+ return o.ApplyT(func(v GetPrivateDataSourceConnectNetworksResult) string { return v.Id }).(pulumi.StringOutput)
+}
+
+func (o GetPrivateDataSourceConnectNetworksResultOutput) NameFilter() pulumi.StringPtrOutput {
+ return o.ApplyT(func(v GetPrivateDataSourceConnectNetworksResult) *string { return v.NameFilter }).(pulumi.StringPtrOutput)
+}
+
+func (o GetPrivateDataSourceConnectNetworksResultOutput) PrivateDataSourceConnectNetworks() GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArrayOutput {
+ return o.ApplyT(func(v GetPrivateDataSourceConnectNetworksResult) []GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetwork {
+ return v.PrivateDataSourceConnectNetworks
+ }).(GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArrayOutput)
+}
+
+func (o GetPrivateDataSourceConnectNetworksResultOutput) RegionFilter() pulumi.StringPtrOutput {
+ return o.ApplyT(func(v GetPrivateDataSourceConnectNetworksResult) *string { return v.RegionFilter }).(pulumi.StringPtrOutput)
+}
+
+func init() {
+ pulumi.RegisterOutputType(GetPrivateDataSourceConnectNetworksResultOutput{})
+}
diff --git a/sdk/go/grafana/cloud/init.go b/sdk/go/grafana/cloud/init.go
index a2c94175..e510e762 100644
--- a/sdk/go/grafana/cloud/init.go
+++ b/sdk/go/grafana/cloud/init.go
@@ -29,6 +29,10 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi
r = &OrgMember{}
case "grafana:cloud/pluginInstallation:PluginInstallation":
r = &PluginInstallation{}
+ case "grafana:cloud/privateDataSourceConnectNetwork:PrivateDataSourceConnectNetwork":
+ r = &PrivateDataSourceConnectNetwork{}
+ case "grafana:cloud/privateDataSourceConnectNetworkToken:PrivateDataSourceConnectNetworkToken":
+ r = &PrivateDataSourceConnectNetworkToken{}
case "grafana:cloud/providerAwsAccount:ProviderAwsAccount":
r = &ProviderAwsAccount{}
case "grafana:cloud/providerAwsCloudwatchScrapeJob:ProviderAwsCloudwatchScrapeJob":
@@ -74,6 +78,16 @@ func init() {
"cloud/pluginInstallation",
&module{version},
)
+ pulumi.RegisterResourceModule(
+ "grafana",
+ "cloud/privateDataSourceConnectNetwork",
+ &module{version},
+ )
+ pulumi.RegisterResourceModule(
+ "grafana",
+ "cloud/privateDataSourceConnectNetworkToken",
+ &module{version},
+ )
pulumi.RegisterResourceModule(
"grafana",
"cloud/providerAwsAccount",
diff --git a/sdk/go/grafana/cloud/privateDataSourceConnectNetwork.go b/sdk/go/grafana/cloud/privateDataSourceConnectNetwork.go
new file mode 100644
index 00000000..f0bdeb55
--- /dev/null
+++ b/sdk/go/grafana/cloud/privateDataSourceConnectNetwork.go
@@ -0,0 +1,357 @@
+// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
+// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
+
+package cloud
+
+import (
+ "context"
+ "reflect"
+
+ "errors"
+ "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
+ "github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/internal"
+)
+
+// * [Official documentation](https://grafana.com/docs/grafana-cloud/connect-externally-hosted/private-data-source-connect/)
+// * [API documentation](https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#create-an-access-policy)
+//
+// Required access policy scopes:
+//
+// * accesspolicies:read
+// * accesspolicies:write
+// * accesspolicies:delete
+//
+// ## Example Usage
+//
+// ```go
+// package main
+//
+// import (
+//
+// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
+// "github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/cloud"
+//
+// )
+//
+// func main() {
+// pulumi.Run(func(ctx *pulumi.Context) error {
+// current, err := cloud.LookupStack(ctx, &cloud.LookupStackArgs{
+// Slug: "",
+// }, nil)
+// if err != nil {
+// return err
+// }
+// test, err := cloud.NewPrivateDataSourceConnectNetwork(ctx, "test", &cloud.PrivateDataSourceConnectNetworkArgs{
+// Region: pulumi.String("us"),
+// Name: pulumi.String("my-pdc"),
+// DisplayName: pulumi.String("My PDC"),
+// StackIdentifier: pulumi.String(current.Id),
+// })
+// if err != nil {
+// return err
+// }
+// _, err = cloud.NewPrivateDataSourceConnectNetworkToken(ctx, "test", &cloud.PrivateDataSourceConnectNetworkTokenArgs{
+// PdcNetworkId: test.PdcNetworkId,
+// Region: test.Region,
+// Name: pulumi.String("my-pdc-token"),
+// DisplayName: pulumi.String("My PDC Token"),
+// })
+// if err != nil {
+// return err
+// }
+// return nil
+// })
+// }
+//
+// ```
+//
+// ## Import
+//
+// ```sh
+// $ pulumi import grafana:cloud/privateDataSourceConnectNetwork:PrivateDataSourceConnectNetwork name "{{ region }}:{{ policyId }}"
+// ```
+type PrivateDataSourceConnectNetwork struct {
+ pulumi.CustomResourceState
+
+ // Creation date of the private data source connect network.
+ CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
+ // Display name of the PDC network. Defaults to the name.
+ DisplayName pulumi.StringPtrOutput `pulumi:"displayName"`
+ // Name of the PDC network.**Note:** The name must be lowercase and can contain hyphens or underscores. See full requirements here: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#request-body
+ Name pulumi.StringOutput `pulumi:"name"`
+ // ID of the private data source connect network.
+ PdcNetworkId pulumi.StringOutput `pulumi:"pdcNetworkId"`
+ // The region where your stack is deployed. Use the instances list API to get the region for your instance - use the regionSlug property: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-stacks
+ Region pulumi.StringOutput `pulumi:"region"`
+ // The identifier of the stack.
+ StackIdentifier pulumi.StringOutput `pulumi:"stackIdentifier"`
+ // Last update date of the private data source connect network.
+ UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"`
+}
+
+// NewPrivateDataSourceConnectNetwork registers a new resource with the given unique name, arguments, and options.
+func NewPrivateDataSourceConnectNetwork(ctx *pulumi.Context,
+ name string, args *PrivateDataSourceConnectNetworkArgs, opts ...pulumi.ResourceOption) (*PrivateDataSourceConnectNetwork, error) {
+ if args == nil {
+ return nil, errors.New("missing one or more required arguments")
+ }
+
+ if args.Region == nil {
+ return nil, errors.New("invalid value for required argument 'Region'")
+ }
+ if args.StackIdentifier == nil {
+ return nil, errors.New("invalid value for required argument 'StackIdentifier'")
+ }
+ opts = internal.PkgResourceDefaultOpts(opts)
+ var resource PrivateDataSourceConnectNetwork
+ err := ctx.RegisterResource("grafana:cloud/privateDataSourceConnectNetwork:PrivateDataSourceConnectNetwork", name, args, &resource, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return &resource, nil
+}
+
+// GetPrivateDataSourceConnectNetwork gets an existing PrivateDataSourceConnectNetwork 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 GetPrivateDataSourceConnectNetwork(ctx *pulumi.Context,
+ name string, id pulumi.IDInput, state *PrivateDataSourceConnectNetworkState, opts ...pulumi.ResourceOption) (*PrivateDataSourceConnectNetwork, error) {
+ var resource PrivateDataSourceConnectNetwork
+ err := ctx.ReadResource("grafana:cloud/privateDataSourceConnectNetwork:PrivateDataSourceConnectNetwork", name, id, state, &resource, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return &resource, nil
+}
+
+// Input properties used for looking up and filtering PrivateDataSourceConnectNetwork resources.
+type privateDataSourceConnectNetworkState struct {
+ // Creation date of the private data source connect network.
+ CreatedAt *string `pulumi:"createdAt"`
+ // Display name of the PDC network. Defaults to the name.
+ DisplayName *string `pulumi:"displayName"`
+ // Name of the PDC network.**Note:** The name must be lowercase and can contain hyphens or underscores. See full requirements here: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#request-body
+ Name *string `pulumi:"name"`
+ // ID of the private data source connect network.
+ PdcNetworkId *string `pulumi:"pdcNetworkId"`
+ // The region where your stack is deployed. Use the instances list API to get the region for your instance - use the regionSlug property: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-stacks
+ Region *string `pulumi:"region"`
+ // The identifier of the stack.
+ StackIdentifier *string `pulumi:"stackIdentifier"`
+ // Last update date of the private data source connect network.
+ UpdatedAt *string `pulumi:"updatedAt"`
+}
+
+type PrivateDataSourceConnectNetworkState struct {
+ // Creation date of the private data source connect network.
+ CreatedAt pulumi.StringPtrInput
+ // Display name of the PDC network. Defaults to the name.
+ DisplayName pulumi.StringPtrInput
+ // Name of the PDC network.**Note:** The name must be lowercase and can contain hyphens or underscores. See full requirements here: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#request-body
+ Name pulumi.StringPtrInput
+ // ID of the private data source connect network.
+ PdcNetworkId pulumi.StringPtrInput
+ // The region where your stack is deployed. Use the instances list API to get the region for your instance - use the regionSlug property: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-stacks
+ Region pulumi.StringPtrInput
+ // The identifier of the stack.
+ StackIdentifier pulumi.StringPtrInput
+ // Last update date of the private data source connect network.
+ UpdatedAt pulumi.StringPtrInput
+}
+
+func (PrivateDataSourceConnectNetworkState) ElementType() reflect.Type {
+ return reflect.TypeOf((*privateDataSourceConnectNetworkState)(nil)).Elem()
+}
+
+type privateDataSourceConnectNetworkArgs struct {
+ // Display name of the PDC network. Defaults to the name.
+ DisplayName *string `pulumi:"displayName"`
+ // Name of the PDC network.**Note:** The name must be lowercase and can contain hyphens or underscores. See full requirements here: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#request-body
+ Name *string `pulumi:"name"`
+ // The region where your stack is deployed. Use the instances list API to get the region for your instance - use the regionSlug property: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-stacks
+ Region string `pulumi:"region"`
+ // The identifier of the stack.
+ StackIdentifier string `pulumi:"stackIdentifier"`
+}
+
+// The set of arguments for constructing a PrivateDataSourceConnectNetwork resource.
+type PrivateDataSourceConnectNetworkArgs struct {
+ // Display name of the PDC network. Defaults to the name.
+ DisplayName pulumi.StringPtrInput
+ // Name of the PDC network.**Note:** The name must be lowercase and can contain hyphens or underscores. See full requirements here: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#request-body
+ Name pulumi.StringPtrInput
+ // The region where your stack is deployed. Use the instances list API to get the region for your instance - use the regionSlug property: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-stacks
+ Region pulumi.StringInput
+ // The identifier of the stack.
+ StackIdentifier pulumi.StringInput
+}
+
+func (PrivateDataSourceConnectNetworkArgs) ElementType() reflect.Type {
+ return reflect.TypeOf((*privateDataSourceConnectNetworkArgs)(nil)).Elem()
+}
+
+type PrivateDataSourceConnectNetworkInput interface {
+ pulumi.Input
+
+ ToPrivateDataSourceConnectNetworkOutput() PrivateDataSourceConnectNetworkOutput
+ ToPrivateDataSourceConnectNetworkOutputWithContext(ctx context.Context) PrivateDataSourceConnectNetworkOutput
+}
+
+func (*PrivateDataSourceConnectNetwork) ElementType() reflect.Type {
+ return reflect.TypeOf((**PrivateDataSourceConnectNetwork)(nil)).Elem()
+}
+
+func (i *PrivateDataSourceConnectNetwork) ToPrivateDataSourceConnectNetworkOutput() PrivateDataSourceConnectNetworkOutput {
+ return i.ToPrivateDataSourceConnectNetworkOutputWithContext(context.Background())
+}
+
+func (i *PrivateDataSourceConnectNetwork) ToPrivateDataSourceConnectNetworkOutputWithContext(ctx context.Context) PrivateDataSourceConnectNetworkOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(PrivateDataSourceConnectNetworkOutput)
+}
+
+// PrivateDataSourceConnectNetworkArrayInput is an input type that accepts PrivateDataSourceConnectNetworkArray and PrivateDataSourceConnectNetworkArrayOutput values.
+// You can construct a concrete instance of `PrivateDataSourceConnectNetworkArrayInput` via:
+//
+// PrivateDataSourceConnectNetworkArray{ PrivateDataSourceConnectNetworkArgs{...} }
+type PrivateDataSourceConnectNetworkArrayInput interface {
+ pulumi.Input
+
+ ToPrivateDataSourceConnectNetworkArrayOutput() PrivateDataSourceConnectNetworkArrayOutput
+ ToPrivateDataSourceConnectNetworkArrayOutputWithContext(context.Context) PrivateDataSourceConnectNetworkArrayOutput
+}
+
+type PrivateDataSourceConnectNetworkArray []PrivateDataSourceConnectNetworkInput
+
+func (PrivateDataSourceConnectNetworkArray) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]*PrivateDataSourceConnectNetwork)(nil)).Elem()
+}
+
+func (i PrivateDataSourceConnectNetworkArray) ToPrivateDataSourceConnectNetworkArrayOutput() PrivateDataSourceConnectNetworkArrayOutput {
+ return i.ToPrivateDataSourceConnectNetworkArrayOutputWithContext(context.Background())
+}
+
+func (i PrivateDataSourceConnectNetworkArray) ToPrivateDataSourceConnectNetworkArrayOutputWithContext(ctx context.Context) PrivateDataSourceConnectNetworkArrayOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(PrivateDataSourceConnectNetworkArrayOutput)
+}
+
+// PrivateDataSourceConnectNetworkMapInput is an input type that accepts PrivateDataSourceConnectNetworkMap and PrivateDataSourceConnectNetworkMapOutput values.
+// You can construct a concrete instance of `PrivateDataSourceConnectNetworkMapInput` via:
+//
+// PrivateDataSourceConnectNetworkMap{ "key": PrivateDataSourceConnectNetworkArgs{...} }
+type PrivateDataSourceConnectNetworkMapInput interface {
+ pulumi.Input
+
+ ToPrivateDataSourceConnectNetworkMapOutput() PrivateDataSourceConnectNetworkMapOutput
+ ToPrivateDataSourceConnectNetworkMapOutputWithContext(context.Context) PrivateDataSourceConnectNetworkMapOutput
+}
+
+type PrivateDataSourceConnectNetworkMap map[string]PrivateDataSourceConnectNetworkInput
+
+func (PrivateDataSourceConnectNetworkMap) ElementType() reflect.Type {
+ return reflect.TypeOf((*map[string]*PrivateDataSourceConnectNetwork)(nil)).Elem()
+}
+
+func (i PrivateDataSourceConnectNetworkMap) ToPrivateDataSourceConnectNetworkMapOutput() PrivateDataSourceConnectNetworkMapOutput {
+ return i.ToPrivateDataSourceConnectNetworkMapOutputWithContext(context.Background())
+}
+
+func (i PrivateDataSourceConnectNetworkMap) ToPrivateDataSourceConnectNetworkMapOutputWithContext(ctx context.Context) PrivateDataSourceConnectNetworkMapOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(PrivateDataSourceConnectNetworkMapOutput)
+}
+
+type PrivateDataSourceConnectNetworkOutput struct{ *pulumi.OutputState }
+
+func (PrivateDataSourceConnectNetworkOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((**PrivateDataSourceConnectNetwork)(nil)).Elem()
+}
+
+func (o PrivateDataSourceConnectNetworkOutput) ToPrivateDataSourceConnectNetworkOutput() PrivateDataSourceConnectNetworkOutput {
+ return o
+}
+
+func (o PrivateDataSourceConnectNetworkOutput) ToPrivateDataSourceConnectNetworkOutputWithContext(ctx context.Context) PrivateDataSourceConnectNetworkOutput {
+ return o
+}
+
+// Creation date of the private data source connect network.
+func (o PrivateDataSourceConnectNetworkOutput) CreatedAt() pulumi.StringOutput {
+ return o.ApplyT(func(v *PrivateDataSourceConnectNetwork) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput)
+}
+
+// Display name of the PDC network. Defaults to the name.
+func (o PrivateDataSourceConnectNetworkOutput) DisplayName() pulumi.StringPtrOutput {
+ return o.ApplyT(func(v *PrivateDataSourceConnectNetwork) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput)
+}
+
+// Name of the PDC network.**Note:** The name must be lowercase and can contain hyphens or underscores. See full requirements here: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#request-body
+func (o PrivateDataSourceConnectNetworkOutput) Name() pulumi.StringOutput {
+ return o.ApplyT(func(v *PrivateDataSourceConnectNetwork) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
+}
+
+// ID of the private data source connect network.
+func (o PrivateDataSourceConnectNetworkOutput) PdcNetworkId() pulumi.StringOutput {
+ return o.ApplyT(func(v *PrivateDataSourceConnectNetwork) pulumi.StringOutput { return v.PdcNetworkId }).(pulumi.StringOutput)
+}
+
+// The region where your stack is deployed. Use the instances list API to get the region for your instance - use the regionSlug property: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-stacks
+func (o PrivateDataSourceConnectNetworkOutput) Region() pulumi.StringOutput {
+ return o.ApplyT(func(v *PrivateDataSourceConnectNetwork) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput)
+}
+
+// The identifier of the stack.
+func (o PrivateDataSourceConnectNetworkOutput) StackIdentifier() pulumi.StringOutput {
+ return o.ApplyT(func(v *PrivateDataSourceConnectNetwork) pulumi.StringOutput { return v.StackIdentifier }).(pulumi.StringOutput)
+}
+
+// Last update date of the private data source connect network.
+func (o PrivateDataSourceConnectNetworkOutput) UpdatedAt() pulumi.StringOutput {
+ return o.ApplyT(func(v *PrivateDataSourceConnectNetwork) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput)
+}
+
+type PrivateDataSourceConnectNetworkArrayOutput struct{ *pulumi.OutputState }
+
+func (PrivateDataSourceConnectNetworkArrayOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]*PrivateDataSourceConnectNetwork)(nil)).Elem()
+}
+
+func (o PrivateDataSourceConnectNetworkArrayOutput) ToPrivateDataSourceConnectNetworkArrayOutput() PrivateDataSourceConnectNetworkArrayOutput {
+ return o
+}
+
+func (o PrivateDataSourceConnectNetworkArrayOutput) ToPrivateDataSourceConnectNetworkArrayOutputWithContext(ctx context.Context) PrivateDataSourceConnectNetworkArrayOutput {
+ return o
+}
+
+func (o PrivateDataSourceConnectNetworkArrayOutput) Index(i pulumi.IntInput) PrivateDataSourceConnectNetworkOutput {
+ return pulumi.All(o, i).ApplyT(func(vs []interface{}) *PrivateDataSourceConnectNetwork {
+ return vs[0].([]*PrivateDataSourceConnectNetwork)[vs[1].(int)]
+ }).(PrivateDataSourceConnectNetworkOutput)
+}
+
+type PrivateDataSourceConnectNetworkMapOutput struct{ *pulumi.OutputState }
+
+func (PrivateDataSourceConnectNetworkMapOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*map[string]*PrivateDataSourceConnectNetwork)(nil)).Elem()
+}
+
+func (o PrivateDataSourceConnectNetworkMapOutput) ToPrivateDataSourceConnectNetworkMapOutput() PrivateDataSourceConnectNetworkMapOutput {
+ return o
+}
+
+func (o PrivateDataSourceConnectNetworkMapOutput) ToPrivateDataSourceConnectNetworkMapOutputWithContext(ctx context.Context) PrivateDataSourceConnectNetworkMapOutput {
+ return o
+}
+
+func (o PrivateDataSourceConnectNetworkMapOutput) MapIndex(k pulumi.StringInput) PrivateDataSourceConnectNetworkOutput {
+ return pulumi.All(o, k).ApplyT(func(vs []interface{}) *PrivateDataSourceConnectNetwork {
+ return vs[0].(map[string]*PrivateDataSourceConnectNetwork)[vs[1].(string)]
+ }).(PrivateDataSourceConnectNetworkOutput)
+}
+
+func init() {
+ pulumi.RegisterInputType(reflect.TypeOf((*PrivateDataSourceConnectNetworkInput)(nil)).Elem(), &PrivateDataSourceConnectNetwork{})
+ pulumi.RegisterInputType(reflect.TypeOf((*PrivateDataSourceConnectNetworkArrayInput)(nil)).Elem(), PrivateDataSourceConnectNetworkArray{})
+ pulumi.RegisterInputType(reflect.TypeOf((*PrivateDataSourceConnectNetworkMapInput)(nil)).Elem(), PrivateDataSourceConnectNetworkMap{})
+ pulumi.RegisterOutputType(PrivateDataSourceConnectNetworkOutput{})
+ pulumi.RegisterOutputType(PrivateDataSourceConnectNetworkArrayOutput{})
+ pulumi.RegisterOutputType(PrivateDataSourceConnectNetworkMapOutput{})
+}
diff --git a/sdk/go/grafana/cloud/privateDataSourceConnectNetworkToken.go b/sdk/go/grafana/cloud/privateDataSourceConnectNetworkToken.go
new file mode 100644
index 00000000..7dfd6c7e
--- /dev/null
+++ b/sdk/go/grafana/cloud/privateDataSourceConnectNetworkToken.go
@@ -0,0 +1,372 @@
+// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
+// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
+
+package cloud
+
+import (
+ "context"
+ "reflect"
+
+ "errors"
+ "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
+ "github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/internal"
+)
+
+// * [Official documentation](https://grafana.com/docs/grafana-cloud/connect-externally-hosted/private-data-source-connect/)
+// * [API documentation](https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#create-a-token)
+//
+// Required access policy scopes:
+//
+// * accesspolicies:read
+// * accesspolicies:write
+// * accesspolicies:delete
+//
+// ## Example Usage
+//
+// ```go
+// package main
+//
+// import (
+//
+// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
+// "github.com/pulumiverse/pulumi-grafana/sdk/go/grafana/cloud"
+//
+// )
+//
+// func main() {
+// pulumi.Run(func(ctx *pulumi.Context) error {
+// current, err := cloud.LookupStack(ctx, &cloud.LookupStackArgs{
+// Slug: "",
+// }, nil)
+// if err != nil {
+// return err
+// }
+// test, err := cloud.NewPrivateDataSourceConnectNetwork(ctx, "test", &cloud.PrivateDataSourceConnectNetworkArgs{
+// Region: pulumi.String("us"),
+// Name: pulumi.String("my-pdc"),
+// DisplayName: pulumi.String("My PDC"),
+// StackIdentifier: pulumi.String(current.Id),
+// })
+// if err != nil {
+// return err
+// }
+// _, err = cloud.NewPrivateDataSourceConnectNetworkToken(ctx, "test", &cloud.PrivateDataSourceConnectNetworkTokenArgs{
+// PdcNetworkId: test.PdcNetworkId,
+// Region: test.Region,
+// Name: pulumi.String("my-pdc-token"),
+// DisplayName: pulumi.String("My PDC Token"),
+// })
+// if err != nil {
+// return err
+// }
+// return nil
+// })
+// }
+//
+// ```
+//
+// ## Import
+//
+// ```sh
+// $ pulumi import grafana:cloud/privateDataSourceConnectNetworkToken:PrivateDataSourceConnectNetworkToken name "{{ region }}:{{ tokenId }}"
+// ```
+type PrivateDataSourceConnectNetworkToken struct {
+ pulumi.CustomResourceState
+
+ // Creation date of the private data source network token.
+ CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
+ // Display name of the private data source network token. Defaults to the name.
+ DisplayName pulumi.StringPtrOutput `pulumi:"displayName"`
+ // Expiration date of the private data source network token. Does not expire by default.
+ ExpiresAt pulumi.StringPtrOutput `pulumi:"expiresAt"`
+ // Name of the private data source network token.
+ Name pulumi.StringOutput `pulumi:"name"`
+ // ID of the private data source network for which to create a token.
+ PdcNetworkId pulumi.StringOutput `pulumi:"pdcNetworkId"`
+ // Region of the private data source network. Should be set to the same region as the private data source network. Use the region list API to get the list of available regions: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-regions.
+ Region pulumi.StringOutput `pulumi:"region"`
+ Token pulumi.StringOutput `pulumi:"token"`
+ // Last update date of the private data source network token.
+ UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"`
+}
+
+// NewPrivateDataSourceConnectNetworkToken registers a new resource with the given unique name, arguments, and options.
+func NewPrivateDataSourceConnectNetworkToken(ctx *pulumi.Context,
+ name string, args *PrivateDataSourceConnectNetworkTokenArgs, opts ...pulumi.ResourceOption) (*PrivateDataSourceConnectNetworkToken, error) {
+ if args == nil {
+ return nil, errors.New("missing one or more required arguments")
+ }
+
+ if args.PdcNetworkId == nil {
+ return nil, errors.New("invalid value for required argument 'PdcNetworkId'")
+ }
+ if args.Region == nil {
+ return nil, errors.New("invalid value for required argument 'Region'")
+ }
+ secrets := pulumi.AdditionalSecretOutputs([]string{
+ "token",
+ })
+ opts = append(opts, secrets)
+ opts = internal.PkgResourceDefaultOpts(opts)
+ var resource PrivateDataSourceConnectNetworkToken
+ err := ctx.RegisterResource("grafana:cloud/privateDataSourceConnectNetworkToken:PrivateDataSourceConnectNetworkToken", name, args, &resource, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return &resource, nil
+}
+
+// GetPrivateDataSourceConnectNetworkToken gets an existing PrivateDataSourceConnectNetworkToken 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 GetPrivateDataSourceConnectNetworkToken(ctx *pulumi.Context,
+ name string, id pulumi.IDInput, state *PrivateDataSourceConnectNetworkTokenState, opts ...pulumi.ResourceOption) (*PrivateDataSourceConnectNetworkToken, error) {
+ var resource PrivateDataSourceConnectNetworkToken
+ err := ctx.ReadResource("grafana:cloud/privateDataSourceConnectNetworkToken:PrivateDataSourceConnectNetworkToken", name, id, state, &resource, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return &resource, nil
+}
+
+// Input properties used for looking up and filtering PrivateDataSourceConnectNetworkToken resources.
+type privateDataSourceConnectNetworkTokenState struct {
+ // Creation date of the private data source network token.
+ CreatedAt *string `pulumi:"createdAt"`
+ // Display name of the private data source network token. Defaults to the name.
+ DisplayName *string `pulumi:"displayName"`
+ // Expiration date of the private data source network token. Does not expire by default.
+ ExpiresAt *string `pulumi:"expiresAt"`
+ // Name of the private data source network token.
+ Name *string `pulumi:"name"`
+ // ID of the private data source network for which to create a token.
+ PdcNetworkId *string `pulumi:"pdcNetworkId"`
+ // Region of the private data source network. Should be set to the same region as the private data source network. Use the region list API to get the list of available regions: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-regions.
+ Region *string `pulumi:"region"`
+ Token *string `pulumi:"token"`
+ // Last update date of the private data source network token.
+ UpdatedAt *string `pulumi:"updatedAt"`
+}
+
+type PrivateDataSourceConnectNetworkTokenState struct {
+ // Creation date of the private data source network token.
+ CreatedAt pulumi.StringPtrInput
+ // Display name of the private data source network token. Defaults to the name.
+ DisplayName pulumi.StringPtrInput
+ // Expiration date of the private data source network token. Does not expire by default.
+ ExpiresAt pulumi.StringPtrInput
+ // Name of the private data source network token.
+ Name pulumi.StringPtrInput
+ // ID of the private data source network for which to create a token.
+ PdcNetworkId pulumi.StringPtrInput
+ // Region of the private data source network. Should be set to the same region as the private data source network. Use the region list API to get the list of available regions: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-regions.
+ Region pulumi.StringPtrInput
+ Token pulumi.StringPtrInput
+ // Last update date of the private data source network token.
+ UpdatedAt pulumi.StringPtrInput
+}
+
+func (PrivateDataSourceConnectNetworkTokenState) ElementType() reflect.Type {
+ return reflect.TypeOf((*privateDataSourceConnectNetworkTokenState)(nil)).Elem()
+}
+
+type privateDataSourceConnectNetworkTokenArgs struct {
+ // Display name of the private data source network token. Defaults to the name.
+ DisplayName *string `pulumi:"displayName"`
+ // Expiration date of the private data source network token. Does not expire by default.
+ ExpiresAt *string `pulumi:"expiresAt"`
+ // Name of the private data source network token.
+ Name *string `pulumi:"name"`
+ // ID of the private data source network for which to create a token.
+ PdcNetworkId string `pulumi:"pdcNetworkId"`
+ // Region of the private data source network. Should be set to the same region as the private data source network. Use the region list API to get the list of available regions: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-regions.
+ Region string `pulumi:"region"`
+}
+
+// The set of arguments for constructing a PrivateDataSourceConnectNetworkToken resource.
+type PrivateDataSourceConnectNetworkTokenArgs struct {
+ // Display name of the private data source network token. Defaults to the name.
+ DisplayName pulumi.StringPtrInput
+ // Expiration date of the private data source network token. Does not expire by default.
+ ExpiresAt pulumi.StringPtrInput
+ // Name of the private data source network token.
+ Name pulumi.StringPtrInput
+ // ID of the private data source network for which to create a token.
+ PdcNetworkId pulumi.StringInput
+ // Region of the private data source network. Should be set to the same region as the private data source network. Use the region list API to get the list of available regions: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-regions.
+ Region pulumi.StringInput
+}
+
+func (PrivateDataSourceConnectNetworkTokenArgs) ElementType() reflect.Type {
+ return reflect.TypeOf((*privateDataSourceConnectNetworkTokenArgs)(nil)).Elem()
+}
+
+type PrivateDataSourceConnectNetworkTokenInput interface {
+ pulumi.Input
+
+ ToPrivateDataSourceConnectNetworkTokenOutput() PrivateDataSourceConnectNetworkTokenOutput
+ ToPrivateDataSourceConnectNetworkTokenOutputWithContext(ctx context.Context) PrivateDataSourceConnectNetworkTokenOutput
+}
+
+func (*PrivateDataSourceConnectNetworkToken) ElementType() reflect.Type {
+ return reflect.TypeOf((**PrivateDataSourceConnectNetworkToken)(nil)).Elem()
+}
+
+func (i *PrivateDataSourceConnectNetworkToken) ToPrivateDataSourceConnectNetworkTokenOutput() PrivateDataSourceConnectNetworkTokenOutput {
+ return i.ToPrivateDataSourceConnectNetworkTokenOutputWithContext(context.Background())
+}
+
+func (i *PrivateDataSourceConnectNetworkToken) ToPrivateDataSourceConnectNetworkTokenOutputWithContext(ctx context.Context) PrivateDataSourceConnectNetworkTokenOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(PrivateDataSourceConnectNetworkTokenOutput)
+}
+
+// PrivateDataSourceConnectNetworkTokenArrayInput is an input type that accepts PrivateDataSourceConnectNetworkTokenArray and PrivateDataSourceConnectNetworkTokenArrayOutput values.
+// You can construct a concrete instance of `PrivateDataSourceConnectNetworkTokenArrayInput` via:
+//
+// PrivateDataSourceConnectNetworkTokenArray{ PrivateDataSourceConnectNetworkTokenArgs{...} }
+type PrivateDataSourceConnectNetworkTokenArrayInput interface {
+ pulumi.Input
+
+ ToPrivateDataSourceConnectNetworkTokenArrayOutput() PrivateDataSourceConnectNetworkTokenArrayOutput
+ ToPrivateDataSourceConnectNetworkTokenArrayOutputWithContext(context.Context) PrivateDataSourceConnectNetworkTokenArrayOutput
+}
+
+type PrivateDataSourceConnectNetworkTokenArray []PrivateDataSourceConnectNetworkTokenInput
+
+func (PrivateDataSourceConnectNetworkTokenArray) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]*PrivateDataSourceConnectNetworkToken)(nil)).Elem()
+}
+
+func (i PrivateDataSourceConnectNetworkTokenArray) ToPrivateDataSourceConnectNetworkTokenArrayOutput() PrivateDataSourceConnectNetworkTokenArrayOutput {
+ return i.ToPrivateDataSourceConnectNetworkTokenArrayOutputWithContext(context.Background())
+}
+
+func (i PrivateDataSourceConnectNetworkTokenArray) ToPrivateDataSourceConnectNetworkTokenArrayOutputWithContext(ctx context.Context) PrivateDataSourceConnectNetworkTokenArrayOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(PrivateDataSourceConnectNetworkTokenArrayOutput)
+}
+
+// PrivateDataSourceConnectNetworkTokenMapInput is an input type that accepts PrivateDataSourceConnectNetworkTokenMap and PrivateDataSourceConnectNetworkTokenMapOutput values.
+// You can construct a concrete instance of `PrivateDataSourceConnectNetworkTokenMapInput` via:
+//
+// PrivateDataSourceConnectNetworkTokenMap{ "key": PrivateDataSourceConnectNetworkTokenArgs{...} }
+type PrivateDataSourceConnectNetworkTokenMapInput interface {
+ pulumi.Input
+
+ ToPrivateDataSourceConnectNetworkTokenMapOutput() PrivateDataSourceConnectNetworkTokenMapOutput
+ ToPrivateDataSourceConnectNetworkTokenMapOutputWithContext(context.Context) PrivateDataSourceConnectNetworkTokenMapOutput
+}
+
+type PrivateDataSourceConnectNetworkTokenMap map[string]PrivateDataSourceConnectNetworkTokenInput
+
+func (PrivateDataSourceConnectNetworkTokenMap) ElementType() reflect.Type {
+ return reflect.TypeOf((*map[string]*PrivateDataSourceConnectNetworkToken)(nil)).Elem()
+}
+
+func (i PrivateDataSourceConnectNetworkTokenMap) ToPrivateDataSourceConnectNetworkTokenMapOutput() PrivateDataSourceConnectNetworkTokenMapOutput {
+ return i.ToPrivateDataSourceConnectNetworkTokenMapOutputWithContext(context.Background())
+}
+
+func (i PrivateDataSourceConnectNetworkTokenMap) ToPrivateDataSourceConnectNetworkTokenMapOutputWithContext(ctx context.Context) PrivateDataSourceConnectNetworkTokenMapOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(PrivateDataSourceConnectNetworkTokenMapOutput)
+}
+
+type PrivateDataSourceConnectNetworkTokenOutput struct{ *pulumi.OutputState }
+
+func (PrivateDataSourceConnectNetworkTokenOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((**PrivateDataSourceConnectNetworkToken)(nil)).Elem()
+}
+
+func (o PrivateDataSourceConnectNetworkTokenOutput) ToPrivateDataSourceConnectNetworkTokenOutput() PrivateDataSourceConnectNetworkTokenOutput {
+ return o
+}
+
+func (o PrivateDataSourceConnectNetworkTokenOutput) ToPrivateDataSourceConnectNetworkTokenOutputWithContext(ctx context.Context) PrivateDataSourceConnectNetworkTokenOutput {
+ return o
+}
+
+// Creation date of the private data source network token.
+func (o PrivateDataSourceConnectNetworkTokenOutput) CreatedAt() pulumi.StringOutput {
+ return o.ApplyT(func(v *PrivateDataSourceConnectNetworkToken) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput)
+}
+
+// Display name of the private data source network token. Defaults to the name.
+func (o PrivateDataSourceConnectNetworkTokenOutput) DisplayName() pulumi.StringPtrOutput {
+ return o.ApplyT(func(v *PrivateDataSourceConnectNetworkToken) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput)
+}
+
+// Expiration date of the private data source network token. Does not expire by default.
+func (o PrivateDataSourceConnectNetworkTokenOutput) ExpiresAt() pulumi.StringPtrOutput {
+ return o.ApplyT(func(v *PrivateDataSourceConnectNetworkToken) pulumi.StringPtrOutput { return v.ExpiresAt }).(pulumi.StringPtrOutput)
+}
+
+// Name of the private data source network token.
+func (o PrivateDataSourceConnectNetworkTokenOutput) Name() pulumi.StringOutput {
+ return o.ApplyT(func(v *PrivateDataSourceConnectNetworkToken) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
+}
+
+// ID of the private data source network for which to create a token.
+func (o PrivateDataSourceConnectNetworkTokenOutput) PdcNetworkId() pulumi.StringOutput {
+ return o.ApplyT(func(v *PrivateDataSourceConnectNetworkToken) pulumi.StringOutput { return v.PdcNetworkId }).(pulumi.StringOutput)
+}
+
+// Region of the private data source network. Should be set to the same region as the private data source network. Use the region list API to get the list of available regions: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-regions.
+func (o PrivateDataSourceConnectNetworkTokenOutput) Region() pulumi.StringOutput {
+ return o.ApplyT(func(v *PrivateDataSourceConnectNetworkToken) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput)
+}
+
+func (o PrivateDataSourceConnectNetworkTokenOutput) Token() pulumi.StringOutput {
+ return o.ApplyT(func(v *PrivateDataSourceConnectNetworkToken) pulumi.StringOutput { return v.Token }).(pulumi.StringOutput)
+}
+
+// Last update date of the private data source network token.
+func (o PrivateDataSourceConnectNetworkTokenOutput) UpdatedAt() pulumi.StringOutput {
+ return o.ApplyT(func(v *PrivateDataSourceConnectNetworkToken) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput)
+}
+
+type PrivateDataSourceConnectNetworkTokenArrayOutput struct{ *pulumi.OutputState }
+
+func (PrivateDataSourceConnectNetworkTokenArrayOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]*PrivateDataSourceConnectNetworkToken)(nil)).Elem()
+}
+
+func (o PrivateDataSourceConnectNetworkTokenArrayOutput) ToPrivateDataSourceConnectNetworkTokenArrayOutput() PrivateDataSourceConnectNetworkTokenArrayOutput {
+ return o
+}
+
+func (o PrivateDataSourceConnectNetworkTokenArrayOutput) ToPrivateDataSourceConnectNetworkTokenArrayOutputWithContext(ctx context.Context) PrivateDataSourceConnectNetworkTokenArrayOutput {
+ return o
+}
+
+func (o PrivateDataSourceConnectNetworkTokenArrayOutput) Index(i pulumi.IntInput) PrivateDataSourceConnectNetworkTokenOutput {
+ return pulumi.All(o, i).ApplyT(func(vs []interface{}) *PrivateDataSourceConnectNetworkToken {
+ return vs[0].([]*PrivateDataSourceConnectNetworkToken)[vs[1].(int)]
+ }).(PrivateDataSourceConnectNetworkTokenOutput)
+}
+
+type PrivateDataSourceConnectNetworkTokenMapOutput struct{ *pulumi.OutputState }
+
+func (PrivateDataSourceConnectNetworkTokenMapOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*map[string]*PrivateDataSourceConnectNetworkToken)(nil)).Elem()
+}
+
+func (o PrivateDataSourceConnectNetworkTokenMapOutput) ToPrivateDataSourceConnectNetworkTokenMapOutput() PrivateDataSourceConnectNetworkTokenMapOutput {
+ return o
+}
+
+func (o PrivateDataSourceConnectNetworkTokenMapOutput) ToPrivateDataSourceConnectNetworkTokenMapOutputWithContext(ctx context.Context) PrivateDataSourceConnectNetworkTokenMapOutput {
+ return o
+}
+
+func (o PrivateDataSourceConnectNetworkTokenMapOutput) MapIndex(k pulumi.StringInput) PrivateDataSourceConnectNetworkTokenOutput {
+ return pulumi.All(o, k).ApplyT(func(vs []interface{}) *PrivateDataSourceConnectNetworkToken {
+ return vs[0].(map[string]*PrivateDataSourceConnectNetworkToken)[vs[1].(string)]
+ }).(PrivateDataSourceConnectNetworkTokenOutput)
+}
+
+func init() {
+ pulumi.RegisterInputType(reflect.TypeOf((*PrivateDataSourceConnectNetworkTokenInput)(nil)).Elem(), &PrivateDataSourceConnectNetworkToken{})
+ pulumi.RegisterInputType(reflect.TypeOf((*PrivateDataSourceConnectNetworkTokenArrayInput)(nil)).Elem(), PrivateDataSourceConnectNetworkTokenArray{})
+ pulumi.RegisterInputType(reflect.TypeOf((*PrivateDataSourceConnectNetworkTokenMapInput)(nil)).Elem(), PrivateDataSourceConnectNetworkTokenMap{})
+ pulumi.RegisterOutputType(PrivateDataSourceConnectNetworkTokenOutput{})
+ pulumi.RegisterOutputType(PrivateDataSourceConnectNetworkTokenArrayOutput{})
+ pulumi.RegisterOutputType(PrivateDataSourceConnectNetworkTokenMapOutput{})
+}
diff --git a/sdk/go/grafana/cloud/pulumiTypes.go b/sdk/go/grafana/cloud/pulumiTypes.go
index d1542ae7..014291e4 100644
--- a/sdk/go/grafana/cloud/pulumiTypes.go
+++ b/sdk/go/grafana/cloud/pulumiTypes.go
@@ -1018,6 +1018,126 @@ func (o GetAccessPoliciesAccessPolicyArrayOutput) Index(i pulumi.IntInput) GetAc
}).(GetAccessPoliciesAccessPolicyOutput)
}
+type GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetwork struct {
+ DisplayName string `pulumi:"displayName"`
+ Id string `pulumi:"id"`
+ Name string `pulumi:"name"`
+ Region string `pulumi:"region"`
+ Status string `pulumi:"status"`
+}
+
+// GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkInput is an input type that accepts GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArgs and GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkOutput values.
+// You can construct a concrete instance of `GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkInput` via:
+//
+// GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArgs{...}
+type GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkInput interface {
+ pulumi.Input
+
+ ToGetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkOutput() GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkOutput
+ ToGetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkOutputWithContext(context.Context) GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkOutput
+}
+
+type GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArgs struct {
+ DisplayName pulumi.StringInput `pulumi:"displayName"`
+ Id pulumi.StringInput `pulumi:"id"`
+ Name pulumi.StringInput `pulumi:"name"`
+ Region pulumi.StringInput `pulumi:"region"`
+ Status pulumi.StringInput `pulumi:"status"`
+}
+
+func (GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArgs) ElementType() reflect.Type {
+ return reflect.TypeOf((*GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetwork)(nil)).Elem()
+}
+
+func (i GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArgs) ToGetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkOutput() GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkOutput {
+ return i.ToGetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkOutputWithContext(context.Background())
+}
+
+func (i GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArgs) ToGetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkOutputWithContext(ctx context.Context) GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkOutput)
+}
+
+// GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArrayInput is an input type that accepts GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArray and GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArrayOutput values.
+// You can construct a concrete instance of `GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArrayInput` via:
+//
+// GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArray{ GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArgs{...} }
+type GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArrayInput interface {
+ pulumi.Input
+
+ ToGetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArrayOutput() GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArrayOutput
+ ToGetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArrayOutputWithContext(context.Context) GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArrayOutput
+}
+
+type GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArray []GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkInput
+
+func (GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArray) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetwork)(nil)).Elem()
+}
+
+func (i GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArray) ToGetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArrayOutput() GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArrayOutput {
+ return i.ToGetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArrayOutputWithContext(context.Background())
+}
+
+func (i GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArray) ToGetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArrayOutputWithContext(ctx context.Context) GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArrayOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArrayOutput)
+}
+
+type GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkOutput struct{ *pulumi.OutputState }
+
+func (GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetwork)(nil)).Elem()
+}
+
+func (o GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkOutput) ToGetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkOutput() GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkOutput {
+ return o
+}
+
+func (o GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkOutput) ToGetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkOutputWithContext(ctx context.Context) GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkOutput {
+ return o
+}
+
+func (o GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkOutput) DisplayName() pulumi.StringOutput {
+ return o.ApplyT(func(v GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetwork) string {
+ return v.DisplayName
+ }).(pulumi.StringOutput)
+}
+
+func (o GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkOutput) Id() pulumi.StringOutput {
+ return o.ApplyT(func(v GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetwork) string { return v.Id }).(pulumi.StringOutput)
+}
+
+func (o GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkOutput) Name() pulumi.StringOutput {
+ return o.ApplyT(func(v GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetwork) string { return v.Name }).(pulumi.StringOutput)
+}
+
+func (o GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkOutput) Region() pulumi.StringOutput {
+ return o.ApplyT(func(v GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetwork) string { return v.Region }).(pulumi.StringOutput)
+}
+
+func (o GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkOutput) Status() pulumi.StringOutput {
+ return o.ApplyT(func(v GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetwork) string { return v.Status }).(pulumi.StringOutput)
+}
+
+type GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArrayOutput struct{ *pulumi.OutputState }
+
+func (GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArrayOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetwork)(nil)).Elem()
+}
+
+func (o GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArrayOutput) ToGetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArrayOutput() GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArrayOutput {
+ return o
+}
+
+func (o GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArrayOutput) ToGetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArrayOutputWithContext(ctx context.Context) GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArrayOutput {
+ return o
+}
+
+func (o GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArrayOutput) Index(i pulumi.IntInput) GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkOutput {
+ return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetwork {
+ return vs[0].([]GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetwork)[vs[1].(int)]
+ }).(GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkOutput)
+}
+
type GetProviderAwsCloudwatchScrapeJobCustomNamespace struct {
// One or more configuration blocks to configure metrics and their statistics to scrape. Each block must represent a distinct metric name. When accessing this as an attribute reference, it is a list of objects.
Metrics []GetProviderAwsCloudwatchScrapeJobCustomNamespaceMetric `pulumi:"metrics"`
@@ -2482,6 +2602,8 @@ func init() {
pulumi.RegisterInputType(reflect.TypeOf((*ProviderAzureCredentialResourceDiscoveryTagFilterArrayInput)(nil)).Elem(), ProviderAzureCredentialResourceDiscoveryTagFilterArray{})
pulumi.RegisterInputType(reflect.TypeOf((*GetAccessPoliciesAccessPolicyInput)(nil)).Elem(), GetAccessPoliciesAccessPolicyArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*GetAccessPoliciesAccessPolicyArrayInput)(nil)).Elem(), GetAccessPoliciesAccessPolicyArray{})
+ pulumi.RegisterInputType(reflect.TypeOf((*GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkInput)(nil)).Elem(), GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArgs{})
+ pulumi.RegisterInputType(reflect.TypeOf((*GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArrayInput)(nil)).Elem(), GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArray{})
pulumi.RegisterInputType(reflect.TypeOf((*GetProviderAwsCloudwatchScrapeJobCustomNamespaceInput)(nil)).Elem(), GetProviderAwsCloudwatchScrapeJobCustomNamespaceArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*GetProviderAwsCloudwatchScrapeJobCustomNamespaceArrayInput)(nil)).Elem(), GetProviderAwsCloudwatchScrapeJobCustomNamespaceArray{})
pulumi.RegisterInputType(reflect.TypeOf((*GetProviderAwsCloudwatchScrapeJobCustomNamespaceMetricInput)(nil)).Elem(), GetProviderAwsCloudwatchScrapeJobCustomNamespaceMetricArgs{})
@@ -2524,6 +2646,8 @@ func init() {
pulumi.RegisterOutputType(ProviderAzureCredentialResourceDiscoveryTagFilterArrayOutput{})
pulumi.RegisterOutputType(GetAccessPoliciesAccessPolicyOutput{})
pulumi.RegisterOutputType(GetAccessPoliciesAccessPolicyArrayOutput{})
+ pulumi.RegisterOutputType(GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkOutput{})
+ pulumi.RegisterOutputType(GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkArrayOutput{})
pulumi.RegisterOutputType(GetProviderAwsCloudwatchScrapeJobCustomNamespaceOutput{})
pulumi.RegisterOutputType(GetProviderAwsCloudwatchScrapeJobCustomNamespaceArrayOutput{})
pulumi.RegisterOutputType(GetProviderAwsCloudwatchScrapeJobCustomNamespaceMetricOutput{})
diff --git a/sdk/go/grafana/dataSource.go b/sdk/go/grafana/dataSource.go
index 21ea7110..d5903175 100644
--- a/sdk/go/grafana/dataSource.go
+++ b/sdk/go/grafana/dataSource.go
@@ -188,6 +188,8 @@ type DataSource struct {
Name pulumi.StringOutput `pulumi:"name"`
// The Organization ID. If not set, the Org ID defined in the provider block will be used.
OrgId pulumi.StringPtrOutput `pulumi:"orgId"`
+ // (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
+ PrivateDataSourceConnectNetworkId pulumi.StringPtrOutput `pulumi:"privateDataSourceConnectNetworkId"`
// Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
SecureJsonDataEncoded pulumi.StringPtrOutput `pulumi:"secureJsonDataEncoded"`
// The data source type. Must be one of the supported data source keywords.
@@ -268,6 +270,8 @@ type dataSourceState struct {
Name *string `pulumi:"name"`
// The Organization ID. If not set, the Org ID defined in the provider block will be used.
OrgId *string `pulumi:"orgId"`
+ // (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
+ PrivateDataSourceConnectNetworkId *string `pulumi:"privateDataSourceConnectNetworkId"`
// Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
SecureJsonDataEncoded *string `pulumi:"secureJsonDataEncoded"`
// The data source type. Must be one of the supported data source keywords.
@@ -299,6 +303,8 @@ type DataSourceState struct {
Name pulumi.StringPtrInput
// The Organization ID. If not set, the Org ID defined in the provider block will be used.
OrgId pulumi.StringPtrInput
+ // (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
+ PrivateDataSourceConnectNetworkId pulumi.StringPtrInput
// Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
SecureJsonDataEncoded pulumi.StringPtrInput
// The data source type. Must be one of the supported data source keywords.
@@ -334,6 +340,8 @@ type dataSourceArgs struct {
Name *string `pulumi:"name"`
// The Organization ID. If not set, the Org ID defined in the provider block will be used.
OrgId *string `pulumi:"orgId"`
+ // (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
+ PrivateDataSourceConnectNetworkId *string `pulumi:"privateDataSourceConnectNetworkId"`
// Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
SecureJsonDataEncoded *string `pulumi:"secureJsonDataEncoded"`
// The data source type. Must be one of the supported data source keywords.
@@ -366,6 +374,8 @@ type DataSourceArgs struct {
Name pulumi.StringPtrInput
// The Organization ID. If not set, the Org ID defined in the provider block will be used.
OrgId pulumi.StringPtrInput
+ // (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
+ PrivateDataSourceConnectNetworkId pulumi.StringPtrInput
// Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
SecureJsonDataEncoded pulumi.StringPtrInput
// The data source type. Must be one of the supported data source keywords.
@@ -510,6 +520,11 @@ func (o DataSourceOutput) OrgId() pulumi.StringPtrOutput {
return o.ApplyT(func(v *DataSource) pulumi.StringPtrOutput { return v.OrgId }).(pulumi.StringPtrOutput)
}
+// (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to “.
+func (o DataSourceOutput) PrivateDataSourceConnectNetworkId() pulumi.StringPtrOutput {
+ return o.ApplyT(func(v *DataSource) pulumi.StringPtrOutput { return v.PrivateDataSourceConnectNetworkId }).(pulumi.StringPtrOutput)
+}
+
// Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
func (o DataSourceOutput) SecureJsonDataEncoded() pulumi.StringPtrOutput {
return o.ApplyT(func(v *DataSource) pulumi.StringPtrOutput { return v.SecureJsonDataEncoded }).(pulumi.StringPtrOutput)
diff --git a/sdk/go/grafana/getDataSource.go b/sdk/go/grafana/getDataSource.go
index f8934dbc..5177c009 100644
--- a/sdk/go/grafana/getDataSource.go
+++ b/sdk/go/grafana/getDataSource.go
@@ -108,6 +108,8 @@ type LookupDataSourceResult struct {
Name string `pulumi:"name"`
// The Organization ID. If not set, the Org ID defined in the provider block will be used.
OrgId *string `pulumi:"orgId"`
+ // (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source.
+ PrivateDataSourceConnectNetworkId string `pulumi:"privateDataSourceConnectNetworkId"`
// The data source type. Must be one of the supported data source keywords.
Type string `pulumi:"type"`
Uid string `pulumi:"uid"`
@@ -197,6 +199,11 @@ func (o LookupDataSourceResultOutput) OrgId() pulumi.StringPtrOutput {
return o.ApplyT(func(v LookupDataSourceResult) *string { return v.OrgId }).(pulumi.StringPtrOutput)
}
+// (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source.
+func (o LookupDataSourceResultOutput) PrivateDataSourceConnectNetworkId() pulumi.StringOutput {
+ return o.ApplyT(func(v LookupDataSourceResult) string { return v.PrivateDataSourceConnectNetworkId }).(pulumi.StringOutput)
+}
+
// The data source type. Must be one of the supported data source keywords.
func (o LookupDataSourceResultOutput) Type() pulumi.StringOutput {
return o.ApplyT(func(v LookupDataSourceResult) string { return v.Type }).(pulumi.StringOutput)
diff --git a/sdk/go/grafana/getSyntheticMonitoringProbe.go b/sdk/go/grafana/getSyntheticMonitoringProbe.go
index eaa78ba2..18536066 100644
--- a/sdk/go/grafana/getSyntheticMonitoringProbe.go
+++ b/sdk/go/grafana/getSyntheticMonitoringProbe.go
@@ -28,7 +28,7 @@ import (
// func main() {
// pulumi.Run(func(ctx *pulumi.Context) error {
// _, err := syntheticmonitoring.GetProbe(ctx, &syntheticmonitoring.GetProbeArgs{
-// Name: "Atlanta",
+// Name: "Ohio",
// }, nil)
// if err != nil {
// return err
@@ -58,6 +58,8 @@ type LookupSyntheticMonitoringProbeArgs struct {
// A collection of values returned by getSyntheticMonitoringProbe.
type LookupSyntheticMonitoringProbeResult struct {
+ // Disables browser checks for this probe.
+ DisableBrowserChecks bool `pulumi:"disableBrowserChecks"`
// Disables scripted checks for this probe.
DisableScriptedChecks bool `pulumi:"disableScriptedChecks"`
// The ID of the probe.
@@ -112,6 +114,11 @@ func (o LookupSyntheticMonitoringProbeResultOutput) ToLookupSyntheticMonitoringP
return o
}
+// Disables browser checks for this probe.
+func (o LookupSyntheticMonitoringProbeResultOutput) DisableBrowserChecks() pulumi.BoolOutput {
+ return o.ApplyT(func(v LookupSyntheticMonitoringProbeResult) bool { return v.DisableBrowserChecks }).(pulumi.BoolOutput)
+}
+
// Disables scripted checks for this probe.
func (o LookupSyntheticMonitoringProbeResultOutput) DisableScriptedChecks() pulumi.BoolOutput {
return o.ApplyT(func(v LookupSyntheticMonitoringProbeResult) bool { return v.DisableScriptedChecks }).(pulumi.BoolOutput)
diff --git a/sdk/go/grafana/oss/dataSource.go b/sdk/go/grafana/oss/dataSource.go
index 61e9feac..0a0384ef 100644
--- a/sdk/go/grafana/oss/dataSource.go
+++ b/sdk/go/grafana/oss/dataSource.go
@@ -186,6 +186,8 @@ type DataSource struct {
Name pulumi.StringOutput `pulumi:"name"`
// The Organization ID. If not set, the Org ID defined in the provider block will be used.
OrgId pulumi.StringPtrOutput `pulumi:"orgId"`
+ // (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
+ PrivateDataSourceConnectNetworkId pulumi.StringPtrOutput `pulumi:"privateDataSourceConnectNetworkId"`
// Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
SecureJsonDataEncoded pulumi.StringPtrOutput `pulumi:"secureJsonDataEncoded"`
// The data source type. Must be one of the supported data source keywords.
@@ -266,6 +268,8 @@ type dataSourceState struct {
Name *string `pulumi:"name"`
// The Organization ID. If not set, the Org ID defined in the provider block will be used.
OrgId *string `pulumi:"orgId"`
+ // (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
+ PrivateDataSourceConnectNetworkId *string `pulumi:"privateDataSourceConnectNetworkId"`
// Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
SecureJsonDataEncoded *string `pulumi:"secureJsonDataEncoded"`
// The data source type. Must be one of the supported data source keywords.
@@ -297,6 +301,8 @@ type DataSourceState struct {
Name pulumi.StringPtrInput
// The Organization ID. If not set, the Org ID defined in the provider block will be used.
OrgId pulumi.StringPtrInput
+ // (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
+ PrivateDataSourceConnectNetworkId pulumi.StringPtrInput
// Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
SecureJsonDataEncoded pulumi.StringPtrInput
// The data source type. Must be one of the supported data source keywords.
@@ -332,6 +338,8 @@ type dataSourceArgs struct {
Name *string `pulumi:"name"`
// The Organization ID. If not set, the Org ID defined in the provider block will be used.
OrgId *string `pulumi:"orgId"`
+ // (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
+ PrivateDataSourceConnectNetworkId *string `pulumi:"privateDataSourceConnectNetworkId"`
// Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
SecureJsonDataEncoded *string `pulumi:"secureJsonDataEncoded"`
// The data source type. Must be one of the supported data source keywords.
@@ -364,6 +372,8 @@ type DataSourceArgs struct {
Name pulumi.StringPtrInput
// The Organization ID. If not set, the Org ID defined in the provider block will be used.
OrgId pulumi.StringPtrInput
+ // (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
+ PrivateDataSourceConnectNetworkId pulumi.StringPtrInput
// Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
SecureJsonDataEncoded pulumi.StringPtrInput
// The data source type. Must be one of the supported data source keywords.
@@ -508,6 +518,11 @@ func (o DataSourceOutput) OrgId() pulumi.StringPtrOutput {
return o.ApplyT(func(v *DataSource) pulumi.StringPtrOutput { return v.OrgId }).(pulumi.StringPtrOutput)
}
+// (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to “.
+func (o DataSourceOutput) PrivateDataSourceConnectNetworkId() pulumi.StringPtrOutput {
+ return o.ApplyT(func(v *DataSource) pulumi.StringPtrOutput { return v.PrivateDataSourceConnectNetworkId }).(pulumi.StringPtrOutput)
+}
+
// Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
func (o DataSourceOutput) SecureJsonDataEncoded() pulumi.StringPtrOutput {
return o.ApplyT(func(v *DataSource) pulumi.StringPtrOutput { return v.SecureJsonDataEncoded }).(pulumi.StringPtrOutput)
diff --git a/sdk/go/grafana/oss/getDataSource.go b/sdk/go/grafana/oss/getDataSource.go
index ba140bf8..991d4c23 100644
--- a/sdk/go/grafana/oss/getDataSource.go
+++ b/sdk/go/grafana/oss/getDataSource.go
@@ -106,6 +106,8 @@ type LookupDataSourceResult struct {
Name string `pulumi:"name"`
// The Organization ID. If not set, the Org ID defined in the provider block will be used.
OrgId *string `pulumi:"orgId"`
+ // (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source.
+ PrivateDataSourceConnectNetworkId string `pulumi:"privateDataSourceConnectNetworkId"`
// The data source type. Must be one of the supported data source keywords.
Type string `pulumi:"type"`
Uid string `pulumi:"uid"`
@@ -195,6 +197,11 @@ func (o LookupDataSourceResultOutput) OrgId() pulumi.StringPtrOutput {
return o.ApplyT(func(v LookupDataSourceResult) *string { return v.OrgId }).(pulumi.StringPtrOutput)
}
+// (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source.
+func (o LookupDataSourceResultOutput) PrivateDataSourceConnectNetworkId() pulumi.StringOutput {
+ return o.ApplyT(func(v LookupDataSourceResult) string { return v.PrivateDataSourceConnectNetworkId }).(pulumi.StringOutput)
+}
+
// The data source type. Must be one of the supported data source keywords.
func (o LookupDataSourceResultOutput) Type() pulumi.StringOutput {
return o.ApplyT(func(v LookupDataSourceResult) string { return v.Type }).(pulumi.StringOutput)
diff --git a/sdk/go/grafana/syntheticMonitoringCheck.go b/sdk/go/grafana/syntheticMonitoringCheck.go
index 178c3a52..7fd07c50 100644
--- a/sdk/go/grafana/syntheticMonitoringCheck.go
+++ b/sdk/go/grafana/syntheticMonitoringCheck.go
@@ -45,7 +45,7 @@ import (
// Target: pulumi.String("grafana.com"),
// Enabled: pulumi.Bool(false),
// Probes: pulumi.IntArray{
-// pulumi.Int(main.Probes.Atlanta),
+// pulumi.Int(main.Probes.Ohio),
// },
// Labels: pulumi.StringMap{
// "foo": pulumi.String("bar"),
@@ -164,7 +164,7 @@ import (
// Target: pulumi.String("https://grafana.com"),
// Enabled: pulumi.Bool(false),
// Probes: pulumi.IntArray{
-// pulumi.Int(main.Probes.Atlanta),
+// pulumi.Int(main.Probes.Ohio),
// },
// Labels: pulumi.StringMap{
// "foo": pulumi.String("bar"),
@@ -205,7 +205,7 @@ import (
// Target: pulumi.String("https://grafana.org"),
// Enabled: pulumi.Bool(false),
// Probes: pulumi.IntArray{
-// pulumi.Int(main.Probes.Bangalore),
+// pulumi.Int(main.Probes.Mumbai),
// pulumi.Int(main.Probes.Mumbai),
// },
// Labels: pulumi.StringMap{
@@ -320,7 +320,7 @@ import (
// Target: pulumi.String("grafana.com"),
// Enabled: pulumi.Bool(false),
// Probes: pulumi.IntArray{
-// pulumi.Int(main.Probes.Atlanta),
+// pulumi.Int(main.Probes.Ohio),
// },
// Labels: pulumi.StringMap{
// "foo": pulumi.String("bar"),
@@ -407,7 +407,7 @@ import (
// Target: pulumi.String("grafana.com:80"),
// Enabled: pulumi.Bool(false),
// Probes: pulumi.IntArray{
-// pulumi.Int(main.Probes.Atlanta),
+// pulumi.Int(main.Probes.Ohio),
// },
// Labels: pulumi.StringMap{
// "foo": pulumi.String("bar"),
@@ -539,7 +539,7 @@ import (
// Frequency: pulumi.Int(120000),
// Timeout: pulumi.Int(30000),
// Probes: pulumi.IntArray{
-// pulumi.Int(main.Probes.Atlanta),
+// pulumi.Int(main.Probes.Ohio),
// },
// Labels: pulumi.StringMap{
// "foo": pulumi.String("bar"),
diff --git a/sdk/go/grafana/syntheticMonitoringProbe.go b/sdk/go/grafana/syntheticMonitoringProbe.go
index b54765d2..43c70f06 100644
--- a/sdk/go/grafana/syntheticMonitoringProbe.go
+++ b/sdk/go/grafana/syntheticMonitoringProbe.go
@@ -67,6 +67,8 @@ type SyntheticMonitoringProbe struct {
// The probe authentication token. Your probe must use this to authenticate with Grafana Cloud.
AuthToken pulumi.StringOutput `pulumi:"authToken"`
+ // Disables browser checks for this probe. Defaults to `false`.
+ DisableBrowserChecks pulumi.BoolPtrOutput `pulumi:"disableBrowserChecks"`
// Disables scripted checks for this probe. Defaults to `false`.
DisableScriptedChecks pulumi.BoolPtrOutput `pulumi:"disableScriptedChecks"`
// Custom labels to be included with collected metrics and logs.
@@ -130,6 +132,8 @@ func GetSyntheticMonitoringProbe(ctx *pulumi.Context,
type syntheticMonitoringProbeState struct {
// The probe authentication token. Your probe must use this to authenticate with Grafana Cloud.
AuthToken *string `pulumi:"authToken"`
+ // Disables browser checks for this probe. Defaults to `false`.
+ DisableBrowserChecks *bool `pulumi:"disableBrowserChecks"`
// Disables scripted checks for this probe. Defaults to `false`.
DisableScriptedChecks *bool `pulumi:"disableScriptedChecks"`
// Custom labels to be included with collected metrics and logs.
@@ -151,6 +155,8 @@ type syntheticMonitoringProbeState struct {
type SyntheticMonitoringProbeState struct {
// The probe authentication token. Your probe must use this to authenticate with Grafana Cloud.
AuthToken pulumi.StringPtrInput
+ // Disables browser checks for this probe. Defaults to `false`.
+ DisableBrowserChecks pulumi.BoolPtrInput
// Disables scripted checks for this probe. Defaults to `false`.
DisableScriptedChecks pulumi.BoolPtrInput
// Custom labels to be included with collected metrics and logs.
@@ -174,6 +180,8 @@ func (SyntheticMonitoringProbeState) ElementType() reflect.Type {
}
type syntheticMonitoringProbeArgs struct {
+ // Disables browser checks for this probe. Defaults to `false`.
+ DisableBrowserChecks *bool `pulumi:"disableBrowserChecks"`
// Disables scripted checks for this probe. Defaults to `false`.
DisableScriptedChecks *bool `pulumi:"disableScriptedChecks"`
// Custom labels to be included with collected metrics and logs.
@@ -192,6 +200,8 @@ type syntheticMonitoringProbeArgs struct {
// The set of arguments for constructing a SyntheticMonitoringProbe resource.
type SyntheticMonitoringProbeArgs struct {
+ // Disables browser checks for this probe. Defaults to `false`.
+ DisableBrowserChecks pulumi.BoolPtrInput
// Disables scripted checks for this probe. Defaults to `false`.
DisableScriptedChecks pulumi.BoolPtrInput
// Custom labels to be included with collected metrics and logs.
@@ -300,6 +310,11 @@ func (o SyntheticMonitoringProbeOutput) AuthToken() pulumi.StringOutput {
return o.ApplyT(func(v *SyntheticMonitoringProbe) pulumi.StringOutput { return v.AuthToken }).(pulumi.StringOutput)
}
+// Disables browser checks for this probe. Defaults to `false`.
+func (o SyntheticMonitoringProbeOutput) DisableBrowserChecks() pulumi.BoolPtrOutput {
+ return o.ApplyT(func(v *SyntheticMonitoringProbe) pulumi.BoolPtrOutput { return v.DisableBrowserChecks }).(pulumi.BoolPtrOutput)
+}
+
// Disables scripted checks for this probe. Defaults to `false`.
func (o SyntheticMonitoringProbeOutput) DisableScriptedChecks() pulumi.BoolPtrOutput {
return o.ApplyT(func(v *SyntheticMonitoringProbe) pulumi.BoolPtrOutput { return v.DisableScriptedChecks }).(pulumi.BoolPtrOutput)
diff --git a/sdk/go/grafana/syntheticmonitoring/check.go b/sdk/go/grafana/syntheticmonitoring/check.go
index 9f2d3f2a..902d3b75 100644
--- a/sdk/go/grafana/syntheticmonitoring/check.go
+++ b/sdk/go/grafana/syntheticmonitoring/check.go
@@ -45,7 +45,7 @@ import (
// Target: pulumi.String("grafana.com"),
// Enabled: pulumi.Bool(false),
// Probes: pulumi.IntArray{
-// pulumi.Int(main.Probes.Atlanta),
+// pulumi.Int(main.Probes.Ohio),
// },
// Labels: pulumi.StringMap{
// "foo": pulumi.String("bar"),
@@ -164,7 +164,7 @@ import (
// Target: pulumi.String("https://grafana.com"),
// Enabled: pulumi.Bool(false),
// Probes: pulumi.IntArray{
-// pulumi.Int(main.Probes.Atlanta),
+// pulumi.Int(main.Probes.Ohio),
// },
// Labels: pulumi.StringMap{
// "foo": pulumi.String("bar"),
@@ -205,7 +205,7 @@ import (
// Target: pulumi.String("https://grafana.org"),
// Enabled: pulumi.Bool(false),
// Probes: pulumi.IntArray{
-// pulumi.Int(main.Probes.Bangalore),
+// pulumi.Int(main.Probes.Mumbai),
// pulumi.Int(main.Probes.Mumbai),
// },
// Labels: pulumi.StringMap{
@@ -320,7 +320,7 @@ import (
// Target: pulumi.String("grafana.com"),
// Enabled: pulumi.Bool(false),
// Probes: pulumi.IntArray{
-// pulumi.Int(main.Probes.Atlanta),
+// pulumi.Int(main.Probes.Ohio),
// },
// Labels: pulumi.StringMap{
// "foo": pulumi.String("bar"),
@@ -407,7 +407,7 @@ import (
// Target: pulumi.String("grafana.com:80"),
// Enabled: pulumi.Bool(false),
// Probes: pulumi.IntArray{
-// pulumi.Int(main.Probes.Atlanta),
+// pulumi.Int(main.Probes.Ohio),
// },
// Labels: pulumi.StringMap{
// "foo": pulumi.String("bar"),
@@ -539,7 +539,7 @@ import (
// Frequency: pulumi.Int(120000),
// Timeout: pulumi.Int(30000),
// Probes: pulumi.IntArray{
-// pulumi.Int(main.Probes.Atlanta),
+// pulumi.Int(main.Probes.Ohio),
// },
// Labels: pulumi.StringMap{
// "foo": pulumi.String("bar"),
diff --git a/sdk/go/grafana/syntheticmonitoring/getProbe.go b/sdk/go/grafana/syntheticmonitoring/getProbe.go
index f3c24d07..e5c56d6a 100644
--- a/sdk/go/grafana/syntheticmonitoring/getProbe.go
+++ b/sdk/go/grafana/syntheticmonitoring/getProbe.go
@@ -28,7 +28,7 @@ import (
// func main() {
// pulumi.Run(func(ctx *pulumi.Context) error {
// _, err := syntheticmonitoring.GetProbe(ctx, &syntheticmonitoring.GetProbeArgs{
-// Name: "Atlanta",
+// Name: "Ohio",
// }, nil)
// if err != nil {
// return err
@@ -56,6 +56,8 @@ type LookupProbeArgs struct {
// A collection of values returned by getProbe.
type LookupProbeResult struct {
+ // Disables browser checks for this probe.
+ DisableBrowserChecks bool `pulumi:"disableBrowserChecks"`
// Disables scripted checks for this probe.
DisableScriptedChecks bool `pulumi:"disableScriptedChecks"`
// The ID of the probe.
@@ -110,6 +112,11 @@ func (o LookupProbeResultOutput) ToLookupProbeResultOutputWithContext(ctx contex
return o
}
+// Disables browser checks for this probe.
+func (o LookupProbeResultOutput) DisableBrowserChecks() pulumi.BoolOutput {
+ return o.ApplyT(func(v LookupProbeResult) bool { return v.DisableBrowserChecks }).(pulumi.BoolOutput)
+}
+
// Disables scripted checks for this probe.
func (o LookupProbeResultOutput) DisableScriptedChecks() pulumi.BoolOutput {
return o.ApplyT(func(v LookupProbeResult) bool { return v.DisableScriptedChecks }).(pulumi.BoolOutput)
diff --git a/sdk/go/grafana/syntheticmonitoring/probe.go b/sdk/go/grafana/syntheticmonitoring/probe.go
index 83f93b37..6ad4a854 100644
--- a/sdk/go/grafana/syntheticmonitoring/probe.go
+++ b/sdk/go/grafana/syntheticmonitoring/probe.go
@@ -65,6 +65,8 @@ type Probe struct {
// The probe authentication token. Your probe must use this to authenticate with Grafana Cloud.
AuthToken pulumi.StringOutput `pulumi:"authToken"`
+ // Disables browser checks for this probe. Defaults to `false`.
+ DisableBrowserChecks pulumi.BoolPtrOutput `pulumi:"disableBrowserChecks"`
// Disables scripted checks for this probe. Defaults to `false`.
DisableScriptedChecks pulumi.BoolPtrOutput `pulumi:"disableScriptedChecks"`
// Custom labels to be included with collected metrics and logs.
@@ -134,6 +136,8 @@ func GetProbe(ctx *pulumi.Context,
type probeState struct {
// The probe authentication token. Your probe must use this to authenticate with Grafana Cloud.
AuthToken *string `pulumi:"authToken"`
+ // Disables browser checks for this probe. Defaults to `false`.
+ DisableBrowserChecks *bool `pulumi:"disableBrowserChecks"`
// Disables scripted checks for this probe. Defaults to `false`.
DisableScriptedChecks *bool `pulumi:"disableScriptedChecks"`
// Custom labels to be included with collected metrics and logs.
@@ -155,6 +159,8 @@ type probeState struct {
type ProbeState struct {
// The probe authentication token. Your probe must use this to authenticate with Grafana Cloud.
AuthToken pulumi.StringPtrInput
+ // Disables browser checks for this probe. Defaults to `false`.
+ DisableBrowserChecks pulumi.BoolPtrInput
// Disables scripted checks for this probe. Defaults to `false`.
DisableScriptedChecks pulumi.BoolPtrInput
// Custom labels to be included with collected metrics and logs.
@@ -178,6 +184,8 @@ func (ProbeState) ElementType() reflect.Type {
}
type probeArgs struct {
+ // Disables browser checks for this probe. Defaults to `false`.
+ DisableBrowserChecks *bool `pulumi:"disableBrowserChecks"`
// Disables scripted checks for this probe. Defaults to `false`.
DisableScriptedChecks *bool `pulumi:"disableScriptedChecks"`
// Custom labels to be included with collected metrics and logs.
@@ -196,6 +204,8 @@ type probeArgs struct {
// The set of arguments for constructing a Probe resource.
type ProbeArgs struct {
+ // Disables browser checks for this probe. Defaults to `false`.
+ DisableBrowserChecks pulumi.BoolPtrInput
// Disables scripted checks for this probe. Defaults to `false`.
DisableScriptedChecks pulumi.BoolPtrInput
// Custom labels to be included with collected metrics and logs.
@@ -304,6 +314,11 @@ func (o ProbeOutput) AuthToken() pulumi.StringOutput {
return o.ApplyT(func(v *Probe) pulumi.StringOutput { return v.AuthToken }).(pulumi.StringOutput)
}
+// Disables browser checks for this probe. Defaults to `false`.
+func (o ProbeOutput) DisableBrowserChecks() pulumi.BoolPtrOutput {
+ return o.ApplyT(func(v *Probe) pulumi.BoolPtrOutput { return v.DisableBrowserChecks }).(pulumi.BoolPtrOutput)
+}
+
// Disables scripted checks for this probe. Defaults to `false`.
func (o ProbeOutput) DisableScriptedChecks() pulumi.BoolPtrOutput {
return o.ApplyT(func(v *Probe) pulumi.BoolPtrOutput { return v.DisableScriptedChecks }).(pulumi.BoolPtrOutput)
diff --git a/sdk/nodejs/cloud/getPrivateDataSourceConnectNetworks.ts b/sdk/nodejs/cloud/getPrivateDataSourceConnectNetworks.ts
new file mode 100644
index 00000000..23cedcdf
--- /dev/null
+++ b/sdk/nodejs/cloud/getPrivateDataSourceConnectNetworks.ts
@@ -0,0 +1,73 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as inputs from "../types/input";
+import * as outputs from "../types/output";
+import * as utilities from "../utilities";
+
+/**
+ * Fetches Private Data source Connect networks from Grafana Cloud.
+ *
+ * * [Official documentation](https://grafana.com/docs/grafana-cloud/account-management/authentication-and-permissions/access-policies/)
+ * * [API documentation](https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-access-policies)
+ *
+ * Required access policy scopes:
+ *
+ * * accesspolicies:read
+ */
+export function getPrivateDataSourceConnectNetworks(args?: GetPrivateDataSourceConnectNetworksArgs, opts?: pulumi.InvokeOptions): Promise {
+ args = args || {};
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invoke("grafana:cloud/getPrivateDataSourceConnectNetworks:getPrivateDataSourceConnectNetworks", {
+ "nameFilter": args.nameFilter,
+ "regionFilter": args.regionFilter,
+ }, opts);
+}
+
+/**
+ * A collection of arguments for invoking getPrivateDataSourceConnectNetworks.
+ */
+export interface GetPrivateDataSourceConnectNetworksArgs {
+ nameFilter?: string;
+ regionFilter?: string;
+}
+
+/**
+ * A collection of values returned by getPrivateDataSourceConnectNetworks.
+ */
+export interface GetPrivateDataSourceConnectNetworksResult {
+ /**
+ * The ID of this datasource. This is an internal identifier used by the provider to track this datasource.
+ */
+ readonly id: string;
+ readonly nameFilter?: string;
+ readonly privateDataSourceConnectNetworks: outputs.cloud.GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetwork[];
+ readonly regionFilter?: string;
+}
+/**
+ * Fetches Private Data source Connect networks from Grafana Cloud.
+ *
+ * * [Official documentation](https://grafana.com/docs/grafana-cloud/account-management/authentication-and-permissions/access-policies/)
+ * * [API documentation](https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-access-policies)
+ *
+ * Required access policy scopes:
+ *
+ * * accesspolicies:read
+ */
+export function getPrivateDataSourceConnectNetworksOutput(args?: GetPrivateDataSourceConnectNetworksOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output {
+ args = args || {};
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invokeOutput("grafana:cloud/getPrivateDataSourceConnectNetworks:getPrivateDataSourceConnectNetworks", {
+ "nameFilter": args.nameFilter,
+ "regionFilter": args.regionFilter,
+ }, opts);
+}
+
+/**
+ * A collection of arguments for invoking getPrivateDataSourceConnectNetworks.
+ */
+export interface GetPrivateDataSourceConnectNetworksOutputArgs {
+ nameFilter?: pulumi.Input;
+ regionFilter?: pulumi.Input;
+}
diff --git a/sdk/nodejs/cloud/index.ts b/sdk/nodejs/cloud/index.ts
index 676dbb9d..462d21fc 100644
--- a/sdk/nodejs/cloud/index.ts
+++ b/sdk/nodejs/cloud/index.ts
@@ -30,6 +30,11 @@ export const getOrganization: typeof import("./getOrganization").getOrganization
export const getOrganizationOutput: typeof import("./getOrganization").getOrganizationOutput = null as any;
utilities.lazyLoad(exports, ["getOrganization","getOrganizationOutput"], () => require("./getOrganization"));
+export { GetPrivateDataSourceConnectNetworksArgs, GetPrivateDataSourceConnectNetworksResult, GetPrivateDataSourceConnectNetworksOutputArgs } from "./getPrivateDataSourceConnectNetworks";
+export const getPrivateDataSourceConnectNetworks: typeof import("./getPrivateDataSourceConnectNetworks").getPrivateDataSourceConnectNetworks = null as any;
+export const getPrivateDataSourceConnectNetworksOutput: typeof import("./getPrivateDataSourceConnectNetworks").getPrivateDataSourceConnectNetworksOutput = null as any;
+utilities.lazyLoad(exports, ["getPrivateDataSourceConnectNetworks","getPrivateDataSourceConnectNetworksOutput"], () => require("./getPrivateDataSourceConnectNetworks"));
+
export { GetProviderAwsAccountArgs, GetProviderAwsAccountResult, GetProviderAwsAccountOutputArgs } from "./getProviderAwsAccount";
export const getProviderAwsAccount: typeof import("./getProviderAwsAccount").getProviderAwsAccount = null as any;
export const getProviderAwsAccountOutput: typeof import("./getProviderAwsAccount").getProviderAwsAccountOutput = null as any;
@@ -65,6 +70,16 @@ export type PluginInstallation = import("./pluginInstallation").PluginInstallati
export const PluginInstallation: typeof import("./pluginInstallation").PluginInstallation = null as any;
utilities.lazyLoad(exports, ["PluginInstallation"], () => require("./pluginInstallation"));
+export { PrivateDataSourceConnectNetworkArgs, PrivateDataSourceConnectNetworkState } from "./privateDataSourceConnectNetwork";
+export type PrivateDataSourceConnectNetwork = import("./privateDataSourceConnectNetwork").PrivateDataSourceConnectNetwork;
+export const PrivateDataSourceConnectNetwork: typeof import("./privateDataSourceConnectNetwork").PrivateDataSourceConnectNetwork = null as any;
+utilities.lazyLoad(exports, ["PrivateDataSourceConnectNetwork"], () => require("./privateDataSourceConnectNetwork"));
+
+export { PrivateDataSourceConnectNetworkTokenArgs, PrivateDataSourceConnectNetworkTokenState } from "./privateDataSourceConnectNetworkToken";
+export type PrivateDataSourceConnectNetworkToken = import("./privateDataSourceConnectNetworkToken").PrivateDataSourceConnectNetworkToken;
+export const PrivateDataSourceConnectNetworkToken: typeof import("./privateDataSourceConnectNetworkToken").PrivateDataSourceConnectNetworkToken = null as any;
+utilities.lazyLoad(exports, ["PrivateDataSourceConnectNetworkToken"], () => require("./privateDataSourceConnectNetworkToken"));
+
export { ProviderAwsAccountArgs, ProviderAwsAccountState } from "./providerAwsAccount";
export type ProviderAwsAccount = import("./providerAwsAccount").ProviderAwsAccount;
export const ProviderAwsAccount: typeof import("./providerAwsAccount").ProviderAwsAccount = null as any;
@@ -108,6 +123,10 @@ const _module = {
return new OrgMember(name, undefined, { urn })
case "grafana:cloud/pluginInstallation:PluginInstallation":
return new PluginInstallation(name, undefined, { urn })
+ case "grafana:cloud/privateDataSourceConnectNetwork:PrivateDataSourceConnectNetwork":
+ return new PrivateDataSourceConnectNetwork(name, undefined, { urn })
+ case "grafana:cloud/privateDataSourceConnectNetworkToken:PrivateDataSourceConnectNetworkToken":
+ return new PrivateDataSourceConnectNetworkToken(name, undefined, { urn })
case "grafana:cloud/providerAwsAccount:ProviderAwsAccount":
return new ProviderAwsAccount(name, undefined, { urn })
case "grafana:cloud/providerAwsCloudwatchScrapeJob:ProviderAwsCloudwatchScrapeJob":
@@ -129,6 +148,8 @@ pulumi.runtime.registerResourceModule("grafana", "cloud/accessPolicy", _module)
pulumi.runtime.registerResourceModule("grafana", "cloud/accessPolicyToken", _module)
pulumi.runtime.registerResourceModule("grafana", "cloud/orgMember", _module)
pulumi.runtime.registerResourceModule("grafana", "cloud/pluginInstallation", _module)
+pulumi.runtime.registerResourceModule("grafana", "cloud/privateDataSourceConnectNetwork", _module)
+pulumi.runtime.registerResourceModule("grafana", "cloud/privateDataSourceConnectNetworkToken", _module)
pulumi.runtime.registerResourceModule("grafana", "cloud/providerAwsAccount", _module)
pulumi.runtime.registerResourceModule("grafana", "cloud/providerAwsCloudwatchScrapeJob", _module)
pulumi.runtime.registerResourceModule("grafana", "cloud/providerAzureCredential", _module)
diff --git a/sdk/nodejs/cloud/privateDataSourceConnectNetwork.ts b/sdk/nodejs/cloud/privateDataSourceConnectNetwork.ts
new file mode 100644
index 00000000..c1111a8f
--- /dev/null
+++ b/sdk/nodejs/cloud/privateDataSourceConnectNetwork.ts
@@ -0,0 +1,199 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as utilities from "../utilities";
+
+/**
+ * * [Official documentation](https://grafana.com/docs/grafana-cloud/connect-externally-hosted/private-data-source-connect/)
+ * * [API documentation](https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#create-an-access-policy)
+ *
+ * Required access policy scopes:
+ *
+ * * accesspolicies:read
+ * * accesspolicies:write
+ * * accesspolicies:delete
+ *
+ * ## Example Usage
+ *
+ * ```typescript
+ * import * as pulumi from "@pulumi/pulumi";
+ * import * as grafana from "@pulumi/grafana";
+ * import * as grafana from "@pulumiverse/grafana";
+ *
+ * const current = grafana.cloud.getStack({
+ * slug: "",
+ * });
+ * const test = new grafana.cloud.PrivateDataSourceConnectNetwork("test", {
+ * region: "us",
+ * name: "my-pdc",
+ * displayName: "My PDC",
+ * stackIdentifier: current.then(current => current.id),
+ * });
+ * const testPrivateDataSourceConnectNetworkToken = new grafana.cloud.PrivateDataSourceConnectNetworkToken("test", {
+ * pdcNetworkId: test.pdcNetworkId,
+ * region: test.region,
+ * name: "my-pdc-token",
+ * displayName: "My PDC Token",
+ * });
+ * ```
+ *
+ * ## Import
+ *
+ * ```sh
+ * $ pulumi import grafana:cloud/privateDataSourceConnectNetwork:PrivateDataSourceConnectNetwork name "{{ region }}:{{ policyId }}"
+ * ```
+ */
+export class PrivateDataSourceConnectNetwork extends pulumi.CustomResource {
+ /**
+ * Get an existing PrivateDataSourceConnectNetwork resource's state with the given name, ID, and optional extra
+ * properties used to qualify the lookup.
+ *
+ * @param name The _unique_ name of the resulting resource.
+ * @param id The _unique_ provider ID of the resource to lookup.
+ * @param state Any extra arguments used during the lookup.
+ * @param opts Optional settings to control the behavior of the CustomResource.
+ */
+ public static get(name: string, id: pulumi.Input, state?: PrivateDataSourceConnectNetworkState, opts?: pulumi.CustomResourceOptions): PrivateDataSourceConnectNetwork {
+ return new PrivateDataSourceConnectNetwork(name, state, { ...opts, id: id });
+ }
+
+ /** @internal */
+ public static readonly __pulumiType = 'grafana:cloud/privateDataSourceConnectNetwork:PrivateDataSourceConnectNetwork';
+
+ /**
+ * Returns true if the given object is an instance of PrivateDataSourceConnectNetwork. This is designed to work even
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
+ */
+ public static isInstance(obj: any): obj is PrivateDataSourceConnectNetwork {
+ if (obj === undefined || obj === null) {
+ return false;
+ }
+ return obj['__pulumiType'] === PrivateDataSourceConnectNetwork.__pulumiType;
+ }
+
+ /**
+ * Creation date of the private data source connect network.
+ */
+ public /*out*/ readonly createdAt!: pulumi.Output;
+ /**
+ * Display name of the PDC network. Defaults to the name.
+ */
+ public readonly displayName!: pulumi.Output;
+ /**
+ * Name of the PDC network.**Note:** The name must be lowercase and can contain hyphens or underscores. See full requirements here: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#request-body
+ */
+ public readonly name!: pulumi.Output;
+ /**
+ * ID of the private data source connect network.
+ */
+ public /*out*/ readonly pdcNetworkId!: pulumi.Output;
+ /**
+ * The region where your stack is deployed. Use the instances list API to get the region for your instance - use the regionSlug property: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-stacks
+ */
+ public readonly region!: pulumi.Output;
+ /**
+ * The identifier of the stack.
+ */
+ public readonly stackIdentifier!: pulumi.Output;
+ /**
+ * Last update date of the private data source connect network.
+ */
+ public /*out*/ readonly updatedAt!: pulumi.Output;
+
+ /**
+ * Create a PrivateDataSourceConnectNetwork resource with the given unique name, arguments, and options.
+ *
+ * @param name The _unique_ name of the resource.
+ * @param args The arguments to use to populate this resource's properties.
+ * @param opts A bag of options that control this resource's behavior.
+ */
+ constructor(name: string, args: PrivateDataSourceConnectNetworkArgs, opts?: pulumi.CustomResourceOptions)
+ constructor(name: string, argsOrState?: PrivateDataSourceConnectNetworkArgs | PrivateDataSourceConnectNetworkState, opts?: pulumi.CustomResourceOptions) {
+ let resourceInputs: pulumi.Inputs = {};
+ opts = opts || {};
+ if (opts.id) {
+ const state = argsOrState as PrivateDataSourceConnectNetworkState | undefined;
+ resourceInputs["createdAt"] = state ? state.createdAt : undefined;
+ resourceInputs["displayName"] = state ? state.displayName : undefined;
+ resourceInputs["name"] = state ? state.name : undefined;
+ resourceInputs["pdcNetworkId"] = state ? state.pdcNetworkId : undefined;
+ resourceInputs["region"] = state ? state.region : undefined;
+ resourceInputs["stackIdentifier"] = state ? state.stackIdentifier : undefined;
+ resourceInputs["updatedAt"] = state ? state.updatedAt : undefined;
+ } else {
+ const args = argsOrState as PrivateDataSourceConnectNetworkArgs | undefined;
+ if ((!args || args.region === undefined) && !opts.urn) {
+ throw new Error("Missing required property 'region'");
+ }
+ if ((!args || args.stackIdentifier === undefined) && !opts.urn) {
+ throw new Error("Missing required property 'stackIdentifier'");
+ }
+ resourceInputs["displayName"] = args ? args.displayName : undefined;
+ resourceInputs["name"] = args ? args.name : undefined;
+ resourceInputs["region"] = args ? args.region : undefined;
+ resourceInputs["stackIdentifier"] = args ? args.stackIdentifier : undefined;
+ resourceInputs["createdAt"] = undefined /*out*/;
+ resourceInputs["pdcNetworkId"] = undefined /*out*/;
+ resourceInputs["updatedAt"] = undefined /*out*/;
+ }
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
+ super(PrivateDataSourceConnectNetwork.__pulumiType, name, resourceInputs, opts);
+ }
+}
+
+/**
+ * Input properties used for looking up and filtering PrivateDataSourceConnectNetwork resources.
+ */
+export interface PrivateDataSourceConnectNetworkState {
+ /**
+ * Creation date of the private data source connect network.
+ */
+ createdAt?: pulumi.Input;
+ /**
+ * Display name of the PDC network. Defaults to the name.
+ */
+ displayName?: pulumi.Input;
+ /**
+ * Name of the PDC network.**Note:** The name must be lowercase and can contain hyphens or underscores. See full requirements here: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#request-body
+ */
+ name?: pulumi.Input;
+ /**
+ * ID of the private data source connect network.
+ */
+ pdcNetworkId?: pulumi.Input;
+ /**
+ * The region where your stack is deployed. Use the instances list API to get the region for your instance - use the regionSlug property: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-stacks
+ */
+ region?: pulumi.Input;
+ /**
+ * The identifier of the stack.
+ */
+ stackIdentifier?: pulumi.Input;
+ /**
+ * Last update date of the private data source connect network.
+ */
+ updatedAt?: pulumi.Input;
+}
+
+/**
+ * The set of arguments for constructing a PrivateDataSourceConnectNetwork resource.
+ */
+export interface PrivateDataSourceConnectNetworkArgs {
+ /**
+ * Display name of the PDC network. Defaults to the name.
+ */
+ displayName?: pulumi.Input;
+ /**
+ * Name of the PDC network.**Note:** The name must be lowercase and can contain hyphens or underscores. See full requirements here: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#request-body
+ */
+ name?: pulumi.Input;
+ /**
+ * The region where your stack is deployed. Use the instances list API to get the region for your instance - use the regionSlug property: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-stacks
+ */
+ region: pulumi.Input;
+ /**
+ * The identifier of the stack.
+ */
+ stackIdentifier: pulumi.Input;
+}
diff --git a/sdk/nodejs/cloud/privateDataSourceConnectNetworkToken.ts b/sdk/nodejs/cloud/privateDataSourceConnectNetworkToken.ts
new file mode 100644
index 00000000..1c2e8599
--- /dev/null
+++ b/sdk/nodejs/cloud/privateDataSourceConnectNetworkToken.ts
@@ -0,0 +1,209 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as utilities from "../utilities";
+
+/**
+ * * [Official documentation](https://grafana.com/docs/grafana-cloud/connect-externally-hosted/private-data-source-connect/)
+ * * [API documentation](https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#create-a-token)
+ *
+ * Required access policy scopes:
+ *
+ * * accesspolicies:read
+ * * accesspolicies:write
+ * * accesspolicies:delete
+ *
+ * ## Example Usage
+ *
+ * ```typescript
+ * import * as pulumi from "@pulumi/pulumi";
+ * import * as grafana from "@pulumi/grafana";
+ * import * as grafana from "@pulumiverse/grafana";
+ *
+ * const current = grafana.cloud.getStack({
+ * slug: "",
+ * });
+ * const test = new grafana.cloud.PrivateDataSourceConnectNetwork("test", {
+ * region: "us",
+ * name: "my-pdc",
+ * displayName: "My PDC",
+ * stackIdentifier: current.then(current => current.id),
+ * });
+ * const testPrivateDataSourceConnectNetworkToken = new grafana.cloud.PrivateDataSourceConnectNetworkToken("test", {
+ * pdcNetworkId: test.pdcNetworkId,
+ * region: test.region,
+ * name: "my-pdc-token",
+ * displayName: "My PDC Token",
+ * });
+ * ```
+ *
+ * ## Import
+ *
+ * ```sh
+ * $ pulumi import grafana:cloud/privateDataSourceConnectNetworkToken:PrivateDataSourceConnectNetworkToken name "{{ region }}:{{ tokenId }}"
+ * ```
+ */
+export class PrivateDataSourceConnectNetworkToken extends pulumi.CustomResource {
+ /**
+ * Get an existing PrivateDataSourceConnectNetworkToken resource's state with the given name, ID, and optional extra
+ * properties used to qualify the lookup.
+ *
+ * @param name The _unique_ name of the resulting resource.
+ * @param id The _unique_ provider ID of the resource to lookup.
+ * @param state Any extra arguments used during the lookup.
+ * @param opts Optional settings to control the behavior of the CustomResource.
+ */
+ public static get(name: string, id: pulumi.Input, state?: PrivateDataSourceConnectNetworkTokenState, opts?: pulumi.CustomResourceOptions): PrivateDataSourceConnectNetworkToken {
+ return new PrivateDataSourceConnectNetworkToken(name, state, { ...opts, id: id });
+ }
+
+ /** @internal */
+ public static readonly __pulumiType = 'grafana:cloud/privateDataSourceConnectNetworkToken:PrivateDataSourceConnectNetworkToken';
+
+ /**
+ * Returns true if the given object is an instance of PrivateDataSourceConnectNetworkToken. This is designed to work even
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
+ */
+ public static isInstance(obj: any): obj is PrivateDataSourceConnectNetworkToken {
+ if (obj === undefined || obj === null) {
+ return false;
+ }
+ return obj['__pulumiType'] === PrivateDataSourceConnectNetworkToken.__pulumiType;
+ }
+
+ /**
+ * Creation date of the private data source network token.
+ */
+ public /*out*/ readonly createdAt!: pulumi.Output;
+ /**
+ * Display name of the private data source network token. Defaults to the name.
+ */
+ public readonly displayName!: pulumi.Output;
+ /**
+ * Expiration date of the private data source network token. Does not expire by default.
+ */
+ public readonly expiresAt!: pulumi.Output;
+ /**
+ * Name of the private data source network token.
+ */
+ public readonly name!: pulumi.Output;
+ /**
+ * ID of the private data source network for which to create a token.
+ */
+ public readonly pdcNetworkId!: pulumi.Output;
+ /**
+ * Region of the private data source network. Should be set to the same region as the private data source network. Use the region list API to get the list of available regions: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-regions.
+ */
+ public readonly region!: pulumi.Output;
+ public /*out*/ readonly token!: pulumi.Output;
+ /**
+ * Last update date of the private data source network token.
+ */
+ public /*out*/ readonly updatedAt!: pulumi.Output;
+
+ /**
+ * Create a PrivateDataSourceConnectNetworkToken resource with the given unique name, arguments, and options.
+ *
+ * @param name The _unique_ name of the resource.
+ * @param args The arguments to use to populate this resource's properties.
+ * @param opts A bag of options that control this resource's behavior.
+ */
+ constructor(name: string, args: PrivateDataSourceConnectNetworkTokenArgs, opts?: pulumi.CustomResourceOptions)
+ constructor(name: string, argsOrState?: PrivateDataSourceConnectNetworkTokenArgs | PrivateDataSourceConnectNetworkTokenState, opts?: pulumi.CustomResourceOptions) {
+ let resourceInputs: pulumi.Inputs = {};
+ opts = opts || {};
+ if (opts.id) {
+ const state = argsOrState as PrivateDataSourceConnectNetworkTokenState | undefined;
+ resourceInputs["createdAt"] = state ? state.createdAt : undefined;
+ resourceInputs["displayName"] = state ? state.displayName : undefined;
+ resourceInputs["expiresAt"] = state ? state.expiresAt : undefined;
+ resourceInputs["name"] = state ? state.name : undefined;
+ resourceInputs["pdcNetworkId"] = state ? state.pdcNetworkId : undefined;
+ resourceInputs["region"] = state ? state.region : undefined;
+ resourceInputs["token"] = state ? state.token : undefined;
+ resourceInputs["updatedAt"] = state ? state.updatedAt : undefined;
+ } else {
+ const args = argsOrState as PrivateDataSourceConnectNetworkTokenArgs | undefined;
+ if ((!args || args.pdcNetworkId === undefined) && !opts.urn) {
+ throw new Error("Missing required property 'pdcNetworkId'");
+ }
+ if ((!args || args.region === undefined) && !opts.urn) {
+ throw new Error("Missing required property 'region'");
+ }
+ resourceInputs["displayName"] = args ? args.displayName : undefined;
+ resourceInputs["expiresAt"] = args ? args.expiresAt : undefined;
+ resourceInputs["name"] = args ? args.name : undefined;
+ resourceInputs["pdcNetworkId"] = args ? args.pdcNetworkId : undefined;
+ resourceInputs["region"] = args ? args.region : undefined;
+ resourceInputs["createdAt"] = undefined /*out*/;
+ resourceInputs["token"] = undefined /*out*/;
+ resourceInputs["updatedAt"] = undefined /*out*/;
+ }
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
+ const secretOpts = { additionalSecretOutputs: ["token"] };
+ opts = pulumi.mergeOptions(opts, secretOpts);
+ super(PrivateDataSourceConnectNetworkToken.__pulumiType, name, resourceInputs, opts);
+ }
+}
+
+/**
+ * Input properties used for looking up and filtering PrivateDataSourceConnectNetworkToken resources.
+ */
+export interface PrivateDataSourceConnectNetworkTokenState {
+ /**
+ * Creation date of the private data source network token.
+ */
+ createdAt?: pulumi.Input;
+ /**
+ * Display name of the private data source network token. Defaults to the name.
+ */
+ displayName?: pulumi.Input;
+ /**
+ * Expiration date of the private data source network token. Does not expire by default.
+ */
+ expiresAt?: pulumi.Input;
+ /**
+ * Name of the private data source network token.
+ */
+ name?: pulumi.Input;
+ /**
+ * ID of the private data source network for which to create a token.
+ */
+ pdcNetworkId?: pulumi.Input;
+ /**
+ * Region of the private data source network. Should be set to the same region as the private data source network. Use the region list API to get the list of available regions: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-regions.
+ */
+ region?: pulumi.Input;
+ token?: pulumi.Input;
+ /**
+ * Last update date of the private data source network token.
+ */
+ updatedAt?: pulumi.Input;
+}
+
+/**
+ * The set of arguments for constructing a PrivateDataSourceConnectNetworkToken resource.
+ */
+export interface PrivateDataSourceConnectNetworkTokenArgs {
+ /**
+ * Display name of the private data source network token. Defaults to the name.
+ */
+ displayName?: pulumi.Input;
+ /**
+ * Expiration date of the private data source network token. Does not expire by default.
+ */
+ expiresAt?: pulumi.Input;
+ /**
+ * Name of the private data source network token.
+ */
+ name?: pulumi.Input;
+ /**
+ * ID of the private data source network for which to create a token.
+ */
+ pdcNetworkId: pulumi.Input;
+ /**
+ * Region of the private data source network. Should be set to the same region as the private data source network. Use the region list API to get the list of available regions: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-regions.
+ */
+ region: pulumi.Input;
+}
diff --git a/sdk/nodejs/dataSource.ts b/sdk/nodejs/dataSource.ts
index 5c6ce8e9..f9c5f369 100644
--- a/sdk/nodejs/dataSource.ts
+++ b/sdk/nodejs/dataSource.ts
@@ -160,6 +160,10 @@ export class DataSource extends pulumi.CustomResource {
* The Organization ID. If not set, the Org ID defined in the provider block will be used.
*/
public readonly orgId!: pulumi.Output;
+ /**
+ * (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
+ */
+ public readonly privateDataSourceConnectNetworkId!: pulumi.Output;
/**
* Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
*/
@@ -206,6 +210,7 @@ export class DataSource extends pulumi.CustomResource {
resourceInputs["jsonDataEncoded"] = state ? state.jsonDataEncoded : undefined;
resourceInputs["name"] = state ? state.name : undefined;
resourceInputs["orgId"] = state ? state.orgId : undefined;
+ resourceInputs["privateDataSourceConnectNetworkId"] = state ? state.privateDataSourceConnectNetworkId : undefined;
resourceInputs["secureJsonDataEncoded"] = state ? state.secureJsonDataEncoded : undefined;
resourceInputs["type"] = state ? state.type : undefined;
resourceInputs["uid"] = state ? state.uid : undefined;
@@ -225,6 +230,7 @@ export class DataSource extends pulumi.CustomResource {
resourceInputs["jsonDataEncoded"] = args ? args.jsonDataEncoded : undefined;
resourceInputs["name"] = args ? args.name : undefined;
resourceInputs["orgId"] = args ? args.orgId : undefined;
+ resourceInputs["privateDataSourceConnectNetworkId"] = args ? args.privateDataSourceConnectNetworkId : undefined;
resourceInputs["secureJsonDataEncoded"] = args?.secureJsonDataEncoded ? pulumi.secret(args.secureJsonDataEncoded) : undefined;
resourceInputs["type"] = args ? args.type : undefined;
resourceInputs["uid"] = args ? args.uid : undefined;
@@ -280,6 +286,10 @@ export interface DataSourceState {
* The Organization ID. If not set, the Org ID defined in the provider block will be used.
*/
orgId?: pulumi.Input;
+ /**
+ * (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
+ */
+ privateDataSourceConnectNetworkId?: pulumi.Input;
/**
* Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
*/
@@ -342,6 +352,10 @@ export interface DataSourceArgs {
* The Organization ID. If not set, the Org ID defined in the provider block will be used.
*/
orgId?: pulumi.Input;
+ /**
+ * (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
+ */
+ privateDataSourceConnectNetworkId?: pulumi.Input;
/**
* Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
*/
diff --git a/sdk/nodejs/getDataSource.ts b/sdk/nodejs/getDataSource.ts
index 91eb71a0..4a59d08d 100644
--- a/sdk/nodejs/getDataSource.ts
+++ b/sdk/nodejs/getDataSource.ts
@@ -99,6 +99,10 @@ export interface GetDataSourceResult {
* The Organization ID. If not set, the Org ID defined in the provider block will be used.
*/
readonly orgId?: string;
+ /**
+ * (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source.
+ */
+ readonly privateDataSourceConnectNetworkId: string;
/**
* The data source type. Must be one of the supported data source keywords.
*/
diff --git a/sdk/nodejs/getSyntheticMonitoringProbe.ts b/sdk/nodejs/getSyntheticMonitoringProbe.ts
index 10d35652..72aa43a3 100644
--- a/sdk/nodejs/getSyntheticMonitoringProbe.ts
+++ b/sdk/nodejs/getSyntheticMonitoringProbe.ts
@@ -13,8 +13,8 @@ import * as utilities from "./utilities";
* import * as pulumi from "@pulumi/pulumi";
* import * as grafana from "@pulumi/grafana";
*
- * const atlanta = grafana.syntheticMonitoring.getProbe({
- * name: "Atlanta",
+ * const ohio = grafana.syntheticMonitoring.getProbe({
+ * name: "Ohio",
* });
* ```
*/
@@ -41,6 +41,10 @@ export interface GetSyntheticMonitoringProbeArgs {
* A collection of values returned by getSyntheticMonitoringProbe.
*/
export interface GetSyntheticMonitoringProbeResult {
+ /**
+ * Disables browser checks for this probe.
+ */
+ readonly disableBrowserChecks: boolean;
/**
* Disables scripted checks for this probe.
*/
@@ -87,8 +91,8 @@ export interface GetSyntheticMonitoringProbeResult {
* import * as pulumi from "@pulumi/pulumi";
* import * as grafana from "@pulumi/grafana";
*
- * const atlanta = grafana.syntheticMonitoring.getProbe({
- * name: "Atlanta",
+ * const ohio = grafana.syntheticMonitoring.getProbe({
+ * name: "Ohio",
* });
* ```
*/
diff --git a/sdk/nodejs/oss/dataSource.ts b/sdk/nodejs/oss/dataSource.ts
index cb0fcea4..25eb356e 100644
--- a/sdk/nodejs/oss/dataSource.ts
+++ b/sdk/nodejs/oss/dataSource.ts
@@ -157,6 +157,10 @@ export class DataSource extends pulumi.CustomResource {
* The Organization ID. If not set, the Org ID defined in the provider block will be used.
*/
public readonly orgId!: pulumi.Output;
+ /**
+ * (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
+ */
+ public readonly privateDataSourceConnectNetworkId!: pulumi.Output;
/**
* Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
*/
@@ -200,6 +204,7 @@ export class DataSource extends pulumi.CustomResource {
resourceInputs["jsonDataEncoded"] = state ? state.jsonDataEncoded : undefined;
resourceInputs["name"] = state ? state.name : undefined;
resourceInputs["orgId"] = state ? state.orgId : undefined;
+ resourceInputs["privateDataSourceConnectNetworkId"] = state ? state.privateDataSourceConnectNetworkId : undefined;
resourceInputs["secureJsonDataEncoded"] = state ? state.secureJsonDataEncoded : undefined;
resourceInputs["type"] = state ? state.type : undefined;
resourceInputs["uid"] = state ? state.uid : undefined;
@@ -219,6 +224,7 @@ export class DataSource extends pulumi.CustomResource {
resourceInputs["jsonDataEncoded"] = args ? args.jsonDataEncoded : undefined;
resourceInputs["name"] = args ? args.name : undefined;
resourceInputs["orgId"] = args ? args.orgId : undefined;
+ resourceInputs["privateDataSourceConnectNetworkId"] = args ? args.privateDataSourceConnectNetworkId : undefined;
resourceInputs["secureJsonDataEncoded"] = args?.secureJsonDataEncoded ? pulumi.secret(args.secureJsonDataEncoded) : undefined;
resourceInputs["type"] = args ? args.type : undefined;
resourceInputs["uid"] = args ? args.uid : undefined;
@@ -274,6 +280,10 @@ export interface DataSourceState {
* The Organization ID. If not set, the Org ID defined in the provider block will be used.
*/
orgId?: pulumi.Input;
+ /**
+ * (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
+ */
+ privateDataSourceConnectNetworkId?: pulumi.Input;
/**
* Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
*/
@@ -336,6 +346,10 @@ export interface DataSourceArgs {
* The Organization ID. If not set, the Org ID defined in the provider block will be used.
*/
orgId?: pulumi.Input;
+ /**
+ * (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
+ */
+ privateDataSourceConnectNetworkId?: pulumi.Input;
/**
* Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
*/
diff --git a/sdk/nodejs/oss/getDataSource.ts b/sdk/nodejs/oss/getDataSource.ts
index cfa0a953..a883f8cd 100644
--- a/sdk/nodejs/oss/getDataSource.ts
+++ b/sdk/nodejs/oss/getDataSource.ts
@@ -97,6 +97,10 @@ export interface GetDataSourceResult {
* The Organization ID. If not set, the Org ID defined in the provider block will be used.
*/
readonly orgId?: string;
+ /**
+ * (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source.
+ */
+ readonly privateDataSourceConnectNetworkId: string;
/**
* The data source type. Must be one of the supported data source keywords.
*/
diff --git a/sdk/nodejs/syntheticMonitoringCheck.ts b/sdk/nodejs/syntheticMonitoringCheck.ts
index c2840076..bec75f3a 100644
--- a/sdk/nodejs/syntheticMonitoringCheck.ts
+++ b/sdk/nodejs/syntheticMonitoringCheck.ts
@@ -29,7 +29,7 @@ import * as utilities from "./utilities";
* job: "DNS Defaults",
* target: "grafana.com",
* enabled: false,
- * probes: [main.then(main => main.probes?.atlanta)],
+ * probes: [main.then(main => main.probes?.ohio)],
* labels: {
* foo: "bar",
* },
@@ -98,7 +98,7 @@ import * as utilities from "./utilities";
* job: "HTTP Defaults",
* target: "https://grafana.com",
* enabled: false,
- * probes: [main.then(main => main.probes?.atlanta)],
+ * probes: [main.then(main => main.probes?.ohio)],
* labels: {
* foo: "bar",
* },
@@ -121,7 +121,7 @@ import * as utilities from "./utilities";
* target: "https://grafana.org",
* enabled: false,
* probes: [
- * main.then(main => main.probes?.bangalore),
+ * main.then(main => main.probes?.mumbai),
* main.then(main => main.probes?.mumbai),
* ],
* labels: {
@@ -208,7 +208,7 @@ import * as utilities from "./utilities";
* job: "Ping Defaults",
* target: "grafana.com",
* enabled: false,
- * probes: [main.then(main => main.probes?.atlanta)],
+ * probes: [main.then(main => main.probes?.ohio)],
* labels: {
* foo: "bar",
* },
@@ -259,7 +259,7 @@ import * as utilities from "./utilities";
* job: "TCP Defaults",
* target: "grafana.com:80",
* enabled: false,
- * probes: [main.then(main => main.probes?.atlanta)],
+ * probes: [main.then(main => main.probes?.ohio)],
* labels: {
* foo: "bar",
* },
@@ -353,7 +353,7 @@ import * as utilities from "./utilities";
* enabled: false,
* frequency: 120000,
* timeout: 30000,
- * probes: [main.then(main => main.probes?.atlanta)],
+ * probes: [main.then(main => main.probes?.ohio)],
* labels: {
* foo: "bar",
* },
diff --git a/sdk/nodejs/syntheticMonitoringProbe.ts b/sdk/nodejs/syntheticMonitoringProbe.ts
index f06d70b7..32004206 100644
--- a/sdk/nodejs/syntheticMonitoringProbe.ts
+++ b/sdk/nodejs/syntheticMonitoringProbe.ts
@@ -74,6 +74,10 @@ export class SyntheticMonitoringProbe extends pulumi.CustomResource {
* The probe authentication token. Your probe must use this to authenticate with Grafana Cloud.
*/
public /*out*/ readonly authToken!: pulumi.Output;
+ /**
+ * Disables browser checks for this probe. Defaults to `false`.
+ */
+ public readonly disableBrowserChecks!: pulumi.Output;
/**
* Disables scripted checks for this probe. Defaults to `false`.
*/
@@ -124,6 +128,7 @@ export class SyntheticMonitoringProbe extends pulumi.CustomResource {
if (opts.id) {
const state = argsOrState as SyntheticMonitoringProbeState | undefined;
resourceInputs["authToken"] = state ? state.authToken : undefined;
+ resourceInputs["disableBrowserChecks"] = state ? state.disableBrowserChecks : undefined;
resourceInputs["disableScriptedChecks"] = state ? state.disableScriptedChecks : undefined;
resourceInputs["labels"] = state ? state.labels : undefined;
resourceInputs["latitude"] = state ? state.latitude : undefined;
@@ -143,6 +148,7 @@ export class SyntheticMonitoringProbe extends pulumi.CustomResource {
if ((!args || args.region === undefined) && !opts.urn) {
throw new Error("Missing required property 'region'");
}
+ resourceInputs["disableBrowserChecks"] = args ? args.disableBrowserChecks : undefined;
resourceInputs["disableScriptedChecks"] = args ? args.disableScriptedChecks : undefined;
resourceInputs["labels"] = args ? args.labels : undefined;
resourceInputs["latitude"] = args ? args.latitude : undefined;
@@ -168,6 +174,10 @@ export interface SyntheticMonitoringProbeState {
* The probe authentication token. Your probe must use this to authenticate with Grafana Cloud.
*/
authToken?: pulumi.Input;
+ /**
+ * Disables browser checks for this probe. Defaults to `false`.
+ */
+ disableBrowserChecks?: pulumi.Input;
/**
* Disables scripted checks for this probe. Defaults to `false`.
*/
@@ -206,6 +216,10 @@ export interface SyntheticMonitoringProbeState {
* The set of arguments for constructing a SyntheticMonitoringProbe resource.
*/
export interface SyntheticMonitoringProbeArgs {
+ /**
+ * Disables browser checks for this probe. Defaults to `false`.
+ */
+ disableBrowserChecks?: pulumi.Input;
/**
* Disables scripted checks for this probe. Defaults to `false`.
*/
diff --git a/sdk/nodejs/syntheticmonitoring/check.ts b/sdk/nodejs/syntheticmonitoring/check.ts
index 93b2f514..0da02ede 100644
--- a/sdk/nodejs/syntheticmonitoring/check.ts
+++ b/sdk/nodejs/syntheticmonitoring/check.ts
@@ -29,7 +29,7 @@ import * as utilities from "../utilities";
* job: "DNS Defaults",
* target: "grafana.com",
* enabled: false,
- * probes: [main.then(main => main.probes?.atlanta)],
+ * probes: [main.then(main => main.probes?.ohio)],
* labels: {
* foo: "bar",
* },
@@ -98,7 +98,7 @@ import * as utilities from "../utilities";
* job: "HTTP Defaults",
* target: "https://grafana.com",
* enabled: false,
- * probes: [main.then(main => main.probes?.atlanta)],
+ * probes: [main.then(main => main.probes?.ohio)],
* labels: {
* foo: "bar",
* },
@@ -121,7 +121,7 @@ import * as utilities from "../utilities";
* target: "https://grafana.org",
* enabled: false,
* probes: [
- * main.then(main => main.probes?.bangalore),
+ * main.then(main => main.probes?.mumbai),
* main.then(main => main.probes?.mumbai),
* ],
* labels: {
@@ -208,7 +208,7 @@ import * as utilities from "../utilities";
* job: "Ping Defaults",
* target: "grafana.com",
* enabled: false,
- * probes: [main.then(main => main.probes?.atlanta)],
+ * probes: [main.then(main => main.probes?.ohio)],
* labels: {
* foo: "bar",
* },
@@ -259,7 +259,7 @@ import * as utilities from "../utilities";
* job: "TCP Defaults",
* target: "grafana.com:80",
* enabled: false,
- * probes: [main.then(main => main.probes?.atlanta)],
+ * probes: [main.then(main => main.probes?.ohio)],
* labels: {
* foo: "bar",
* },
@@ -353,7 +353,7 @@ import * as utilities from "../utilities";
* enabled: false,
* frequency: 120000,
* timeout: 30000,
- * probes: [main.then(main => main.probes?.atlanta)],
+ * probes: [main.then(main => main.probes?.ohio)],
* labels: {
* foo: "bar",
* },
diff --git a/sdk/nodejs/syntheticmonitoring/getProbe.ts b/sdk/nodejs/syntheticmonitoring/getProbe.ts
index a6c0542a..3cb9cd3d 100644
--- a/sdk/nodejs/syntheticmonitoring/getProbe.ts
+++ b/sdk/nodejs/syntheticmonitoring/getProbe.ts
@@ -13,8 +13,8 @@ import * as utilities from "../utilities";
* import * as pulumi from "@pulumi/pulumi";
* import * as grafana from "@pulumi/grafana";
*
- * const atlanta = grafana.syntheticMonitoring.getProbe({
- * name: "Atlanta",
+ * const ohio = grafana.syntheticMonitoring.getProbe({
+ * name: "Ohio",
* });
* ```
*/
@@ -39,6 +39,10 @@ export interface GetProbeArgs {
* A collection of values returned by getProbe.
*/
export interface GetProbeResult {
+ /**
+ * Disables browser checks for this probe.
+ */
+ readonly disableBrowserChecks: boolean;
/**
* Disables scripted checks for this probe.
*/
@@ -85,8 +89,8 @@ export interface GetProbeResult {
* import * as pulumi from "@pulumi/pulumi";
* import * as grafana from "@pulumi/grafana";
*
- * const atlanta = grafana.syntheticMonitoring.getProbe({
- * name: "Atlanta",
+ * const ohio = grafana.syntheticMonitoring.getProbe({
+ * name: "Ohio",
* });
* ```
*/
diff --git a/sdk/nodejs/syntheticmonitoring/probe.ts b/sdk/nodejs/syntheticmonitoring/probe.ts
index a857310f..c9a3dbb4 100644
--- a/sdk/nodejs/syntheticmonitoring/probe.ts
+++ b/sdk/nodejs/syntheticmonitoring/probe.ts
@@ -71,6 +71,10 @@ export class Probe extends pulumi.CustomResource {
* The probe authentication token. Your probe must use this to authenticate with Grafana Cloud.
*/
public /*out*/ readonly authToken!: pulumi.Output;
+ /**
+ * Disables browser checks for this probe. Defaults to `false`.
+ */
+ public readonly disableBrowserChecks!: pulumi.Output;
/**
* Disables scripted checks for this probe. Defaults to `false`.
*/
@@ -118,6 +122,7 @@ export class Probe extends pulumi.CustomResource {
if (opts.id) {
const state = argsOrState as ProbeState | undefined;
resourceInputs["authToken"] = state ? state.authToken : undefined;
+ resourceInputs["disableBrowserChecks"] = state ? state.disableBrowserChecks : undefined;
resourceInputs["disableScriptedChecks"] = state ? state.disableScriptedChecks : undefined;
resourceInputs["labels"] = state ? state.labels : undefined;
resourceInputs["latitude"] = state ? state.latitude : undefined;
@@ -137,6 +142,7 @@ export class Probe extends pulumi.CustomResource {
if ((!args || args.region === undefined) && !opts.urn) {
throw new Error("Missing required property 'region'");
}
+ resourceInputs["disableBrowserChecks"] = args ? args.disableBrowserChecks : undefined;
resourceInputs["disableScriptedChecks"] = args ? args.disableScriptedChecks : undefined;
resourceInputs["labels"] = args ? args.labels : undefined;
resourceInputs["latitude"] = args ? args.latitude : undefined;
@@ -164,6 +170,10 @@ export interface ProbeState {
* The probe authentication token. Your probe must use this to authenticate with Grafana Cloud.
*/
authToken?: pulumi.Input;
+ /**
+ * Disables browser checks for this probe. Defaults to `false`.
+ */
+ disableBrowserChecks?: pulumi.Input;
/**
* Disables scripted checks for this probe. Defaults to `false`.
*/
@@ -202,6 +212,10 @@ export interface ProbeState {
* The set of arguments for constructing a Probe resource.
*/
export interface ProbeArgs {
+ /**
+ * Disables browser checks for this probe. Defaults to `false`.
+ */
+ disableBrowserChecks?: pulumi.Input;
/**
* Disables scripted checks for this probe. Defaults to `false`.
*/
diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json
index 68d7d3ae..cdaa67a9 100644
--- a/sdk/nodejs/tsconfig.json
+++ b/sdk/nodejs/tsconfig.json
@@ -25,6 +25,7 @@
"cloud/getAccessPolicies.ts",
"cloud/getIps.ts",
"cloud/getOrganization.ts",
+ "cloud/getPrivateDataSourceConnectNetworks.ts",
"cloud/getProviderAwsAccount.ts",
"cloud/getProviderAwsCloudwatchScrapeJob.ts",
"cloud/getProviderAwsCloudwatchScrapeJobs.ts",
@@ -33,6 +34,8 @@
"cloud/index.ts",
"cloud/orgMember.ts",
"cloud/pluginInstallation.ts",
+ "cloud/privateDataSourceConnectNetwork.ts",
+ "cloud/privateDataSourceConnectNetworkToken.ts",
"cloud/providerAwsAccount.ts",
"cloud/providerAwsCloudwatchScrapeJob.ts",
"cloud/providerAzureCredential.ts",
diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts
index 6d69bb2d..4490ef01 100644
--- a/sdk/nodejs/types/output.ts
+++ b/sdk/nodejs/types/output.ts
@@ -4499,6 +4499,14 @@ export namespace cloud {
status: string;
}
+ export interface GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetwork {
+ displayName: string;
+ id: string;
+ name: string;
+ region: string;
+ status: string;
+ }
+
export interface GetProviderAwsCloudwatchScrapeJobCustomNamespace {
/**
* One or more configuration blocks to configure metrics and their statistics to scrape. Each block must represent a distinct metric name. When accessing this as an attribute reference, it is a list of objects.
diff --git a/sdk/python/pulumiverse_grafana/__init__.py b/sdk/python/pulumiverse_grafana/__init__.py
index 16b58ccd..c4e59bf2 100644
--- a/sdk/python/pulumiverse_grafana/__init__.py
+++ b/sdk/python/pulumiverse_grafana/__init__.py
@@ -200,6 +200,22 @@
"grafana:cloud/pluginInstallation:PluginInstallation": "PluginInstallation"
}
},
+ {
+ "pkg": "grafana",
+ "mod": "cloud/privateDataSourceConnectNetwork",
+ "fqn": "pulumiverse_grafana.cloud",
+ "classes": {
+ "grafana:cloud/privateDataSourceConnectNetwork:PrivateDataSourceConnectNetwork": "PrivateDataSourceConnectNetwork"
+ }
+ },
+ {
+ "pkg": "grafana",
+ "mod": "cloud/privateDataSourceConnectNetworkToken",
+ "fqn": "pulumiverse_grafana.cloud",
+ "classes": {
+ "grafana:cloud/privateDataSourceConnectNetworkToken:PrivateDataSourceConnectNetworkToken": "PrivateDataSourceConnectNetworkToken"
+ }
+ },
{
"pkg": "grafana",
"mod": "cloud/providerAwsAccount",
diff --git a/sdk/python/pulumiverse_grafana/cloud/__init__.py b/sdk/python/pulumiverse_grafana/cloud/__init__.py
index 569183b0..0b095461 100644
--- a/sdk/python/pulumiverse_grafana/cloud/__init__.py
+++ b/sdk/python/pulumiverse_grafana/cloud/__init__.py
@@ -10,6 +10,7 @@
from .get_access_policies import *
from .get_ips import *
from .get_organization import *
+from .get_private_data_source_connect_networks import *
from .get_provider_aws_account import *
from .get_provider_aws_cloudwatch_scrape_job import *
from .get_provider_aws_cloudwatch_scrape_jobs import *
@@ -17,6 +18,8 @@
from .get_stack import *
from .org_member import *
from .plugin_installation import *
+from .private_data_source_connect_network import *
+from .private_data_source_connect_network_token import *
from .provider_aws_account import *
from .provider_aws_cloudwatch_scrape_job import *
from .provider_azure_credential import *
diff --git a/sdk/python/pulumiverse_grafana/cloud/get_private_data_source_connect_networks.py b/sdk/python/pulumiverse_grafana/cloud/get_private_data_source_connect_networks.py
new file mode 100644
index 00000000..b6d391e5
--- /dev/null
+++ b/sdk/python/pulumiverse_grafana/cloud/get_private_data_source_connect_networks.py
@@ -0,0 +1,126 @@
+# coding=utf-8
+# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+# *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import copy
+import warnings
+import sys
+import pulumi
+import pulumi.runtime
+from typing import Any, Mapping, Optional, Sequence, Union, overload
+if sys.version_info >= (3, 11):
+ from typing import NotRequired, TypedDict, TypeAlias
+else:
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
+from .. import _utilities
+from . import outputs
+
+__all__ = [
+ 'GetPrivateDataSourceConnectNetworksResult',
+ 'AwaitableGetPrivateDataSourceConnectNetworksResult',
+ 'get_private_data_source_connect_networks',
+ 'get_private_data_source_connect_networks_output',
+]
+
+@pulumi.output_type
+class GetPrivateDataSourceConnectNetworksResult:
+ """
+ A collection of values returned by getPrivateDataSourceConnectNetworks.
+ """
+ def __init__(__self__, id=None, name_filter=None, private_data_source_connect_networks=None, region_filter=None):
+ if id and not isinstance(id, str):
+ raise TypeError("Expected argument 'id' to be a str")
+ pulumi.set(__self__, "id", id)
+ if name_filter and not isinstance(name_filter, str):
+ raise TypeError("Expected argument 'name_filter' to be a str")
+ pulumi.set(__self__, "name_filter", name_filter)
+ if private_data_source_connect_networks and not isinstance(private_data_source_connect_networks, list):
+ raise TypeError("Expected argument 'private_data_source_connect_networks' to be a list")
+ pulumi.set(__self__, "private_data_source_connect_networks", private_data_source_connect_networks)
+ if region_filter and not isinstance(region_filter, str):
+ raise TypeError("Expected argument 'region_filter' to be a str")
+ pulumi.set(__self__, "region_filter", region_filter)
+
+ @property
+ @pulumi.getter
+ def id(self) -> str:
+ """
+ The ID of this datasource. This is an internal identifier used by the provider to track this datasource.
+ """
+ return pulumi.get(self, "id")
+
+ @property
+ @pulumi.getter(name="nameFilter")
+ def name_filter(self) -> Optional[str]:
+ return pulumi.get(self, "name_filter")
+
+ @property
+ @pulumi.getter(name="privateDataSourceConnectNetworks")
+ def private_data_source_connect_networks(self) -> Sequence['outputs.GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkResult']:
+ return pulumi.get(self, "private_data_source_connect_networks")
+
+ @property
+ @pulumi.getter(name="regionFilter")
+ def region_filter(self) -> Optional[str]:
+ return pulumi.get(self, "region_filter")
+
+
+class AwaitableGetPrivateDataSourceConnectNetworksResult(GetPrivateDataSourceConnectNetworksResult):
+ # pylint: disable=using-constant-test
+ def __await__(self):
+ if False:
+ yield self
+ return GetPrivateDataSourceConnectNetworksResult(
+ id=self.id,
+ name_filter=self.name_filter,
+ private_data_source_connect_networks=self.private_data_source_connect_networks,
+ region_filter=self.region_filter)
+
+
+def get_private_data_source_connect_networks(name_filter: Optional[str] = None,
+ region_filter: Optional[str] = None,
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetPrivateDataSourceConnectNetworksResult:
+ """
+ Fetches Private Data source Connect networks from Grafana Cloud.
+
+ * [Official documentation](https://grafana.com/docs/grafana-cloud/account-management/authentication-and-permissions/access-policies/)
+ * [API documentation](https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-access-policies)
+
+ Required access policy scopes:
+
+ * accesspolicies:read
+ """
+ __args__ = dict()
+ __args__['nameFilter'] = name_filter
+ __args__['regionFilter'] = region_filter
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
+ __ret__ = pulumi.runtime.invoke('grafana:cloud/getPrivateDataSourceConnectNetworks:getPrivateDataSourceConnectNetworks', __args__, opts=opts, typ=GetPrivateDataSourceConnectNetworksResult).value
+
+ return AwaitableGetPrivateDataSourceConnectNetworksResult(
+ id=pulumi.get(__ret__, 'id'),
+ name_filter=pulumi.get(__ret__, 'name_filter'),
+ private_data_source_connect_networks=pulumi.get(__ret__, 'private_data_source_connect_networks'),
+ region_filter=pulumi.get(__ret__, 'region_filter'))
+def get_private_data_source_connect_networks_output(name_filter: Optional[pulumi.Input[Optional[str]]] = None,
+ region_filter: Optional[pulumi.Input[Optional[str]]] = None,
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPrivateDataSourceConnectNetworksResult]:
+ """
+ Fetches Private Data source Connect networks from Grafana Cloud.
+
+ * [Official documentation](https://grafana.com/docs/grafana-cloud/account-management/authentication-and-permissions/access-policies/)
+ * [API documentation](https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-access-policies)
+
+ Required access policy scopes:
+
+ * accesspolicies:read
+ """
+ __args__ = dict()
+ __args__['nameFilter'] = name_filter
+ __args__['regionFilter'] = region_filter
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
+ __ret__ = pulumi.runtime.invoke_output('grafana:cloud/getPrivateDataSourceConnectNetworks:getPrivateDataSourceConnectNetworks', __args__, opts=opts, typ=GetPrivateDataSourceConnectNetworksResult)
+ return __ret__.apply(lambda __response__: GetPrivateDataSourceConnectNetworksResult(
+ id=pulumi.get(__response__, 'id'),
+ name_filter=pulumi.get(__response__, 'name_filter'),
+ private_data_source_connect_networks=pulumi.get(__response__, 'private_data_source_connect_networks'),
+ region_filter=pulumi.get(__response__, 'region_filter')))
diff --git a/sdk/python/pulumiverse_grafana/cloud/outputs.py b/sdk/python/pulumiverse_grafana/cloud/outputs.py
index 5f098c21..26cc47d2 100644
--- a/sdk/python/pulumiverse_grafana/cloud/outputs.py
+++ b/sdk/python/pulumiverse_grafana/cloud/outputs.py
@@ -25,6 +25,7 @@
'ProviderAwsCloudwatchScrapeJobServiceResourceDiscoveryTagFilter',
'ProviderAzureCredentialResourceDiscoveryTagFilter',
'GetAccessPoliciesAccessPolicyResult',
+ 'GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkResult',
'GetProviderAwsCloudwatchScrapeJobCustomNamespaceResult',
'GetProviderAwsCloudwatchScrapeJobCustomNamespaceMetricResult',
'GetProviderAwsCloudwatchScrapeJobServiceResult',
@@ -413,6 +414,46 @@ def status(self) -> str:
return pulumi.get(self, "status")
+@pulumi.output_type
+class GetPrivateDataSourceConnectNetworksPrivateDataSourceConnectNetworkResult(dict):
+ def __init__(__self__, *,
+ display_name: str,
+ id: str,
+ name: str,
+ region: str,
+ status: str):
+ pulumi.set(__self__, "display_name", display_name)
+ pulumi.set(__self__, "id", id)
+ pulumi.set(__self__, "name", name)
+ pulumi.set(__self__, "region", region)
+ pulumi.set(__self__, "status", status)
+
+ @property
+ @pulumi.getter(name="displayName")
+ def display_name(self) -> str:
+ return pulumi.get(self, "display_name")
+
+ @property
+ @pulumi.getter
+ def id(self) -> str:
+ return pulumi.get(self, "id")
+
+ @property
+ @pulumi.getter
+ def name(self) -> str:
+ return pulumi.get(self, "name")
+
+ @property
+ @pulumi.getter
+ def region(self) -> str:
+ return pulumi.get(self, "region")
+
+ @property
+ @pulumi.getter
+ def status(self) -> str:
+ return pulumi.get(self, "status")
+
+
@pulumi.output_type
class GetProviderAwsCloudwatchScrapeJobCustomNamespaceResult(dict):
def __init__(__self__, *,
diff --git a/sdk/python/pulumiverse_grafana/cloud/private_data_source_connect_network.py b/sdk/python/pulumiverse_grafana/cloud/private_data_source_connect_network.py
new file mode 100644
index 00000000..ef76c184
--- /dev/null
+++ b/sdk/python/pulumiverse_grafana/cloud/private_data_source_connect_network.py
@@ -0,0 +1,443 @@
+# coding=utf-8
+# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+# *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import copy
+import warnings
+import sys
+import pulumi
+import pulumi.runtime
+from typing import Any, Mapping, Optional, Sequence, Union, overload
+if sys.version_info >= (3, 11):
+ from typing import NotRequired, TypedDict, TypeAlias
+else:
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
+from .. import _utilities
+
+__all__ = ['PrivateDataSourceConnectNetworkArgs', 'PrivateDataSourceConnectNetwork']
+
+@pulumi.input_type
+class PrivateDataSourceConnectNetworkArgs:
+ def __init__(__self__, *,
+ region: pulumi.Input[str],
+ stack_identifier: pulumi.Input[str],
+ display_name: Optional[pulumi.Input[str]] = None,
+ name: Optional[pulumi.Input[str]] = None):
+ """
+ The set of arguments for constructing a PrivateDataSourceConnectNetwork resource.
+ :param pulumi.Input[str] region: The region where your stack is deployed. Use the instances list API to get the region for your instance - use the regionSlug property: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-stacks
+ :param pulumi.Input[str] stack_identifier: The identifier of the stack.
+ :param pulumi.Input[str] display_name: Display name of the PDC network. Defaults to the name.
+ :param pulumi.Input[str] name: Name of the PDC network.**Note:** The name must be lowercase and can contain hyphens or underscores. See full requirements here: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#request-body
+ """
+ pulumi.set(__self__, "region", region)
+ pulumi.set(__self__, "stack_identifier", stack_identifier)
+ if display_name is not None:
+ pulumi.set(__self__, "display_name", display_name)
+ if name is not None:
+ pulumi.set(__self__, "name", name)
+
+ @property
+ @pulumi.getter
+ def region(self) -> pulumi.Input[str]:
+ """
+ The region where your stack is deployed. Use the instances list API to get the region for your instance - use the regionSlug property: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-stacks
+ """
+ return pulumi.get(self, "region")
+
+ @region.setter
+ def region(self, value: pulumi.Input[str]):
+ pulumi.set(self, "region", value)
+
+ @property
+ @pulumi.getter(name="stackIdentifier")
+ def stack_identifier(self) -> pulumi.Input[str]:
+ """
+ The identifier of the stack.
+ """
+ return pulumi.get(self, "stack_identifier")
+
+ @stack_identifier.setter
+ def stack_identifier(self, value: pulumi.Input[str]):
+ pulumi.set(self, "stack_identifier", value)
+
+ @property
+ @pulumi.getter(name="displayName")
+ def display_name(self) -> Optional[pulumi.Input[str]]:
+ """
+ Display name of the PDC network. Defaults to the name.
+ """
+ return pulumi.get(self, "display_name")
+
+ @display_name.setter
+ def display_name(self, value: Optional[pulumi.Input[str]]):
+ pulumi.set(self, "display_name", value)
+
+ @property
+ @pulumi.getter
+ def name(self) -> Optional[pulumi.Input[str]]:
+ """
+ Name of the PDC network.**Note:** The name must be lowercase and can contain hyphens or underscores. See full requirements here: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#request-body
+ """
+ return pulumi.get(self, "name")
+
+ @name.setter
+ def name(self, value: Optional[pulumi.Input[str]]):
+ pulumi.set(self, "name", value)
+
+
+@pulumi.input_type
+class _PrivateDataSourceConnectNetworkState:
+ def __init__(__self__, *,
+ created_at: Optional[pulumi.Input[str]] = None,
+ display_name: Optional[pulumi.Input[str]] = None,
+ name: Optional[pulumi.Input[str]] = None,
+ pdc_network_id: Optional[pulumi.Input[str]] = None,
+ region: Optional[pulumi.Input[str]] = None,
+ stack_identifier: Optional[pulumi.Input[str]] = None,
+ updated_at: Optional[pulumi.Input[str]] = None):
+ """
+ Input properties used for looking up and filtering PrivateDataSourceConnectNetwork resources.
+ :param pulumi.Input[str] created_at: Creation date of the private data source connect network.
+ :param pulumi.Input[str] display_name: Display name of the PDC network. Defaults to the name.
+ :param pulumi.Input[str] name: Name of the PDC network.**Note:** The name must be lowercase and can contain hyphens or underscores. See full requirements here: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#request-body
+ :param pulumi.Input[str] pdc_network_id: ID of the private data source connect network.
+ :param pulumi.Input[str] region: The region where your stack is deployed. Use the instances list API to get the region for your instance - use the regionSlug property: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-stacks
+ :param pulumi.Input[str] stack_identifier: The identifier of the stack.
+ :param pulumi.Input[str] updated_at: Last update date of the private data source connect network.
+ """
+ if created_at is not None:
+ pulumi.set(__self__, "created_at", created_at)
+ if display_name is not None:
+ pulumi.set(__self__, "display_name", display_name)
+ if name is not None:
+ pulumi.set(__self__, "name", name)
+ if pdc_network_id is not None:
+ pulumi.set(__self__, "pdc_network_id", pdc_network_id)
+ if region is not None:
+ pulumi.set(__self__, "region", region)
+ if stack_identifier is not None:
+ pulumi.set(__self__, "stack_identifier", stack_identifier)
+ if updated_at is not None:
+ pulumi.set(__self__, "updated_at", updated_at)
+
+ @property
+ @pulumi.getter(name="createdAt")
+ def created_at(self) -> Optional[pulumi.Input[str]]:
+ """
+ Creation date of the private data source connect network.
+ """
+ return pulumi.get(self, "created_at")
+
+ @created_at.setter
+ def created_at(self, value: Optional[pulumi.Input[str]]):
+ pulumi.set(self, "created_at", value)
+
+ @property
+ @pulumi.getter(name="displayName")
+ def display_name(self) -> Optional[pulumi.Input[str]]:
+ """
+ Display name of the PDC network. Defaults to the name.
+ """
+ return pulumi.get(self, "display_name")
+
+ @display_name.setter
+ def display_name(self, value: Optional[pulumi.Input[str]]):
+ pulumi.set(self, "display_name", value)
+
+ @property
+ @pulumi.getter
+ def name(self) -> Optional[pulumi.Input[str]]:
+ """
+ Name of the PDC network.**Note:** The name must be lowercase and can contain hyphens or underscores. See full requirements here: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#request-body
+ """
+ return pulumi.get(self, "name")
+
+ @name.setter
+ def name(self, value: Optional[pulumi.Input[str]]):
+ pulumi.set(self, "name", value)
+
+ @property
+ @pulumi.getter(name="pdcNetworkId")
+ def pdc_network_id(self) -> Optional[pulumi.Input[str]]:
+ """
+ ID of the private data source connect network.
+ """
+ return pulumi.get(self, "pdc_network_id")
+
+ @pdc_network_id.setter
+ def pdc_network_id(self, value: Optional[pulumi.Input[str]]):
+ pulumi.set(self, "pdc_network_id", value)
+
+ @property
+ @pulumi.getter
+ def region(self) -> Optional[pulumi.Input[str]]:
+ """
+ The region where your stack is deployed. Use the instances list API to get the region for your instance - use the regionSlug property: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-stacks
+ """
+ return pulumi.get(self, "region")
+
+ @region.setter
+ def region(self, value: Optional[pulumi.Input[str]]):
+ pulumi.set(self, "region", value)
+
+ @property
+ @pulumi.getter(name="stackIdentifier")
+ def stack_identifier(self) -> Optional[pulumi.Input[str]]:
+ """
+ The identifier of the stack.
+ """
+ return pulumi.get(self, "stack_identifier")
+
+ @stack_identifier.setter
+ def stack_identifier(self, value: Optional[pulumi.Input[str]]):
+ pulumi.set(self, "stack_identifier", value)
+
+ @property
+ @pulumi.getter(name="updatedAt")
+ def updated_at(self) -> Optional[pulumi.Input[str]]:
+ """
+ Last update date of the private data source connect network.
+ """
+ return pulumi.get(self, "updated_at")
+
+ @updated_at.setter
+ def updated_at(self, value: Optional[pulumi.Input[str]]):
+ pulumi.set(self, "updated_at", value)
+
+
+class PrivateDataSourceConnectNetwork(pulumi.CustomResource):
+ @overload
+ def __init__(__self__,
+ resource_name: str,
+ opts: Optional[pulumi.ResourceOptions] = None,
+ display_name: Optional[pulumi.Input[str]] = None,
+ name: Optional[pulumi.Input[str]] = None,
+ region: Optional[pulumi.Input[str]] = None,
+ stack_identifier: Optional[pulumi.Input[str]] = None,
+ __props__=None):
+ """
+ * [Official documentation](https://grafana.com/docs/grafana-cloud/connect-externally-hosted/private-data-source-connect/)
+ * [API documentation](https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#create-an-access-policy)
+
+ Required access policy scopes:
+
+ * accesspolicies:read
+ * accesspolicies:write
+ * accesspolicies:delete
+
+ ## Example Usage
+
+ ```python
+ import pulumi
+ import pulumi_grafana as grafana
+ import pulumiverse_grafana as grafana
+
+ current = grafana.cloud.get_stack(slug="")
+ test = grafana.cloud.PrivateDataSourceConnectNetwork("test",
+ region="us",
+ name="my-pdc",
+ display_name="My PDC",
+ stack_identifier=current.id)
+ test_private_data_source_connect_network_token = grafana.cloud.PrivateDataSourceConnectNetworkToken("test",
+ pdc_network_id=test.pdc_network_id,
+ region=test.region,
+ name="my-pdc-token",
+ display_name="My PDC Token")
+ ```
+
+ ## Import
+
+ ```sh
+ $ pulumi import grafana:cloud/privateDataSourceConnectNetwork:PrivateDataSourceConnectNetwork name "{{ region }}:{{ policyId }}"
+ ```
+
+ :param str resource_name: The name of the resource.
+ :param pulumi.ResourceOptions opts: Options for the resource.
+ :param pulumi.Input[str] display_name: Display name of the PDC network. Defaults to the name.
+ :param pulumi.Input[str] name: Name of the PDC network.**Note:** The name must be lowercase and can contain hyphens or underscores. See full requirements here: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#request-body
+ :param pulumi.Input[str] region: The region where your stack is deployed. Use the instances list API to get the region for your instance - use the regionSlug property: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-stacks
+ :param pulumi.Input[str] stack_identifier: The identifier of the stack.
+ """
+ ...
+ @overload
+ def __init__(__self__,
+ resource_name: str,
+ args: PrivateDataSourceConnectNetworkArgs,
+ opts: Optional[pulumi.ResourceOptions] = None):
+ """
+ * [Official documentation](https://grafana.com/docs/grafana-cloud/connect-externally-hosted/private-data-source-connect/)
+ * [API documentation](https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#create-an-access-policy)
+
+ Required access policy scopes:
+
+ * accesspolicies:read
+ * accesspolicies:write
+ * accesspolicies:delete
+
+ ## Example Usage
+
+ ```python
+ import pulumi
+ import pulumi_grafana as grafana
+ import pulumiverse_grafana as grafana
+
+ current = grafana.cloud.get_stack(slug="")
+ test = grafana.cloud.PrivateDataSourceConnectNetwork("test",
+ region="us",
+ name="my-pdc",
+ display_name="My PDC",
+ stack_identifier=current.id)
+ test_private_data_source_connect_network_token = grafana.cloud.PrivateDataSourceConnectNetworkToken("test",
+ pdc_network_id=test.pdc_network_id,
+ region=test.region,
+ name="my-pdc-token",
+ display_name="My PDC Token")
+ ```
+
+ ## Import
+
+ ```sh
+ $ pulumi import grafana:cloud/privateDataSourceConnectNetwork:PrivateDataSourceConnectNetwork name "{{ region }}:{{ policyId }}"
+ ```
+
+ :param str resource_name: The name of the resource.
+ :param PrivateDataSourceConnectNetworkArgs args: The arguments to use to populate this resource's properties.
+ :param pulumi.ResourceOptions opts: Options for the resource.
+ """
+ ...
+ def __init__(__self__, resource_name: str, *args, **kwargs):
+ resource_args, opts = _utilities.get_resource_args_opts(PrivateDataSourceConnectNetworkArgs, pulumi.ResourceOptions, *args, **kwargs)
+ if resource_args is not None:
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
+ else:
+ __self__._internal_init(resource_name, *args, **kwargs)
+
+ def _internal_init(__self__,
+ resource_name: str,
+ opts: Optional[pulumi.ResourceOptions] = None,
+ display_name: Optional[pulumi.Input[str]] = None,
+ name: Optional[pulumi.Input[str]] = None,
+ region: Optional[pulumi.Input[str]] = None,
+ stack_identifier: Optional[pulumi.Input[str]] = None,
+ __props__=None):
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
+ if not isinstance(opts, pulumi.ResourceOptions):
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
+ if opts.id is None:
+ if __props__ is not None:
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
+ __props__ = PrivateDataSourceConnectNetworkArgs.__new__(PrivateDataSourceConnectNetworkArgs)
+
+ __props__.__dict__["display_name"] = display_name
+ __props__.__dict__["name"] = name
+ if region is None and not opts.urn:
+ raise TypeError("Missing required property 'region'")
+ __props__.__dict__["region"] = region
+ if stack_identifier is None and not opts.urn:
+ raise TypeError("Missing required property 'stack_identifier'")
+ __props__.__dict__["stack_identifier"] = stack_identifier
+ __props__.__dict__["created_at"] = None
+ __props__.__dict__["pdc_network_id"] = None
+ __props__.__dict__["updated_at"] = None
+ super(PrivateDataSourceConnectNetwork, __self__).__init__(
+ 'grafana:cloud/privateDataSourceConnectNetwork:PrivateDataSourceConnectNetwork',
+ resource_name,
+ __props__,
+ opts)
+
+ @staticmethod
+ def get(resource_name: str,
+ id: pulumi.Input[str],
+ opts: Optional[pulumi.ResourceOptions] = None,
+ created_at: Optional[pulumi.Input[str]] = None,
+ display_name: Optional[pulumi.Input[str]] = None,
+ name: Optional[pulumi.Input[str]] = None,
+ pdc_network_id: Optional[pulumi.Input[str]] = None,
+ region: Optional[pulumi.Input[str]] = None,
+ stack_identifier: Optional[pulumi.Input[str]] = None,
+ updated_at: Optional[pulumi.Input[str]] = None) -> 'PrivateDataSourceConnectNetwork':
+ """
+ Get an existing PrivateDataSourceConnectNetwork resource's state with the given name, id, and optional extra
+ properties used to qualify the lookup.
+
+ :param str resource_name: The unique name of the resulting resource.
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
+ :param pulumi.ResourceOptions opts: Options for the resource.
+ :param pulumi.Input[str] created_at: Creation date of the private data source connect network.
+ :param pulumi.Input[str] display_name: Display name of the PDC network. Defaults to the name.
+ :param pulumi.Input[str] name: Name of the PDC network.**Note:** The name must be lowercase and can contain hyphens or underscores. See full requirements here: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#request-body
+ :param pulumi.Input[str] pdc_network_id: ID of the private data source connect network.
+ :param pulumi.Input[str] region: The region where your stack is deployed. Use the instances list API to get the region for your instance - use the regionSlug property: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-stacks
+ :param pulumi.Input[str] stack_identifier: The identifier of the stack.
+ :param pulumi.Input[str] updated_at: Last update date of the private data source connect network.
+ """
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
+
+ __props__ = _PrivateDataSourceConnectNetworkState.__new__(_PrivateDataSourceConnectNetworkState)
+
+ __props__.__dict__["created_at"] = created_at
+ __props__.__dict__["display_name"] = display_name
+ __props__.__dict__["name"] = name
+ __props__.__dict__["pdc_network_id"] = pdc_network_id
+ __props__.__dict__["region"] = region
+ __props__.__dict__["stack_identifier"] = stack_identifier
+ __props__.__dict__["updated_at"] = updated_at
+ return PrivateDataSourceConnectNetwork(resource_name, opts=opts, __props__=__props__)
+
+ @property
+ @pulumi.getter(name="createdAt")
+ def created_at(self) -> pulumi.Output[str]:
+ """
+ Creation date of the private data source connect network.
+ """
+ return pulumi.get(self, "created_at")
+
+ @property
+ @pulumi.getter(name="displayName")
+ def display_name(self) -> pulumi.Output[Optional[str]]:
+ """
+ Display name of the PDC network. Defaults to the name.
+ """
+ return pulumi.get(self, "display_name")
+
+ @property
+ @pulumi.getter
+ def name(self) -> pulumi.Output[str]:
+ """
+ Name of the PDC network.**Note:** The name must be lowercase and can contain hyphens or underscores. See full requirements here: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#request-body
+ """
+ return pulumi.get(self, "name")
+
+ @property
+ @pulumi.getter(name="pdcNetworkId")
+ def pdc_network_id(self) -> pulumi.Output[str]:
+ """
+ ID of the private data source connect network.
+ """
+ return pulumi.get(self, "pdc_network_id")
+
+ @property
+ @pulumi.getter
+ def region(self) -> pulumi.Output[str]:
+ """
+ The region where your stack is deployed. Use the instances list API to get the region for your instance - use the regionSlug property: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-stacks
+ """
+ return pulumi.get(self, "region")
+
+ @property
+ @pulumi.getter(name="stackIdentifier")
+ def stack_identifier(self) -> pulumi.Output[str]:
+ """
+ The identifier of the stack.
+ """
+ return pulumi.get(self, "stack_identifier")
+
+ @property
+ @pulumi.getter(name="updatedAt")
+ def updated_at(self) -> pulumi.Output[str]:
+ """
+ Last update date of the private data source connect network.
+ """
+ return pulumi.get(self, "updated_at")
+
diff --git a/sdk/python/pulumiverse_grafana/cloud/private_data_source_connect_network_token.py b/sdk/python/pulumiverse_grafana/cloud/private_data_source_connect_network_token.py
new file mode 100644
index 00000000..d5388a52
--- /dev/null
+++ b/sdk/python/pulumiverse_grafana/cloud/private_data_source_connect_network_token.py
@@ -0,0 +1,484 @@
+# coding=utf-8
+# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+# *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import copy
+import warnings
+import sys
+import pulumi
+import pulumi.runtime
+from typing import Any, Mapping, Optional, Sequence, Union, overload
+if sys.version_info >= (3, 11):
+ from typing import NotRequired, TypedDict, TypeAlias
+else:
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
+from .. import _utilities
+
+__all__ = ['PrivateDataSourceConnectNetworkTokenArgs', 'PrivateDataSourceConnectNetworkToken']
+
+@pulumi.input_type
+class PrivateDataSourceConnectNetworkTokenArgs:
+ def __init__(__self__, *,
+ pdc_network_id: pulumi.Input[str],
+ region: pulumi.Input[str],
+ display_name: Optional[pulumi.Input[str]] = None,
+ expires_at: Optional[pulumi.Input[str]] = None,
+ name: Optional[pulumi.Input[str]] = None):
+ """
+ The set of arguments for constructing a PrivateDataSourceConnectNetworkToken resource.
+ :param pulumi.Input[str] pdc_network_id: ID of the private data source network for which to create a token.
+ :param pulumi.Input[str] region: Region of the private data source network. Should be set to the same region as the private data source network. Use the region list API to get the list of available regions: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-regions.
+ :param pulumi.Input[str] display_name: Display name of the private data source network token. Defaults to the name.
+ :param pulumi.Input[str] expires_at: Expiration date of the private data source network token. Does not expire by default.
+ :param pulumi.Input[str] name: Name of the private data source network token.
+ """
+ pulumi.set(__self__, "pdc_network_id", pdc_network_id)
+ pulumi.set(__self__, "region", region)
+ if display_name is not None:
+ pulumi.set(__self__, "display_name", display_name)
+ if expires_at is not None:
+ pulumi.set(__self__, "expires_at", expires_at)
+ if name is not None:
+ pulumi.set(__self__, "name", name)
+
+ @property
+ @pulumi.getter(name="pdcNetworkId")
+ def pdc_network_id(self) -> pulumi.Input[str]:
+ """
+ ID of the private data source network for which to create a token.
+ """
+ return pulumi.get(self, "pdc_network_id")
+
+ @pdc_network_id.setter
+ def pdc_network_id(self, value: pulumi.Input[str]):
+ pulumi.set(self, "pdc_network_id", value)
+
+ @property
+ @pulumi.getter
+ def region(self) -> pulumi.Input[str]:
+ """
+ Region of the private data source network. Should be set to the same region as the private data source network. Use the region list API to get the list of available regions: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-regions.
+ """
+ return pulumi.get(self, "region")
+
+ @region.setter
+ def region(self, value: pulumi.Input[str]):
+ pulumi.set(self, "region", value)
+
+ @property
+ @pulumi.getter(name="displayName")
+ def display_name(self) -> Optional[pulumi.Input[str]]:
+ """
+ Display name of the private data source network token. Defaults to the name.
+ """
+ return pulumi.get(self, "display_name")
+
+ @display_name.setter
+ def display_name(self, value: Optional[pulumi.Input[str]]):
+ pulumi.set(self, "display_name", value)
+
+ @property
+ @pulumi.getter(name="expiresAt")
+ def expires_at(self) -> Optional[pulumi.Input[str]]:
+ """
+ Expiration date of the private data source network token. Does not expire by default.
+ """
+ return pulumi.get(self, "expires_at")
+
+ @expires_at.setter
+ def expires_at(self, value: Optional[pulumi.Input[str]]):
+ pulumi.set(self, "expires_at", value)
+
+ @property
+ @pulumi.getter
+ def name(self) -> Optional[pulumi.Input[str]]:
+ """
+ Name of the private data source network token.
+ """
+ return pulumi.get(self, "name")
+
+ @name.setter
+ def name(self, value: Optional[pulumi.Input[str]]):
+ pulumi.set(self, "name", value)
+
+
+@pulumi.input_type
+class _PrivateDataSourceConnectNetworkTokenState:
+ def __init__(__self__, *,
+ created_at: Optional[pulumi.Input[str]] = None,
+ display_name: Optional[pulumi.Input[str]] = None,
+ expires_at: Optional[pulumi.Input[str]] = None,
+ name: Optional[pulumi.Input[str]] = None,
+ pdc_network_id: Optional[pulumi.Input[str]] = None,
+ region: Optional[pulumi.Input[str]] = None,
+ token: Optional[pulumi.Input[str]] = None,
+ updated_at: Optional[pulumi.Input[str]] = None):
+ """
+ Input properties used for looking up and filtering PrivateDataSourceConnectNetworkToken resources.
+ :param pulumi.Input[str] created_at: Creation date of the private data source network token.
+ :param pulumi.Input[str] display_name: Display name of the private data source network token. Defaults to the name.
+ :param pulumi.Input[str] expires_at: Expiration date of the private data source network token. Does not expire by default.
+ :param pulumi.Input[str] name: Name of the private data source network token.
+ :param pulumi.Input[str] pdc_network_id: ID of the private data source network for which to create a token.
+ :param pulumi.Input[str] region: Region of the private data source network. Should be set to the same region as the private data source network. Use the region list API to get the list of available regions: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-regions.
+ :param pulumi.Input[str] updated_at: Last update date of the private data source network token.
+ """
+ if created_at is not None:
+ pulumi.set(__self__, "created_at", created_at)
+ if display_name is not None:
+ pulumi.set(__self__, "display_name", display_name)
+ if expires_at is not None:
+ pulumi.set(__self__, "expires_at", expires_at)
+ if name is not None:
+ pulumi.set(__self__, "name", name)
+ if pdc_network_id is not None:
+ pulumi.set(__self__, "pdc_network_id", pdc_network_id)
+ if region is not None:
+ pulumi.set(__self__, "region", region)
+ if token is not None:
+ pulumi.set(__self__, "token", token)
+ if updated_at is not None:
+ pulumi.set(__self__, "updated_at", updated_at)
+
+ @property
+ @pulumi.getter(name="createdAt")
+ def created_at(self) -> Optional[pulumi.Input[str]]:
+ """
+ Creation date of the private data source network token.
+ """
+ return pulumi.get(self, "created_at")
+
+ @created_at.setter
+ def created_at(self, value: Optional[pulumi.Input[str]]):
+ pulumi.set(self, "created_at", value)
+
+ @property
+ @pulumi.getter(name="displayName")
+ def display_name(self) -> Optional[pulumi.Input[str]]:
+ """
+ Display name of the private data source network token. Defaults to the name.
+ """
+ return pulumi.get(self, "display_name")
+
+ @display_name.setter
+ def display_name(self, value: Optional[pulumi.Input[str]]):
+ pulumi.set(self, "display_name", value)
+
+ @property
+ @pulumi.getter(name="expiresAt")
+ def expires_at(self) -> Optional[pulumi.Input[str]]:
+ """
+ Expiration date of the private data source network token. Does not expire by default.
+ """
+ return pulumi.get(self, "expires_at")
+
+ @expires_at.setter
+ def expires_at(self, value: Optional[pulumi.Input[str]]):
+ pulumi.set(self, "expires_at", value)
+
+ @property
+ @pulumi.getter
+ def name(self) -> Optional[pulumi.Input[str]]:
+ """
+ Name of the private data source network token.
+ """
+ return pulumi.get(self, "name")
+
+ @name.setter
+ def name(self, value: Optional[pulumi.Input[str]]):
+ pulumi.set(self, "name", value)
+
+ @property
+ @pulumi.getter(name="pdcNetworkId")
+ def pdc_network_id(self) -> Optional[pulumi.Input[str]]:
+ """
+ ID of the private data source network for which to create a token.
+ """
+ return pulumi.get(self, "pdc_network_id")
+
+ @pdc_network_id.setter
+ def pdc_network_id(self, value: Optional[pulumi.Input[str]]):
+ pulumi.set(self, "pdc_network_id", value)
+
+ @property
+ @pulumi.getter
+ def region(self) -> Optional[pulumi.Input[str]]:
+ """
+ Region of the private data source network. Should be set to the same region as the private data source network. Use the region list API to get the list of available regions: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-regions.
+ """
+ return pulumi.get(self, "region")
+
+ @region.setter
+ def region(self, value: Optional[pulumi.Input[str]]):
+ pulumi.set(self, "region", value)
+
+ @property
+ @pulumi.getter
+ def token(self) -> Optional[pulumi.Input[str]]:
+ return pulumi.get(self, "token")
+
+ @token.setter
+ def token(self, value: Optional[pulumi.Input[str]]):
+ pulumi.set(self, "token", value)
+
+ @property
+ @pulumi.getter(name="updatedAt")
+ def updated_at(self) -> Optional[pulumi.Input[str]]:
+ """
+ Last update date of the private data source network token.
+ """
+ return pulumi.get(self, "updated_at")
+
+ @updated_at.setter
+ def updated_at(self, value: Optional[pulumi.Input[str]]):
+ pulumi.set(self, "updated_at", value)
+
+
+class PrivateDataSourceConnectNetworkToken(pulumi.CustomResource):
+ @overload
+ def __init__(__self__,
+ resource_name: str,
+ opts: Optional[pulumi.ResourceOptions] = None,
+ display_name: Optional[pulumi.Input[str]] = None,
+ expires_at: Optional[pulumi.Input[str]] = None,
+ name: Optional[pulumi.Input[str]] = None,
+ pdc_network_id: Optional[pulumi.Input[str]] = None,
+ region: Optional[pulumi.Input[str]] = None,
+ __props__=None):
+ """
+ * [Official documentation](https://grafana.com/docs/grafana-cloud/connect-externally-hosted/private-data-source-connect/)
+ * [API documentation](https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#create-a-token)
+
+ Required access policy scopes:
+
+ * accesspolicies:read
+ * accesspolicies:write
+ * accesspolicies:delete
+
+ ## Example Usage
+
+ ```python
+ import pulumi
+ import pulumi_grafana as grafana
+ import pulumiverse_grafana as grafana
+
+ current = grafana.cloud.get_stack(slug="")
+ test = grafana.cloud.PrivateDataSourceConnectNetwork("test",
+ region="us",
+ name="my-pdc",
+ display_name="My PDC",
+ stack_identifier=current.id)
+ test_private_data_source_connect_network_token = grafana.cloud.PrivateDataSourceConnectNetworkToken("test",
+ pdc_network_id=test.pdc_network_id,
+ region=test.region,
+ name="my-pdc-token",
+ display_name="My PDC Token")
+ ```
+
+ ## Import
+
+ ```sh
+ $ pulumi import grafana:cloud/privateDataSourceConnectNetworkToken:PrivateDataSourceConnectNetworkToken name "{{ region }}:{{ tokenId }}"
+ ```
+
+ :param str resource_name: The name of the resource.
+ :param pulumi.ResourceOptions opts: Options for the resource.
+ :param pulumi.Input[str] display_name: Display name of the private data source network token. Defaults to the name.
+ :param pulumi.Input[str] expires_at: Expiration date of the private data source network token. Does not expire by default.
+ :param pulumi.Input[str] name: Name of the private data source network token.
+ :param pulumi.Input[str] pdc_network_id: ID of the private data source network for which to create a token.
+ :param pulumi.Input[str] region: Region of the private data source network. Should be set to the same region as the private data source network. Use the region list API to get the list of available regions: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-regions.
+ """
+ ...
+ @overload
+ def __init__(__self__,
+ resource_name: str,
+ args: PrivateDataSourceConnectNetworkTokenArgs,
+ opts: Optional[pulumi.ResourceOptions] = None):
+ """
+ * [Official documentation](https://grafana.com/docs/grafana-cloud/connect-externally-hosted/private-data-source-connect/)
+ * [API documentation](https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#create-a-token)
+
+ Required access policy scopes:
+
+ * accesspolicies:read
+ * accesspolicies:write
+ * accesspolicies:delete
+
+ ## Example Usage
+
+ ```python
+ import pulumi
+ import pulumi_grafana as grafana
+ import pulumiverse_grafana as grafana
+
+ current = grafana.cloud.get_stack(slug="")
+ test = grafana.cloud.PrivateDataSourceConnectNetwork("test",
+ region="us",
+ name="my-pdc",
+ display_name="My PDC",
+ stack_identifier=current.id)
+ test_private_data_source_connect_network_token = grafana.cloud.PrivateDataSourceConnectNetworkToken("test",
+ pdc_network_id=test.pdc_network_id,
+ region=test.region,
+ name="my-pdc-token",
+ display_name="My PDC Token")
+ ```
+
+ ## Import
+
+ ```sh
+ $ pulumi import grafana:cloud/privateDataSourceConnectNetworkToken:PrivateDataSourceConnectNetworkToken name "{{ region }}:{{ tokenId }}"
+ ```
+
+ :param str resource_name: The name of the resource.
+ :param PrivateDataSourceConnectNetworkTokenArgs args: The arguments to use to populate this resource's properties.
+ :param pulumi.ResourceOptions opts: Options for the resource.
+ """
+ ...
+ def __init__(__self__, resource_name: str, *args, **kwargs):
+ resource_args, opts = _utilities.get_resource_args_opts(PrivateDataSourceConnectNetworkTokenArgs, pulumi.ResourceOptions, *args, **kwargs)
+ if resource_args is not None:
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
+ else:
+ __self__._internal_init(resource_name, *args, **kwargs)
+
+ def _internal_init(__self__,
+ resource_name: str,
+ opts: Optional[pulumi.ResourceOptions] = None,
+ display_name: Optional[pulumi.Input[str]] = None,
+ expires_at: Optional[pulumi.Input[str]] = None,
+ name: Optional[pulumi.Input[str]] = None,
+ pdc_network_id: Optional[pulumi.Input[str]] = None,
+ region: Optional[pulumi.Input[str]] = None,
+ __props__=None):
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
+ if not isinstance(opts, pulumi.ResourceOptions):
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
+ if opts.id is None:
+ if __props__ is not None:
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
+ __props__ = PrivateDataSourceConnectNetworkTokenArgs.__new__(PrivateDataSourceConnectNetworkTokenArgs)
+
+ __props__.__dict__["display_name"] = display_name
+ __props__.__dict__["expires_at"] = expires_at
+ __props__.__dict__["name"] = name
+ if pdc_network_id is None and not opts.urn:
+ raise TypeError("Missing required property 'pdc_network_id'")
+ __props__.__dict__["pdc_network_id"] = pdc_network_id
+ if region is None and not opts.urn:
+ raise TypeError("Missing required property 'region'")
+ __props__.__dict__["region"] = region
+ __props__.__dict__["created_at"] = None
+ __props__.__dict__["token"] = None
+ __props__.__dict__["updated_at"] = None
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["token"])
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
+ super(PrivateDataSourceConnectNetworkToken, __self__).__init__(
+ 'grafana:cloud/privateDataSourceConnectNetworkToken:PrivateDataSourceConnectNetworkToken',
+ resource_name,
+ __props__,
+ opts)
+
+ @staticmethod
+ def get(resource_name: str,
+ id: pulumi.Input[str],
+ opts: Optional[pulumi.ResourceOptions] = None,
+ created_at: Optional[pulumi.Input[str]] = None,
+ display_name: Optional[pulumi.Input[str]] = None,
+ expires_at: Optional[pulumi.Input[str]] = None,
+ name: Optional[pulumi.Input[str]] = None,
+ pdc_network_id: Optional[pulumi.Input[str]] = None,
+ region: Optional[pulumi.Input[str]] = None,
+ token: Optional[pulumi.Input[str]] = None,
+ updated_at: Optional[pulumi.Input[str]] = None) -> 'PrivateDataSourceConnectNetworkToken':
+ """
+ Get an existing PrivateDataSourceConnectNetworkToken resource's state with the given name, id, and optional extra
+ properties used to qualify the lookup.
+
+ :param str resource_name: The unique name of the resulting resource.
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
+ :param pulumi.ResourceOptions opts: Options for the resource.
+ :param pulumi.Input[str] created_at: Creation date of the private data source network token.
+ :param pulumi.Input[str] display_name: Display name of the private data source network token. Defaults to the name.
+ :param pulumi.Input[str] expires_at: Expiration date of the private data source network token. Does not expire by default.
+ :param pulumi.Input[str] name: Name of the private data source network token.
+ :param pulumi.Input[str] pdc_network_id: ID of the private data source network for which to create a token.
+ :param pulumi.Input[str] region: Region of the private data source network. Should be set to the same region as the private data source network. Use the region list API to get the list of available regions: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-regions.
+ :param pulumi.Input[str] updated_at: Last update date of the private data source network token.
+ """
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
+
+ __props__ = _PrivateDataSourceConnectNetworkTokenState.__new__(_PrivateDataSourceConnectNetworkTokenState)
+
+ __props__.__dict__["created_at"] = created_at
+ __props__.__dict__["display_name"] = display_name
+ __props__.__dict__["expires_at"] = expires_at
+ __props__.__dict__["name"] = name
+ __props__.__dict__["pdc_network_id"] = pdc_network_id
+ __props__.__dict__["region"] = region
+ __props__.__dict__["token"] = token
+ __props__.__dict__["updated_at"] = updated_at
+ return PrivateDataSourceConnectNetworkToken(resource_name, opts=opts, __props__=__props__)
+
+ @property
+ @pulumi.getter(name="createdAt")
+ def created_at(self) -> pulumi.Output[str]:
+ """
+ Creation date of the private data source network token.
+ """
+ return pulumi.get(self, "created_at")
+
+ @property
+ @pulumi.getter(name="displayName")
+ def display_name(self) -> pulumi.Output[Optional[str]]:
+ """
+ Display name of the private data source network token. Defaults to the name.
+ """
+ return pulumi.get(self, "display_name")
+
+ @property
+ @pulumi.getter(name="expiresAt")
+ def expires_at(self) -> pulumi.Output[Optional[str]]:
+ """
+ Expiration date of the private data source network token. Does not expire by default.
+ """
+ return pulumi.get(self, "expires_at")
+
+ @property
+ @pulumi.getter
+ def name(self) -> pulumi.Output[str]:
+ """
+ Name of the private data source network token.
+ """
+ return pulumi.get(self, "name")
+
+ @property
+ @pulumi.getter(name="pdcNetworkId")
+ def pdc_network_id(self) -> pulumi.Output[str]:
+ """
+ ID of the private data source network for which to create a token.
+ """
+ return pulumi.get(self, "pdc_network_id")
+
+ @property
+ @pulumi.getter
+ def region(self) -> pulumi.Output[str]:
+ """
+ Region of the private data source network. Should be set to the same region as the private data source network. Use the region list API to get the list of available regions: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-regions.
+ """
+ return pulumi.get(self, "region")
+
+ @property
+ @pulumi.getter
+ def token(self) -> pulumi.Output[str]:
+ return pulumi.get(self, "token")
+
+ @property
+ @pulumi.getter(name="updatedAt")
+ def updated_at(self) -> pulumi.Output[str]:
+ """
+ Last update date of the private data source network token.
+ """
+ return pulumi.get(self, "updated_at")
+
diff --git a/sdk/python/pulumiverse_grafana/data_source.py b/sdk/python/pulumiverse_grafana/data_source.py
index a43999d5..0262f31d 100644
--- a/sdk/python/pulumiverse_grafana/data_source.py
+++ b/sdk/python/pulumiverse_grafana/data_source.py
@@ -29,6 +29,7 @@ def __init__(__self__, *,
json_data_encoded: Optional[pulumi.Input[str]] = None,
name: Optional[pulumi.Input[str]] = None,
org_id: Optional[pulumi.Input[str]] = None,
+ private_data_source_connect_network_id: Optional[pulumi.Input[str]] = None,
secure_json_data_encoded: Optional[pulumi.Input[str]] = None,
uid: Optional[pulumi.Input[str]] = None,
url: Optional[pulumi.Input[str]] = None,
@@ -45,6 +46,7 @@ def __init__(__self__, *,
:param pulumi.Input[str] json_data_encoded: Serialized JSON string containing the json data. This attribute can be used to pass configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
:param pulumi.Input[str] name: A unique name for the data source.
:param pulumi.Input[str] org_id: The Organization ID. If not set, the Org ID defined in the provider block will be used.
+ :param pulumi.Input[str] private_data_source_connect_network_id: (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
:param pulumi.Input[str] secure_json_data_encoded: Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
:param pulumi.Input[str] uid: Unique identifier. If unset, this will be automatically generated.
:param pulumi.Input[str] url: The URL for the data source. The type of URL required varies depending on the chosen data source type.
@@ -69,6 +71,8 @@ def __init__(__self__, *,
pulumi.set(__self__, "name", name)
if org_id is not None:
pulumi.set(__self__, "org_id", org_id)
+ if private_data_source_connect_network_id is not None:
+ pulumi.set(__self__, "private_data_source_connect_network_id", private_data_source_connect_network_id)
if secure_json_data_encoded is not None:
pulumi.set(__self__, "secure_json_data_encoded", secure_json_data_encoded)
if uid is not None:
@@ -198,6 +202,18 @@ def org_id(self) -> Optional[pulumi.Input[str]]:
def org_id(self, value: Optional[pulumi.Input[str]]):
pulumi.set(self, "org_id", value)
+ @property
+ @pulumi.getter(name="privateDataSourceConnectNetworkId")
+ def private_data_source_connect_network_id(self) -> Optional[pulumi.Input[str]]:
+ """
+ (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
+ """
+ return pulumi.get(self, "private_data_source_connect_network_id")
+
+ @private_data_source_connect_network_id.setter
+ def private_data_source_connect_network_id(self, value: Optional[pulumi.Input[str]]):
+ pulumi.set(self, "private_data_source_connect_network_id", value)
+
@property
@pulumi.getter(name="secureJsonDataEncoded")
def secure_json_data_encoded(self) -> Optional[pulumi.Input[str]]:
@@ -259,6 +275,7 @@ def __init__(__self__, *,
json_data_encoded: Optional[pulumi.Input[str]] = None,
name: Optional[pulumi.Input[str]] = None,
org_id: Optional[pulumi.Input[str]] = None,
+ private_data_source_connect_network_id: Optional[pulumi.Input[str]] = None,
secure_json_data_encoded: Optional[pulumi.Input[str]] = None,
type: Optional[pulumi.Input[str]] = None,
uid: Optional[pulumi.Input[str]] = None,
@@ -275,6 +292,7 @@ def __init__(__self__, *,
:param pulumi.Input[str] json_data_encoded: Serialized JSON string containing the json data. This attribute can be used to pass configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
:param pulumi.Input[str] name: A unique name for the data source.
:param pulumi.Input[str] org_id: The Organization ID. If not set, the Org ID defined in the provider block will be used.
+ :param pulumi.Input[str] private_data_source_connect_network_id: (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
:param pulumi.Input[str] secure_json_data_encoded: Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
:param pulumi.Input[str] type: The data source type. Must be one of the supported data source keywords.
:param pulumi.Input[str] uid: Unique identifier. If unset, this will be automatically generated.
@@ -299,6 +317,8 @@ def __init__(__self__, *,
pulumi.set(__self__, "name", name)
if org_id is not None:
pulumi.set(__self__, "org_id", org_id)
+ if private_data_source_connect_network_id is not None:
+ pulumi.set(__self__, "private_data_source_connect_network_id", private_data_source_connect_network_id)
if secure_json_data_encoded is not None:
pulumi.set(__self__, "secure_json_data_encoded", secure_json_data_encoded)
if type is not None:
@@ -418,6 +438,18 @@ def org_id(self) -> Optional[pulumi.Input[str]]:
def org_id(self, value: Optional[pulumi.Input[str]]):
pulumi.set(self, "org_id", value)
+ @property
+ @pulumi.getter(name="privateDataSourceConnectNetworkId")
+ def private_data_source_connect_network_id(self) -> Optional[pulumi.Input[str]]:
+ """
+ (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
+ """
+ return pulumi.get(self, "private_data_source_connect_network_id")
+
+ @private_data_source_connect_network_id.setter
+ def private_data_source_connect_network_id(self, value: Optional[pulumi.Input[str]]):
+ pulumi.set(self, "private_data_source_connect_network_id", value)
+
@property
@pulumi.getter(name="secureJsonDataEncoded")
def secure_json_data_encoded(self) -> Optional[pulumi.Input[str]]:
@@ -498,6 +530,7 @@ def __init__(__self__,
json_data_encoded: Optional[pulumi.Input[str]] = None,
name: Optional[pulumi.Input[str]] = None,
org_id: Optional[pulumi.Input[str]] = None,
+ private_data_source_connect_network_id: Optional[pulumi.Input[str]] = None,
secure_json_data_encoded: Optional[pulumi.Input[str]] = None,
type: Optional[pulumi.Input[str]] = None,
uid: Optional[pulumi.Input[str]] = None,
@@ -600,6 +633,7 @@ def __init__(__self__,
:param pulumi.Input[str] json_data_encoded: Serialized JSON string containing the json data. This attribute can be used to pass configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
:param pulumi.Input[str] name: A unique name for the data source.
:param pulumi.Input[str] org_id: The Organization ID. If not set, the Org ID defined in the provider block will be used.
+ :param pulumi.Input[str] private_data_source_connect_network_id: (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
:param pulumi.Input[str] secure_json_data_encoded: Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
:param pulumi.Input[str] type: The data source type. Must be one of the supported data source keywords.
:param pulumi.Input[str] uid: Unique identifier. If unset, this will be automatically generated.
@@ -721,6 +755,7 @@ def _internal_init(__self__,
json_data_encoded: Optional[pulumi.Input[str]] = None,
name: Optional[pulumi.Input[str]] = None,
org_id: Optional[pulumi.Input[str]] = None,
+ private_data_source_connect_network_id: Optional[pulumi.Input[str]] = None,
secure_json_data_encoded: Optional[pulumi.Input[str]] = None,
type: Optional[pulumi.Input[str]] = None,
uid: Optional[pulumi.Input[str]] = None,
@@ -745,6 +780,7 @@ def _internal_init(__self__,
__props__.__dict__["json_data_encoded"] = json_data_encoded
__props__.__dict__["name"] = name
__props__.__dict__["org_id"] = org_id
+ __props__.__dict__["private_data_source_connect_network_id"] = private_data_source_connect_network_id
__props__.__dict__["secure_json_data_encoded"] = None if secure_json_data_encoded is None else pulumi.Output.secret(secure_json_data_encoded)
if type is None and not opts.urn:
raise TypeError("Missing required property 'type'")
@@ -775,6 +811,7 @@ def get(resource_name: str,
json_data_encoded: Optional[pulumi.Input[str]] = None,
name: Optional[pulumi.Input[str]] = None,
org_id: Optional[pulumi.Input[str]] = None,
+ private_data_source_connect_network_id: Optional[pulumi.Input[str]] = None,
secure_json_data_encoded: Optional[pulumi.Input[str]] = None,
type: Optional[pulumi.Input[str]] = None,
uid: Optional[pulumi.Input[str]] = None,
@@ -796,6 +833,7 @@ def get(resource_name: str,
:param pulumi.Input[str] json_data_encoded: Serialized JSON string containing the json data. This attribute can be used to pass configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
:param pulumi.Input[str] name: A unique name for the data source.
:param pulumi.Input[str] org_id: The Organization ID. If not set, the Org ID defined in the provider block will be used.
+ :param pulumi.Input[str] private_data_source_connect_network_id: (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
:param pulumi.Input[str] secure_json_data_encoded: Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
:param pulumi.Input[str] type: The data source type. Must be one of the supported data source keywords.
:param pulumi.Input[str] uid: Unique identifier. If unset, this will be automatically generated.
@@ -815,6 +853,7 @@ def get(resource_name: str,
__props__.__dict__["json_data_encoded"] = json_data_encoded
__props__.__dict__["name"] = name
__props__.__dict__["org_id"] = org_id
+ __props__.__dict__["private_data_source_connect_network_id"] = private_data_source_connect_network_id
__props__.__dict__["secure_json_data_encoded"] = secure_json_data_encoded
__props__.__dict__["type"] = type
__props__.__dict__["uid"] = uid
@@ -894,6 +933,14 @@ def org_id(self) -> pulumi.Output[Optional[str]]:
"""
return pulumi.get(self, "org_id")
+ @property
+ @pulumi.getter(name="privateDataSourceConnectNetworkId")
+ def private_data_source_connect_network_id(self) -> pulumi.Output[Optional[str]]:
+ """
+ (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
+ """
+ return pulumi.get(self, "private_data_source_connect_network_id")
+
@property
@pulumi.getter(name="secureJsonDataEncoded")
def secure_json_data_encoded(self) -> pulumi.Output[Optional[str]]:
diff --git a/sdk/python/pulumiverse_grafana/get_data_source.py b/sdk/python/pulumiverse_grafana/get_data_source.py
index 6619286d..a994be81 100644
--- a/sdk/python/pulumiverse_grafana/get_data_source.py
+++ b/sdk/python/pulumiverse_grafana/get_data_source.py
@@ -28,7 +28,7 @@ class GetDataSourceResult:
"""
A collection of values returned by getDataSource.
"""
- def __init__(__self__, access_mode=None, basic_auth_enabled=None, basic_auth_username=None, database_name=None, id=None, is_default=None, json_data_encoded=None, name=None, org_id=None, type=None, uid=None, url=None, username=None):
+ def __init__(__self__, access_mode=None, basic_auth_enabled=None, basic_auth_username=None, database_name=None, id=None, is_default=None, json_data_encoded=None, name=None, org_id=None, private_data_source_connect_network_id=None, type=None, uid=None, url=None, username=None):
if access_mode and not isinstance(access_mode, str):
raise TypeError("Expected argument 'access_mode' to be a str")
pulumi.set(__self__, "access_mode", access_mode)
@@ -56,6 +56,9 @@ def __init__(__self__, access_mode=None, basic_auth_enabled=None, basic_auth_use
if org_id and not isinstance(org_id, str):
raise TypeError("Expected argument 'org_id' to be a str")
pulumi.set(__self__, "org_id", org_id)
+ if private_data_source_connect_network_id and not isinstance(private_data_source_connect_network_id, str):
+ raise TypeError("Expected argument 'private_data_source_connect_network_id' to be a str")
+ pulumi.set(__self__, "private_data_source_connect_network_id", private_data_source_connect_network_id)
if type and not isinstance(type, str):
raise TypeError("Expected argument 'type' to be a str")
pulumi.set(__self__, "type", type)
@@ -138,6 +141,14 @@ def org_id(self) -> Optional[str]:
"""
return pulumi.get(self, "org_id")
+ @property
+ @pulumi.getter(name="privateDataSourceConnectNetworkId")
+ def private_data_source_connect_network_id(self) -> str:
+ """
+ (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source.
+ """
+ return pulumi.get(self, "private_data_source_connect_network_id")
+
@property
@pulumi.getter
def type(self) -> str:
@@ -183,6 +194,7 @@ def __await__(self):
json_data_encoded=self.json_data_encoded,
name=self.name,
org_id=self.org_id,
+ private_data_source_connect_network_id=self.private_data_source_connect_network_id,
type=self.type,
uid=self.uid,
url=self.url,
@@ -244,6 +256,7 @@ def get_data_source(name: Optional[str] = None,
json_data_encoded=pulumi.get(__ret__, 'json_data_encoded'),
name=pulumi.get(__ret__, 'name'),
org_id=pulumi.get(__ret__, 'org_id'),
+ private_data_source_connect_network_id=pulumi.get(__ret__, 'private_data_source_connect_network_id'),
type=pulumi.get(__ret__, 'type'),
uid=pulumi.get(__ret__, 'uid'),
url=pulumi.get(__ret__, 'url'),
@@ -302,6 +315,7 @@ def get_data_source_output(name: Optional[pulumi.Input[Optional[str]]] = None,
json_data_encoded=pulumi.get(__response__, 'json_data_encoded'),
name=pulumi.get(__response__, 'name'),
org_id=pulumi.get(__response__, 'org_id'),
+ private_data_source_connect_network_id=pulumi.get(__response__, 'private_data_source_connect_network_id'),
type=pulumi.get(__response__, 'type'),
uid=pulumi.get(__response__, 'uid'),
url=pulumi.get(__response__, 'url'),
diff --git a/sdk/python/pulumiverse_grafana/get_synthetic_monitoring_probe.py b/sdk/python/pulumiverse_grafana/get_synthetic_monitoring_probe.py
index e71266bb..d004e53f 100644
--- a/sdk/python/pulumiverse_grafana/get_synthetic_monitoring_probe.py
+++ b/sdk/python/pulumiverse_grafana/get_synthetic_monitoring_probe.py
@@ -28,7 +28,10 @@ class GetSyntheticMonitoringProbeResult:
"""
A collection of values returned by getSyntheticMonitoringProbe.
"""
- def __init__(__self__, disable_scripted_checks=None, id=None, labels=None, latitude=None, longitude=None, name=None, public=None, region=None, tenant_id=None):
+ def __init__(__self__, disable_browser_checks=None, disable_scripted_checks=None, id=None, labels=None, latitude=None, longitude=None, name=None, public=None, region=None, tenant_id=None):
+ if disable_browser_checks and not isinstance(disable_browser_checks, bool):
+ raise TypeError("Expected argument 'disable_browser_checks' to be a bool")
+ pulumi.set(__self__, "disable_browser_checks", disable_browser_checks)
if disable_scripted_checks and not isinstance(disable_scripted_checks, bool):
raise TypeError("Expected argument 'disable_scripted_checks' to be a bool")
pulumi.set(__self__, "disable_scripted_checks", disable_scripted_checks)
@@ -57,6 +60,14 @@ def __init__(__self__, disable_scripted_checks=None, id=None, labels=None, latit
raise TypeError("Expected argument 'tenant_id' to be a int")
pulumi.set(__self__, "tenant_id", tenant_id)
+ @property
+ @pulumi.getter(name="disableBrowserChecks")
+ def disable_browser_checks(self) -> bool:
+ """
+ Disables browser checks for this probe.
+ """
+ return pulumi.get(self, "disable_browser_checks")
+
@property
@pulumi.getter(name="disableScriptedChecks")
def disable_scripted_checks(self) -> bool:
@@ -136,6 +147,7 @@ def __await__(self):
if False:
yield self
return GetSyntheticMonitoringProbeResult(
+ disable_browser_checks=self.disable_browser_checks,
disable_scripted_checks=self.disable_scripted_checks,
id=self.id,
labels=self.labels,
@@ -158,7 +170,7 @@ def get_synthetic_monitoring_probe(name: Optional[str] = None,
import pulumi
import pulumi_grafana as grafana
- atlanta = grafana.syntheticMonitoring.get_probe(name="Atlanta")
+ ohio = grafana.syntheticMonitoring.get_probe(name="Ohio")
```
@@ -171,6 +183,7 @@ def get_synthetic_monitoring_probe(name: Optional[str] = None,
__ret__ = pulumi.runtime.invoke('grafana:index/getSyntheticMonitoringProbe:getSyntheticMonitoringProbe', __args__, opts=opts, typ=GetSyntheticMonitoringProbeResult).value
return AwaitableGetSyntheticMonitoringProbeResult(
+ disable_browser_checks=pulumi.get(__ret__, 'disable_browser_checks'),
disable_scripted_checks=pulumi.get(__ret__, 'disable_scripted_checks'),
id=pulumi.get(__ret__, 'id'),
labels=pulumi.get(__ret__, 'labels'),
@@ -191,7 +204,7 @@ def get_synthetic_monitoring_probe_output(name: Optional[pulumi.Input[str]] = No
import pulumi
import pulumi_grafana as grafana
- atlanta = grafana.syntheticMonitoring.get_probe(name="Atlanta")
+ ohio = grafana.syntheticMonitoring.get_probe(name="Ohio")
```
@@ -203,6 +216,7 @@ def get_synthetic_monitoring_probe_output(name: Optional[pulumi.Input[str]] = No
opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
__ret__ = pulumi.runtime.invoke_output('grafana:index/getSyntheticMonitoringProbe:getSyntheticMonitoringProbe', __args__, opts=opts, typ=GetSyntheticMonitoringProbeResult)
return __ret__.apply(lambda __response__: GetSyntheticMonitoringProbeResult(
+ disable_browser_checks=pulumi.get(__response__, 'disable_browser_checks'),
disable_scripted_checks=pulumi.get(__response__, 'disable_scripted_checks'),
id=pulumi.get(__response__, 'id'),
labels=pulumi.get(__response__, 'labels'),
diff --git a/sdk/python/pulumiverse_grafana/oss/data_source.py b/sdk/python/pulumiverse_grafana/oss/data_source.py
index d533d6ad..0a803278 100644
--- a/sdk/python/pulumiverse_grafana/oss/data_source.py
+++ b/sdk/python/pulumiverse_grafana/oss/data_source.py
@@ -29,6 +29,7 @@ def __init__(__self__, *,
json_data_encoded: Optional[pulumi.Input[str]] = None,
name: Optional[pulumi.Input[str]] = None,
org_id: Optional[pulumi.Input[str]] = None,
+ private_data_source_connect_network_id: Optional[pulumi.Input[str]] = None,
secure_json_data_encoded: Optional[pulumi.Input[str]] = None,
uid: Optional[pulumi.Input[str]] = None,
url: Optional[pulumi.Input[str]] = None,
@@ -45,6 +46,7 @@ def __init__(__self__, *,
:param pulumi.Input[str] json_data_encoded: Serialized JSON string containing the json data. This attribute can be used to pass configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
:param pulumi.Input[str] name: A unique name for the data source.
:param pulumi.Input[str] org_id: The Organization ID. If not set, the Org ID defined in the provider block will be used.
+ :param pulumi.Input[str] private_data_source_connect_network_id: (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
:param pulumi.Input[str] secure_json_data_encoded: Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
:param pulumi.Input[str] uid: Unique identifier. If unset, this will be automatically generated.
:param pulumi.Input[str] url: The URL for the data source. The type of URL required varies depending on the chosen data source type.
@@ -69,6 +71,8 @@ def __init__(__self__, *,
pulumi.set(__self__, "name", name)
if org_id is not None:
pulumi.set(__self__, "org_id", org_id)
+ if private_data_source_connect_network_id is not None:
+ pulumi.set(__self__, "private_data_source_connect_network_id", private_data_source_connect_network_id)
if secure_json_data_encoded is not None:
pulumi.set(__self__, "secure_json_data_encoded", secure_json_data_encoded)
if uid is not None:
@@ -198,6 +202,18 @@ def org_id(self) -> Optional[pulumi.Input[str]]:
def org_id(self, value: Optional[pulumi.Input[str]]):
pulumi.set(self, "org_id", value)
+ @property
+ @pulumi.getter(name="privateDataSourceConnectNetworkId")
+ def private_data_source_connect_network_id(self) -> Optional[pulumi.Input[str]]:
+ """
+ (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
+ """
+ return pulumi.get(self, "private_data_source_connect_network_id")
+
+ @private_data_source_connect_network_id.setter
+ def private_data_source_connect_network_id(self, value: Optional[pulumi.Input[str]]):
+ pulumi.set(self, "private_data_source_connect_network_id", value)
+
@property
@pulumi.getter(name="secureJsonDataEncoded")
def secure_json_data_encoded(self) -> Optional[pulumi.Input[str]]:
@@ -259,6 +275,7 @@ def __init__(__self__, *,
json_data_encoded: Optional[pulumi.Input[str]] = None,
name: Optional[pulumi.Input[str]] = None,
org_id: Optional[pulumi.Input[str]] = None,
+ private_data_source_connect_network_id: Optional[pulumi.Input[str]] = None,
secure_json_data_encoded: Optional[pulumi.Input[str]] = None,
type: Optional[pulumi.Input[str]] = None,
uid: Optional[pulumi.Input[str]] = None,
@@ -275,6 +292,7 @@ def __init__(__self__, *,
:param pulumi.Input[str] json_data_encoded: Serialized JSON string containing the json data. This attribute can be used to pass configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
:param pulumi.Input[str] name: A unique name for the data source.
:param pulumi.Input[str] org_id: The Organization ID. If not set, the Org ID defined in the provider block will be used.
+ :param pulumi.Input[str] private_data_source_connect_network_id: (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
:param pulumi.Input[str] secure_json_data_encoded: Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
:param pulumi.Input[str] type: The data source type. Must be one of the supported data source keywords.
:param pulumi.Input[str] uid: Unique identifier. If unset, this will be automatically generated.
@@ -299,6 +317,8 @@ def __init__(__self__, *,
pulumi.set(__self__, "name", name)
if org_id is not None:
pulumi.set(__self__, "org_id", org_id)
+ if private_data_source_connect_network_id is not None:
+ pulumi.set(__self__, "private_data_source_connect_network_id", private_data_source_connect_network_id)
if secure_json_data_encoded is not None:
pulumi.set(__self__, "secure_json_data_encoded", secure_json_data_encoded)
if type is not None:
@@ -418,6 +438,18 @@ def org_id(self) -> Optional[pulumi.Input[str]]:
def org_id(self, value: Optional[pulumi.Input[str]]):
pulumi.set(self, "org_id", value)
+ @property
+ @pulumi.getter(name="privateDataSourceConnectNetworkId")
+ def private_data_source_connect_network_id(self) -> Optional[pulumi.Input[str]]:
+ """
+ (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
+ """
+ return pulumi.get(self, "private_data_source_connect_network_id")
+
+ @private_data_source_connect_network_id.setter
+ def private_data_source_connect_network_id(self, value: Optional[pulumi.Input[str]]):
+ pulumi.set(self, "private_data_source_connect_network_id", value)
+
@property
@pulumi.getter(name="secureJsonDataEncoded")
def secure_json_data_encoded(self) -> Optional[pulumi.Input[str]]:
@@ -493,6 +525,7 @@ def __init__(__self__,
json_data_encoded: Optional[pulumi.Input[str]] = None,
name: Optional[pulumi.Input[str]] = None,
org_id: Optional[pulumi.Input[str]] = None,
+ private_data_source_connect_network_id: Optional[pulumi.Input[str]] = None,
secure_json_data_encoded: Optional[pulumi.Input[str]] = None,
type: Optional[pulumi.Input[str]] = None,
uid: Optional[pulumi.Input[str]] = None,
@@ -595,6 +628,7 @@ def __init__(__self__,
:param pulumi.Input[str] json_data_encoded: Serialized JSON string containing the json data. This attribute can be used to pass configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
:param pulumi.Input[str] name: A unique name for the data source.
:param pulumi.Input[str] org_id: The Organization ID. If not set, the Org ID defined in the provider block will be used.
+ :param pulumi.Input[str] private_data_source_connect_network_id: (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
:param pulumi.Input[str] secure_json_data_encoded: Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
:param pulumi.Input[str] type: The data source type. Must be one of the supported data source keywords.
:param pulumi.Input[str] uid: Unique identifier. If unset, this will be automatically generated.
@@ -716,6 +750,7 @@ def _internal_init(__self__,
json_data_encoded: Optional[pulumi.Input[str]] = None,
name: Optional[pulumi.Input[str]] = None,
org_id: Optional[pulumi.Input[str]] = None,
+ private_data_source_connect_network_id: Optional[pulumi.Input[str]] = None,
secure_json_data_encoded: Optional[pulumi.Input[str]] = None,
type: Optional[pulumi.Input[str]] = None,
uid: Optional[pulumi.Input[str]] = None,
@@ -739,6 +774,7 @@ def _internal_init(__self__,
__props__.__dict__["json_data_encoded"] = json_data_encoded
__props__.__dict__["name"] = name
__props__.__dict__["org_id"] = org_id
+ __props__.__dict__["private_data_source_connect_network_id"] = private_data_source_connect_network_id
__props__.__dict__["secure_json_data_encoded"] = None if secure_json_data_encoded is None else pulumi.Output.secret(secure_json_data_encoded)
if type is None and not opts.urn:
raise TypeError("Missing required property 'type'")
@@ -769,6 +805,7 @@ def get(resource_name: str,
json_data_encoded: Optional[pulumi.Input[str]] = None,
name: Optional[pulumi.Input[str]] = None,
org_id: Optional[pulumi.Input[str]] = None,
+ private_data_source_connect_network_id: Optional[pulumi.Input[str]] = None,
secure_json_data_encoded: Optional[pulumi.Input[str]] = None,
type: Optional[pulumi.Input[str]] = None,
uid: Optional[pulumi.Input[str]] = None,
@@ -790,6 +827,7 @@ def get(resource_name: str,
:param pulumi.Input[str] json_data_encoded: Serialized JSON string containing the json data. This attribute can be used to pass configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
:param pulumi.Input[str] name: A unique name for the data source.
:param pulumi.Input[str] org_id: The Organization ID. If not set, the Org ID defined in the provider block will be used.
+ :param pulumi.Input[str] private_data_source_connect_network_id: (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
:param pulumi.Input[str] secure_json_data_encoded: Serialized JSON string containing the secure json data. This attribute can be used to pass secure configuration options to the data source. To figure out what options a datasource has available, see its docs or inspect the network data when saving it from the Grafana UI. Note that keys in this map are usually camelCased.
:param pulumi.Input[str] type: The data source type. Must be one of the supported data source keywords.
:param pulumi.Input[str] uid: Unique identifier. If unset, this will be automatically generated.
@@ -809,6 +847,7 @@ def get(resource_name: str,
__props__.__dict__["json_data_encoded"] = json_data_encoded
__props__.__dict__["name"] = name
__props__.__dict__["org_id"] = org_id
+ __props__.__dict__["private_data_source_connect_network_id"] = private_data_source_connect_network_id
__props__.__dict__["secure_json_data_encoded"] = secure_json_data_encoded
__props__.__dict__["type"] = type
__props__.__dict__["uid"] = uid
@@ -888,6 +927,14 @@ def org_id(self) -> pulumi.Output[Optional[str]]:
"""
return pulumi.get(self, "org_id")
+ @property
+ @pulumi.getter(name="privateDataSourceConnectNetworkId")
+ def private_data_source_connect_network_id(self) -> pulumi.Output[Optional[str]]:
+ """
+ (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source. Defaults to ``.
+ """
+ return pulumi.get(self, "private_data_source_connect_network_id")
+
@property
@pulumi.getter(name="secureJsonDataEncoded")
def secure_json_data_encoded(self) -> pulumi.Output[Optional[str]]:
diff --git a/sdk/python/pulumiverse_grafana/oss/get_data_source.py b/sdk/python/pulumiverse_grafana/oss/get_data_source.py
index 27599441..831d69e7 100644
--- a/sdk/python/pulumiverse_grafana/oss/get_data_source.py
+++ b/sdk/python/pulumiverse_grafana/oss/get_data_source.py
@@ -26,7 +26,7 @@ class GetDataSourceResult:
"""
A collection of values returned by getDataSource.
"""
- def __init__(__self__, access_mode=None, basic_auth_enabled=None, basic_auth_username=None, database_name=None, id=None, is_default=None, json_data_encoded=None, name=None, org_id=None, type=None, uid=None, url=None, username=None):
+ def __init__(__self__, access_mode=None, basic_auth_enabled=None, basic_auth_username=None, database_name=None, id=None, is_default=None, json_data_encoded=None, name=None, org_id=None, private_data_source_connect_network_id=None, type=None, uid=None, url=None, username=None):
if access_mode and not isinstance(access_mode, str):
raise TypeError("Expected argument 'access_mode' to be a str")
pulumi.set(__self__, "access_mode", access_mode)
@@ -54,6 +54,9 @@ def __init__(__self__, access_mode=None, basic_auth_enabled=None, basic_auth_use
if org_id and not isinstance(org_id, str):
raise TypeError("Expected argument 'org_id' to be a str")
pulumi.set(__self__, "org_id", org_id)
+ if private_data_source_connect_network_id and not isinstance(private_data_source_connect_network_id, str):
+ raise TypeError("Expected argument 'private_data_source_connect_network_id' to be a str")
+ pulumi.set(__self__, "private_data_source_connect_network_id", private_data_source_connect_network_id)
if type and not isinstance(type, str):
raise TypeError("Expected argument 'type' to be a str")
pulumi.set(__self__, "type", type)
@@ -136,6 +139,14 @@ def org_id(self) -> Optional[str]:
"""
return pulumi.get(self, "org_id")
+ @property
+ @pulumi.getter(name="privateDataSourceConnectNetworkId")
+ def private_data_source_connect_network_id(self) -> str:
+ """
+ (Can only be used with data sources in Grafana Cloud) The ID of the Private Data source Connect network to use with this data source.
+ """
+ return pulumi.get(self, "private_data_source_connect_network_id")
+
@property
@pulumi.getter
def type(self) -> str:
@@ -181,6 +192,7 @@ def __await__(self):
json_data_encoded=self.json_data_encoded,
name=self.name,
org_id=self.org_id,
+ private_data_source_connect_network_id=self.private_data_source_connect_network_id,
type=self.type,
uid=self.uid,
url=self.url,
@@ -241,6 +253,7 @@ def get_data_source(name: Optional[str] = None,
json_data_encoded=pulumi.get(__ret__, 'json_data_encoded'),
name=pulumi.get(__ret__, 'name'),
org_id=pulumi.get(__ret__, 'org_id'),
+ private_data_source_connect_network_id=pulumi.get(__ret__, 'private_data_source_connect_network_id'),
type=pulumi.get(__ret__, 'type'),
uid=pulumi.get(__ret__, 'uid'),
url=pulumi.get(__ret__, 'url'),
@@ -298,6 +311,7 @@ def get_data_source_output(name: Optional[pulumi.Input[Optional[str]]] = None,
json_data_encoded=pulumi.get(__response__, 'json_data_encoded'),
name=pulumi.get(__response__, 'name'),
org_id=pulumi.get(__response__, 'org_id'),
+ private_data_source_connect_network_id=pulumi.get(__response__, 'private_data_source_connect_network_id'),
type=pulumi.get(__response__, 'type'),
uid=pulumi.get(__response__, 'uid'),
url=pulumi.get(__response__, 'url'),
diff --git a/sdk/python/pulumiverse_grafana/synthetic_monitoring_check.py b/sdk/python/pulumiverse_grafana/synthetic_monitoring_check.py
index aef99c1c..918658e6 100644
--- a/sdk/python/pulumiverse_grafana/synthetic_monitoring_check.py
+++ b/sdk/python/pulumiverse_grafana/synthetic_monitoring_check.py
@@ -410,7 +410,7 @@ def __init__(__self__,
job="DNS Defaults",
target="grafana.com",
enabled=False,
- probes=[main.probes["atlanta"]],
+ probes=[main.probes["ohio"]],
labels={
"foo": "bar",
},
@@ -477,7 +477,7 @@ def __init__(__self__,
job="HTTP Defaults",
target="https://grafana.com",
enabled=False,
- probes=[main.probes["atlanta"]],
+ probes=[main.probes["ohio"]],
labels={
"foo": "bar",
},
@@ -499,7 +499,7 @@ def __init__(__self__,
target="https://grafana.org",
enabled=False,
probes=[
- main.probes["bangalore"],
+ main.probes["mumbai"],
main.probes["mumbai"],
],
labels={
@@ -585,7 +585,7 @@ def __init__(__self__,
job="Ping Defaults",
target="grafana.com",
enabled=False,
- probes=[main.probes["atlanta"]],
+ probes=[main.probes["ohio"]],
labels={
"foo": "bar",
},
@@ -634,7 +634,7 @@ def __init__(__self__,
job="TCP Defaults",
target="grafana.com:80",
enabled=False,
- probes=[main.probes["atlanta"]],
+ probes=[main.probes["ohio"]],
labels={
"foo": "bar",
},
@@ -726,7 +726,7 @@ def __init__(__self__,
enabled=False,
frequency=120000,
timeout=30000,
- probes=[main.probes["atlanta"]],
+ probes=[main.probes["ohio"]],
labels={
"foo": "bar",
},
@@ -813,7 +813,7 @@ def __init__(__self__,
job="DNS Defaults",
target="grafana.com",
enabled=False,
- probes=[main.probes["atlanta"]],
+ probes=[main.probes["ohio"]],
labels={
"foo": "bar",
},
@@ -880,7 +880,7 @@ def __init__(__self__,
job="HTTP Defaults",
target="https://grafana.com",
enabled=False,
- probes=[main.probes["atlanta"]],
+ probes=[main.probes["ohio"]],
labels={
"foo": "bar",
},
@@ -902,7 +902,7 @@ def __init__(__self__,
target="https://grafana.org",
enabled=False,
probes=[
- main.probes["bangalore"],
+ main.probes["mumbai"],
main.probes["mumbai"],
],
labels={
@@ -988,7 +988,7 @@ def __init__(__self__,
job="Ping Defaults",
target="grafana.com",
enabled=False,
- probes=[main.probes["atlanta"]],
+ probes=[main.probes["ohio"]],
labels={
"foo": "bar",
},
@@ -1037,7 +1037,7 @@ def __init__(__self__,
job="TCP Defaults",
target="grafana.com:80",
enabled=False,
- probes=[main.probes["atlanta"]],
+ probes=[main.probes["ohio"]],
labels={
"foo": "bar",
},
@@ -1129,7 +1129,7 @@ def __init__(__self__,
enabled=False,
frequency=120000,
timeout=30000,
- probes=[main.probes["atlanta"]],
+ probes=[main.probes["ohio"]],
labels={
"foo": "bar",
},
diff --git a/sdk/python/pulumiverse_grafana/synthetic_monitoring_probe.py b/sdk/python/pulumiverse_grafana/synthetic_monitoring_probe.py
index 0af7da60..fa516489 100644
--- a/sdk/python/pulumiverse_grafana/synthetic_monitoring_probe.py
+++ b/sdk/python/pulumiverse_grafana/synthetic_monitoring_probe.py
@@ -22,6 +22,7 @@ def __init__(__self__, *,
latitude: pulumi.Input[float],
longitude: pulumi.Input[float],
region: pulumi.Input[str],
+ disable_browser_checks: Optional[pulumi.Input[bool]] = None,
disable_scripted_checks: Optional[pulumi.Input[bool]] = None,
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
name: Optional[pulumi.Input[str]] = None,
@@ -31,6 +32,7 @@ def __init__(__self__, *,
:param pulumi.Input[float] latitude: Latitude coordinates.
:param pulumi.Input[float] longitude: Longitude coordinates.
:param pulumi.Input[str] region: Region of the probe.
+ :param pulumi.Input[bool] disable_browser_checks: Disables browser checks for this probe. Defaults to `false`.
:param pulumi.Input[bool] disable_scripted_checks: Disables scripted checks for this probe. Defaults to `false`.
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Custom labels to be included with collected metrics and logs.
:param pulumi.Input[str] name: Name of the probe.
@@ -39,6 +41,8 @@ def __init__(__self__, *,
pulumi.set(__self__, "latitude", latitude)
pulumi.set(__self__, "longitude", longitude)
pulumi.set(__self__, "region", region)
+ if disable_browser_checks is not None:
+ pulumi.set(__self__, "disable_browser_checks", disable_browser_checks)
if disable_scripted_checks is not None:
pulumi.set(__self__, "disable_scripted_checks", disable_scripted_checks)
if labels is not None:
@@ -84,6 +88,18 @@ def region(self) -> pulumi.Input[str]:
def region(self, value: pulumi.Input[str]):
pulumi.set(self, "region", value)
+ @property
+ @pulumi.getter(name="disableBrowserChecks")
+ def disable_browser_checks(self) -> Optional[pulumi.Input[bool]]:
+ """
+ Disables browser checks for this probe. Defaults to `false`.
+ """
+ return pulumi.get(self, "disable_browser_checks")
+
+ @disable_browser_checks.setter
+ def disable_browser_checks(self, value: Optional[pulumi.Input[bool]]):
+ pulumi.set(self, "disable_browser_checks", value)
+
@property
@pulumi.getter(name="disableScriptedChecks")
def disable_scripted_checks(self) -> Optional[pulumi.Input[bool]]:
@@ -137,6 +153,7 @@ def public(self, value: Optional[pulumi.Input[bool]]):
class _SyntheticMonitoringProbeState:
def __init__(__self__, *,
auth_token: Optional[pulumi.Input[str]] = None,
+ disable_browser_checks: Optional[pulumi.Input[bool]] = None,
disable_scripted_checks: Optional[pulumi.Input[bool]] = None,
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
latitude: Optional[pulumi.Input[float]] = None,
@@ -148,6 +165,7 @@ def __init__(__self__, *,
"""
Input properties used for looking up and filtering SyntheticMonitoringProbe resources.
:param pulumi.Input[str] auth_token: The probe authentication token. Your probe must use this to authenticate with Grafana Cloud.
+ :param pulumi.Input[bool] disable_browser_checks: Disables browser checks for this probe. Defaults to `false`.
:param pulumi.Input[bool] disable_scripted_checks: Disables scripted checks for this probe. Defaults to `false`.
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Custom labels to be included with collected metrics and logs.
:param pulumi.Input[float] latitude: Latitude coordinates.
@@ -159,6 +177,8 @@ def __init__(__self__, *,
"""
if auth_token is not None:
pulumi.set(__self__, "auth_token", auth_token)
+ if disable_browser_checks is not None:
+ pulumi.set(__self__, "disable_browser_checks", disable_browser_checks)
if disable_scripted_checks is not None:
pulumi.set(__self__, "disable_scripted_checks", disable_scripted_checks)
if labels is not None:
@@ -188,6 +208,18 @@ def auth_token(self) -> Optional[pulumi.Input[str]]:
def auth_token(self, value: Optional[pulumi.Input[str]]):
pulumi.set(self, "auth_token", value)
+ @property
+ @pulumi.getter(name="disableBrowserChecks")
+ def disable_browser_checks(self) -> Optional[pulumi.Input[bool]]:
+ """
+ Disables browser checks for this probe. Defaults to `false`.
+ """
+ return pulumi.get(self, "disable_browser_checks")
+
+ @disable_browser_checks.setter
+ def disable_browser_checks(self, value: Optional[pulumi.Input[bool]]):
+ pulumi.set(self, "disable_browser_checks", value)
+
@property
@pulumi.getter(name="disableScriptedChecks")
def disable_scripted_checks(self) -> Optional[pulumi.Input[bool]]:
@@ -295,6 +327,7 @@ class SyntheticMonitoringProbe(pulumi.CustomResource):
def __init__(__self__,
resource_name: str,
opts: Optional[pulumi.ResourceOptions] = None,
+ disable_browser_checks: Optional[pulumi.Input[bool]] = None,
disable_scripted_checks: Optional[pulumi.Input[bool]] = None,
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
latitude: Optional[pulumi.Input[float]] = None,
@@ -339,6 +372,7 @@ def __init__(__self__,
:param str resource_name: The name of the resource.
:param pulumi.ResourceOptions opts: Options for the resource.
+ :param pulumi.Input[bool] disable_browser_checks: Disables browser checks for this probe. Defaults to `false`.
:param pulumi.Input[bool] disable_scripted_checks: Disables scripted checks for this probe. Defaults to `false`.
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Custom labels to be included with collected metrics and logs.
:param pulumi.Input[float] latitude: Latitude coordinates.
@@ -402,6 +436,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs):
def _internal_init(__self__,
resource_name: str,
opts: Optional[pulumi.ResourceOptions] = None,
+ disable_browser_checks: Optional[pulumi.Input[bool]] = None,
disable_scripted_checks: Optional[pulumi.Input[bool]] = None,
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
latitude: Optional[pulumi.Input[float]] = None,
@@ -419,6 +454,7 @@ def _internal_init(__self__,
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
__props__ = SyntheticMonitoringProbeArgs.__new__(SyntheticMonitoringProbeArgs)
+ __props__.__dict__["disable_browser_checks"] = disable_browser_checks
__props__.__dict__["disable_scripted_checks"] = disable_scripted_checks
__props__.__dict__["labels"] = labels
if latitude is None and not opts.urn:
@@ -447,6 +483,7 @@ def get(resource_name: str,
id: pulumi.Input[str],
opts: Optional[pulumi.ResourceOptions] = None,
auth_token: Optional[pulumi.Input[str]] = None,
+ disable_browser_checks: Optional[pulumi.Input[bool]] = None,
disable_scripted_checks: Optional[pulumi.Input[bool]] = None,
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
latitude: Optional[pulumi.Input[float]] = None,
@@ -463,6 +500,7 @@ def get(resource_name: str,
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
:param pulumi.ResourceOptions opts: Options for the resource.
:param pulumi.Input[str] auth_token: The probe authentication token. Your probe must use this to authenticate with Grafana Cloud.
+ :param pulumi.Input[bool] disable_browser_checks: Disables browser checks for this probe. Defaults to `false`.
:param pulumi.Input[bool] disable_scripted_checks: Disables scripted checks for this probe. Defaults to `false`.
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Custom labels to be included with collected metrics and logs.
:param pulumi.Input[float] latitude: Latitude coordinates.
@@ -477,6 +515,7 @@ def get(resource_name: str,
__props__ = _SyntheticMonitoringProbeState.__new__(_SyntheticMonitoringProbeState)
__props__.__dict__["auth_token"] = auth_token
+ __props__.__dict__["disable_browser_checks"] = disable_browser_checks
__props__.__dict__["disable_scripted_checks"] = disable_scripted_checks
__props__.__dict__["labels"] = labels
__props__.__dict__["latitude"] = latitude
@@ -495,6 +534,14 @@ def auth_token(self) -> pulumi.Output[str]:
"""
return pulumi.get(self, "auth_token")
+ @property
+ @pulumi.getter(name="disableBrowserChecks")
+ def disable_browser_checks(self) -> pulumi.Output[Optional[bool]]:
+ """
+ Disables browser checks for this probe. Defaults to `false`.
+ """
+ return pulumi.get(self, "disable_browser_checks")
+
@property
@pulumi.getter(name="disableScriptedChecks")
def disable_scripted_checks(self) -> pulumi.Output[Optional[bool]]:
diff --git a/sdk/python/pulumiverse_grafana/syntheticmonitoring/check.py b/sdk/python/pulumiverse_grafana/syntheticmonitoring/check.py
index 12d46d24..e4ec068b 100644
--- a/sdk/python/pulumiverse_grafana/syntheticmonitoring/check.py
+++ b/sdk/python/pulumiverse_grafana/syntheticmonitoring/check.py
@@ -405,7 +405,7 @@ def __init__(__self__,
job="DNS Defaults",
target="grafana.com",
enabled=False,
- probes=[main.probes["atlanta"]],
+ probes=[main.probes["ohio"]],
labels={
"foo": "bar",
},
@@ -472,7 +472,7 @@ def __init__(__self__,
job="HTTP Defaults",
target="https://grafana.com",
enabled=False,
- probes=[main.probes["atlanta"]],
+ probes=[main.probes["ohio"]],
labels={
"foo": "bar",
},
@@ -494,7 +494,7 @@ def __init__(__self__,
target="https://grafana.org",
enabled=False,
probes=[
- main.probes["bangalore"],
+ main.probes["mumbai"],
main.probes["mumbai"],
],
labels={
@@ -580,7 +580,7 @@ def __init__(__self__,
job="Ping Defaults",
target="grafana.com",
enabled=False,
- probes=[main.probes["atlanta"]],
+ probes=[main.probes["ohio"]],
labels={
"foo": "bar",
},
@@ -629,7 +629,7 @@ def __init__(__self__,
job="TCP Defaults",
target="grafana.com:80",
enabled=False,
- probes=[main.probes["atlanta"]],
+ probes=[main.probes["ohio"]],
labels={
"foo": "bar",
},
@@ -721,7 +721,7 @@ def __init__(__self__,
enabled=False,
frequency=120000,
timeout=30000,
- probes=[main.probes["atlanta"]],
+ probes=[main.probes["ohio"]],
labels={
"foo": "bar",
},
@@ -808,7 +808,7 @@ def __init__(__self__,
job="DNS Defaults",
target="grafana.com",
enabled=False,
- probes=[main.probes["atlanta"]],
+ probes=[main.probes["ohio"]],
labels={
"foo": "bar",
},
@@ -875,7 +875,7 @@ def __init__(__self__,
job="HTTP Defaults",
target="https://grafana.com",
enabled=False,
- probes=[main.probes["atlanta"]],
+ probes=[main.probes["ohio"]],
labels={
"foo": "bar",
},
@@ -897,7 +897,7 @@ def __init__(__self__,
target="https://grafana.org",
enabled=False,
probes=[
- main.probes["bangalore"],
+ main.probes["mumbai"],
main.probes["mumbai"],
],
labels={
@@ -983,7 +983,7 @@ def __init__(__self__,
job="Ping Defaults",
target="grafana.com",
enabled=False,
- probes=[main.probes["atlanta"]],
+ probes=[main.probes["ohio"]],
labels={
"foo": "bar",
},
@@ -1032,7 +1032,7 @@ def __init__(__self__,
job="TCP Defaults",
target="grafana.com:80",
enabled=False,
- probes=[main.probes["atlanta"]],
+ probes=[main.probes["ohio"]],
labels={
"foo": "bar",
},
@@ -1124,7 +1124,7 @@ def __init__(__self__,
enabled=False,
frequency=120000,
timeout=30000,
- probes=[main.probes["atlanta"]],
+ probes=[main.probes["ohio"]],
labels={
"foo": "bar",
},
diff --git a/sdk/python/pulumiverse_grafana/syntheticmonitoring/get_probe.py b/sdk/python/pulumiverse_grafana/syntheticmonitoring/get_probe.py
index bc85571c..d2859995 100644
--- a/sdk/python/pulumiverse_grafana/syntheticmonitoring/get_probe.py
+++ b/sdk/python/pulumiverse_grafana/syntheticmonitoring/get_probe.py
@@ -26,7 +26,10 @@ class GetProbeResult:
"""
A collection of values returned by getProbe.
"""
- def __init__(__self__, disable_scripted_checks=None, id=None, labels=None, latitude=None, longitude=None, name=None, public=None, region=None, tenant_id=None):
+ def __init__(__self__, disable_browser_checks=None, disable_scripted_checks=None, id=None, labels=None, latitude=None, longitude=None, name=None, public=None, region=None, tenant_id=None):
+ if disable_browser_checks and not isinstance(disable_browser_checks, bool):
+ raise TypeError("Expected argument 'disable_browser_checks' to be a bool")
+ pulumi.set(__self__, "disable_browser_checks", disable_browser_checks)
if disable_scripted_checks and not isinstance(disable_scripted_checks, bool):
raise TypeError("Expected argument 'disable_scripted_checks' to be a bool")
pulumi.set(__self__, "disable_scripted_checks", disable_scripted_checks)
@@ -55,6 +58,14 @@ def __init__(__self__, disable_scripted_checks=None, id=None, labels=None, latit
raise TypeError("Expected argument 'tenant_id' to be a int")
pulumi.set(__self__, "tenant_id", tenant_id)
+ @property
+ @pulumi.getter(name="disableBrowserChecks")
+ def disable_browser_checks(self) -> bool:
+ """
+ Disables browser checks for this probe.
+ """
+ return pulumi.get(self, "disable_browser_checks")
+
@property
@pulumi.getter(name="disableScriptedChecks")
def disable_scripted_checks(self) -> bool:
@@ -134,6 +145,7 @@ def __await__(self):
if False:
yield self
return GetProbeResult(
+ disable_browser_checks=self.disable_browser_checks,
disable_scripted_checks=self.disable_scripted_checks,
id=self.id,
labels=self.labels,
@@ -156,7 +168,7 @@ def get_probe(name: Optional[str] = None,
import pulumi
import pulumi_grafana as grafana
- atlanta = grafana.syntheticMonitoring.get_probe(name="Atlanta")
+ ohio = grafana.syntheticMonitoring.get_probe(name="Ohio")
```
@@ -168,6 +180,7 @@ def get_probe(name: Optional[str] = None,
__ret__ = pulumi.runtime.invoke('grafana:syntheticMonitoring/getProbe:getProbe', __args__, opts=opts, typ=GetProbeResult).value
return AwaitableGetProbeResult(
+ disable_browser_checks=pulumi.get(__ret__, 'disable_browser_checks'),
disable_scripted_checks=pulumi.get(__ret__, 'disable_scripted_checks'),
id=pulumi.get(__ret__, 'id'),
labels=pulumi.get(__ret__, 'labels'),
@@ -188,7 +201,7 @@ def get_probe_output(name: Optional[pulumi.Input[str]] = None,
import pulumi
import pulumi_grafana as grafana
- atlanta = grafana.syntheticMonitoring.get_probe(name="Atlanta")
+ ohio = grafana.syntheticMonitoring.get_probe(name="Ohio")
```
@@ -199,6 +212,7 @@ def get_probe_output(name: Optional[pulumi.Input[str]] = None,
opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
__ret__ = pulumi.runtime.invoke_output('grafana:syntheticMonitoring/getProbe:getProbe', __args__, opts=opts, typ=GetProbeResult)
return __ret__.apply(lambda __response__: GetProbeResult(
+ disable_browser_checks=pulumi.get(__response__, 'disable_browser_checks'),
disable_scripted_checks=pulumi.get(__response__, 'disable_scripted_checks'),
id=pulumi.get(__response__, 'id'),
labels=pulumi.get(__response__, 'labels'),
diff --git a/sdk/python/pulumiverse_grafana/syntheticmonitoring/probe.py b/sdk/python/pulumiverse_grafana/syntheticmonitoring/probe.py
index 64a0c0ff..e2032c69 100644
--- a/sdk/python/pulumiverse_grafana/syntheticmonitoring/probe.py
+++ b/sdk/python/pulumiverse_grafana/syntheticmonitoring/probe.py
@@ -22,6 +22,7 @@ def __init__(__self__, *,
latitude: pulumi.Input[float],
longitude: pulumi.Input[float],
region: pulumi.Input[str],
+ disable_browser_checks: Optional[pulumi.Input[bool]] = None,
disable_scripted_checks: Optional[pulumi.Input[bool]] = None,
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
name: Optional[pulumi.Input[str]] = None,
@@ -31,6 +32,7 @@ def __init__(__self__, *,
:param pulumi.Input[float] latitude: Latitude coordinates.
:param pulumi.Input[float] longitude: Longitude coordinates.
:param pulumi.Input[str] region: Region of the probe.
+ :param pulumi.Input[bool] disable_browser_checks: Disables browser checks for this probe. Defaults to `false`.
:param pulumi.Input[bool] disable_scripted_checks: Disables scripted checks for this probe. Defaults to `false`.
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Custom labels to be included with collected metrics and logs.
:param pulumi.Input[str] name: Name of the probe.
@@ -39,6 +41,8 @@ def __init__(__self__, *,
pulumi.set(__self__, "latitude", latitude)
pulumi.set(__self__, "longitude", longitude)
pulumi.set(__self__, "region", region)
+ if disable_browser_checks is not None:
+ pulumi.set(__self__, "disable_browser_checks", disable_browser_checks)
if disable_scripted_checks is not None:
pulumi.set(__self__, "disable_scripted_checks", disable_scripted_checks)
if labels is not None:
@@ -84,6 +88,18 @@ def region(self) -> pulumi.Input[str]:
def region(self, value: pulumi.Input[str]):
pulumi.set(self, "region", value)
+ @property
+ @pulumi.getter(name="disableBrowserChecks")
+ def disable_browser_checks(self) -> Optional[pulumi.Input[bool]]:
+ """
+ Disables browser checks for this probe. Defaults to `false`.
+ """
+ return pulumi.get(self, "disable_browser_checks")
+
+ @disable_browser_checks.setter
+ def disable_browser_checks(self, value: Optional[pulumi.Input[bool]]):
+ pulumi.set(self, "disable_browser_checks", value)
+
@property
@pulumi.getter(name="disableScriptedChecks")
def disable_scripted_checks(self) -> Optional[pulumi.Input[bool]]:
@@ -137,6 +153,7 @@ def public(self, value: Optional[pulumi.Input[bool]]):
class _ProbeState:
def __init__(__self__, *,
auth_token: Optional[pulumi.Input[str]] = None,
+ disable_browser_checks: Optional[pulumi.Input[bool]] = None,
disable_scripted_checks: Optional[pulumi.Input[bool]] = None,
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
latitude: Optional[pulumi.Input[float]] = None,
@@ -148,6 +165,7 @@ def __init__(__self__, *,
"""
Input properties used for looking up and filtering Probe resources.
:param pulumi.Input[str] auth_token: The probe authentication token. Your probe must use this to authenticate with Grafana Cloud.
+ :param pulumi.Input[bool] disable_browser_checks: Disables browser checks for this probe. Defaults to `false`.
:param pulumi.Input[bool] disable_scripted_checks: Disables scripted checks for this probe. Defaults to `false`.
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Custom labels to be included with collected metrics and logs.
:param pulumi.Input[float] latitude: Latitude coordinates.
@@ -159,6 +177,8 @@ def __init__(__self__, *,
"""
if auth_token is not None:
pulumi.set(__self__, "auth_token", auth_token)
+ if disable_browser_checks is not None:
+ pulumi.set(__self__, "disable_browser_checks", disable_browser_checks)
if disable_scripted_checks is not None:
pulumi.set(__self__, "disable_scripted_checks", disable_scripted_checks)
if labels is not None:
@@ -188,6 +208,18 @@ def auth_token(self) -> Optional[pulumi.Input[str]]:
def auth_token(self, value: Optional[pulumi.Input[str]]):
pulumi.set(self, "auth_token", value)
+ @property
+ @pulumi.getter(name="disableBrowserChecks")
+ def disable_browser_checks(self) -> Optional[pulumi.Input[bool]]:
+ """
+ Disables browser checks for this probe. Defaults to `false`.
+ """
+ return pulumi.get(self, "disable_browser_checks")
+
+ @disable_browser_checks.setter
+ def disable_browser_checks(self, value: Optional[pulumi.Input[bool]]):
+ pulumi.set(self, "disable_browser_checks", value)
+
@property
@pulumi.getter(name="disableScriptedChecks")
def disable_scripted_checks(self) -> Optional[pulumi.Input[bool]]:
@@ -290,6 +322,7 @@ class Probe(pulumi.CustomResource):
def __init__(__self__,
resource_name: str,
opts: Optional[pulumi.ResourceOptions] = None,
+ disable_browser_checks: Optional[pulumi.Input[bool]] = None,
disable_scripted_checks: Optional[pulumi.Input[bool]] = None,
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
latitude: Optional[pulumi.Input[float]] = None,
@@ -334,6 +367,7 @@ def __init__(__self__,
:param str resource_name: The name of the resource.
:param pulumi.ResourceOptions opts: Options for the resource.
+ :param pulumi.Input[bool] disable_browser_checks: Disables browser checks for this probe. Defaults to `false`.
:param pulumi.Input[bool] disable_scripted_checks: Disables scripted checks for this probe. Defaults to `false`.
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Custom labels to be included with collected metrics and logs.
:param pulumi.Input[float] latitude: Latitude coordinates.
@@ -397,6 +431,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs):
def _internal_init(__self__,
resource_name: str,
opts: Optional[pulumi.ResourceOptions] = None,
+ disable_browser_checks: Optional[pulumi.Input[bool]] = None,
disable_scripted_checks: Optional[pulumi.Input[bool]] = None,
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
latitude: Optional[pulumi.Input[float]] = None,
@@ -413,6 +448,7 @@ def _internal_init(__self__,
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
__props__ = ProbeArgs.__new__(ProbeArgs)
+ __props__.__dict__["disable_browser_checks"] = disable_browser_checks
__props__.__dict__["disable_scripted_checks"] = disable_scripted_checks
__props__.__dict__["labels"] = labels
if latitude is None and not opts.urn:
@@ -443,6 +479,7 @@ def get(resource_name: str,
id: pulumi.Input[str],
opts: Optional[pulumi.ResourceOptions] = None,
auth_token: Optional[pulumi.Input[str]] = None,
+ disable_browser_checks: Optional[pulumi.Input[bool]] = None,
disable_scripted_checks: Optional[pulumi.Input[bool]] = None,
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
latitude: Optional[pulumi.Input[float]] = None,
@@ -459,6 +496,7 @@ def get(resource_name: str,
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
:param pulumi.ResourceOptions opts: Options for the resource.
:param pulumi.Input[str] auth_token: The probe authentication token. Your probe must use this to authenticate with Grafana Cloud.
+ :param pulumi.Input[bool] disable_browser_checks: Disables browser checks for this probe. Defaults to `false`.
:param pulumi.Input[bool] disable_scripted_checks: Disables scripted checks for this probe. Defaults to `false`.
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Custom labels to be included with collected metrics and logs.
:param pulumi.Input[float] latitude: Latitude coordinates.
@@ -473,6 +511,7 @@ def get(resource_name: str,
__props__ = _ProbeState.__new__(_ProbeState)
__props__.__dict__["auth_token"] = auth_token
+ __props__.__dict__["disable_browser_checks"] = disable_browser_checks
__props__.__dict__["disable_scripted_checks"] = disable_scripted_checks
__props__.__dict__["labels"] = labels
__props__.__dict__["latitude"] = latitude
@@ -491,6 +530,14 @@ def auth_token(self) -> pulumi.Output[str]:
"""
return pulumi.get(self, "auth_token")
+ @property
+ @pulumi.getter(name="disableBrowserChecks")
+ def disable_browser_checks(self) -> pulumi.Output[Optional[bool]]:
+ """
+ Disables browser checks for this probe. Defaults to `false`.
+ """
+ return pulumi.get(self, "disable_browser_checks")
+
@property
@pulumi.getter(name="disableScriptedChecks")
def disable_scripted_checks(self) -> pulumi.Output[Optional[bool]]: