From 69c10c955344c490215d7d9f40ecbaf8f8db90fc Mon Sep 17 00:00:00 2001 From: aq17 Date: Tue, 8 Aug 2023 19:23:47 -0700 Subject: [PATCH 1/5] make tfgen --- .../cmd/pulumi-resource-sumologic/schema.json | 700 +++++++++++++++++- provider/go.mod | 62 +- provider/go.sum | 145 ++-- upstream | 2 +- 4 files changed, 770 insertions(+), 139 deletions(-) diff --git a/provider/cmd/pulumi-resource-sumologic/schema.json b/provider/cmd/pulumi-resource-sumologic/schema.json index 67b7623f..0f23432f 100644 --- a/provider/cmd/pulumi-resource-sumologic/schema.json +++ b/provider/cmd/pulumi-resource-sumologic/schema.json @@ -14,21 +14,22 @@ }, "language": { "csharp": { - "compatibility": "tfbridge20", + "packageReferences": { + "Pulumi": "3.*" + }, "namespaces": { "sumologic": "SumoLogic" }, - "packageReferences": { - "Pulumi": "3.*" - } + "compatibility": "tfbridge20" }, "go": { - "generateExtraInputTypes": true, + "importBasePath": "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic", "generateResourceContainerTypes": true, - "importBasePath": "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic" + "generateExtraInputTypes": true }, "nodejs": { - "compatibility": "tfbridge20", + "packageDescription": "A Pulumi package for creating and managing sumologic cloud resources.", + "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/SumoLogic/terraform-provider-sumologic)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-sumologic` repo](https://github.com/pulumi/pulumi-sumologic/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-sumologic` repo](https://github.com/SumoLogic/terraform-provider-sumologic/issues).", "dependencies": { "@pulumi/pulumi": "^3.0.0" }, @@ -36,18 +37,16 @@ "@types/mime": "^2.0.0", "@types/node": "^10.0.0" }, - "disableUnionOutputTypes": true, - "packageDescription": "A Pulumi package for creating and managing sumologic cloud resources.", - "packageName": "", - "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/SumoLogic/terraform-provider-sumologic)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-sumologic` repo](https://github.com/pulumi/pulumi-sumologic/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-sumologic` repo](https://github.com/SumoLogic/terraform-provider-sumologic/issues).", - "typescriptVersion": "" + "compatibility": "tfbridge20", + "disableUnionOutputTypes": true }, "python": { - "compatibility": "tfbridge20", - "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/SumoLogic/terraform-provider-sumologic)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-sumologic` repo](https://github.com/pulumi/pulumi-sumologic/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-sumologic` repo](https://github.com/SumoLogic/terraform-provider-sumologic/issues).", "requires": { "pulumi": "\u003e=3.0.0,\u003c4.0.0" - } + }, + "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/SumoLogic/terraform-provider-sumologic)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-sumologic` repo](https://github.com/pulumi/pulumi-sumologic/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-sumologic` repo](https://github.com/SumoLogic/terraform-provider-sumologic/issues).", + "compatibility": "tfbridge20", + "pyproject": {} } }, "config": { @@ -10565,7 +10564,8 @@ "sumologic:index/LogSearchQueryParameter:LogSearchQueryParameter": { "properties": { "dataType": { - "type": "string" + "type": "string", + "description": "The data type of the parameter. Supported values are:\n1. `NUMBER`\n2. `STRING`\n3. `ANY`\n4. `KEYWORD`\n" }, "description": { "type": "string", @@ -10577,7 +10577,7 @@ }, "value": { "type": "string", - "description": "Value of scheduled search parameter.\n" + "description": "The default value for the parameter. It should be compatible with the type set in the `data_type` field.\n" } }, "type": "object", @@ -10822,7 +10822,7 @@ }, "value": { "type": "string", - "description": "Value of scheduled search parameter.\n" + "description": "The default value for the parameter. It should be compatible with the type set in the `data_type` field.\n" } }, "type": "object", @@ -11319,6 +11319,202 @@ "type" ] }, + "sumologic:index/MetricsSearchMetricsQuery:MetricsSearchMetricsQuery": { + "properties": { + "query": { + "type": "string", + "description": "A metric query consists of a metric, one or more filters and optionally, one or more [Metrics Operators](https://help.sumologic.com/?cid=10144).\nStrictly speaking, both filters and operators are optional.\nMost of the [Metrics Operators](https://help.sumologic.com/?cid=10144) are allowed in the query string except `fillmissing`, `outlier`, `quantize` and `timeshift`.\nIn practice, your metric queries will almost always contain filters that narrow the scope of your query.\nFor more information about the query language see [Metrics Queries](https://help.sumologic.com/?cid=1079).\n" + }, + "rowId": { + "type": "string", + "description": "Row id for the query row, A to Z letter.\n" + } + }, + "type": "object", + "required": [ + "query", + "rowId" + ] + }, + "sumologic:index/MetricsSearchTimeRange:MetricsSearchTimeRange": { + "properties": { + "beginBoundedTimeRange": { + "$ref": "#/types/sumologic:index/MetricsSearchTimeRangeBeginBoundedTimeRange:MetricsSearchTimeRangeBeginBoundedTimeRange", + "description": "Bounded time range. See\nbegin_bounded_time_range schema schema for details.\n" + }, + "completeLiteralTimeRange": { + "$ref": "#/types/sumologic:index/MetricsSearchTimeRangeCompleteLiteralTimeRange:MetricsSearchTimeRangeCompleteLiteralTimeRange", + "description": "Literal time range. See\ncomplete_literal_time_range schema for details.\n" + } + }, + "type": "object" + }, + "sumologic:index/MetricsSearchTimeRangeBeginBoundedTimeRange:MetricsSearchTimeRangeBeginBoundedTimeRange": { + "properties": { + "from": { + "$ref": "#/types/sumologic:index/MetricsSearchTimeRangeBeginBoundedTimeRangeFrom:MetricsSearchTimeRangeBeginBoundedTimeRangeFrom", + "description": "Start boundary of bounded time range. See\ntime_range_boundary schema for details.\n" + }, + "to": { + "$ref": "#/types/sumologic:index/MetricsSearchTimeRangeBeginBoundedTimeRangeTo:MetricsSearchTimeRangeBeginBoundedTimeRangeTo", + "description": "End boundary of bounded time range. See\ntime_range_boundary schema for details.\n" + } + }, + "type": "object", + "required": [ + "from" + ] + }, + "sumologic:index/MetricsSearchTimeRangeBeginBoundedTimeRangeFrom:MetricsSearchTimeRangeBeginBoundedTimeRangeFrom": { + "properties": { + "epochTimeRange": { + "$ref": "#/types/sumologic:index/MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange:MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange", + "description": "Time since the epoch.\n" + }, + "iso8601TimeRange": { + "$ref": "#/types/sumologic:index/MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange:MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange", + "description": "Time in ISO 8601 format.\n" + }, + "literalTimeRange": { + "$ref": "#/types/sumologic:index/MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange:MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange", + "description": "Time in literal format.\n" + }, + "relativeTimeRange": { + "$ref": "#/types/sumologic:index/MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange:MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange", + "description": "Time in relative format.\n" + } + }, + "type": "object" + }, + "sumologic:index/MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange:MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange": { + "properties": { + "epochMillis": { + "type": "integer", + "description": "Time as a number of milliseconds since the epoch.\n" + } + }, + "type": "object", + "required": [ + "epochMillis" + ] + }, + "sumologic:index/MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange:MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange": { + "properties": { + "iso8601Time": { + "type": "string", + "description": "Time as a string in ISO 8601 format.\n" + } + }, + "type": "object", + "required": [ + "iso8601Time" + ] + }, + "sumologic:index/MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange:MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange": { + "properties": { + "rangeName": { + "type": "string", + "description": "Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and\n`previous_month`.\n" + } + }, + "type": "object", + "required": [ + "rangeName" + ] + }, + "sumologic:index/MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange:MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange": { + "properties": { + "relativeTime": { + "type": "string", + "description": "Relative time as a string consisting of following elements:\n1. `-` (optional): minus sign indicates time in the past,\n2. `\u003cnumber\u003e`: number of time units,\n3. `\u003ctime_unit\u003e`: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second).\n\nMultiple pairs of `\u003cnumber\u003e\u003ctime_unit\u003e` may be provided, and they may be in any order. For example,\n`-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago.\n" + } + }, + "type": "object", + "required": [ + "relativeTime" + ] + }, + "sumologic:index/MetricsSearchTimeRangeBeginBoundedTimeRangeTo:MetricsSearchTimeRangeBeginBoundedTimeRangeTo": { + "properties": { + "epochTimeRange": { + "$ref": "#/types/sumologic:index/MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange:MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange", + "description": "Time since the epoch.\n" + }, + "iso8601TimeRange": { + "$ref": "#/types/sumologic:index/MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange:MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange", + "description": "Time in ISO 8601 format.\n" + }, + "literalTimeRange": { + "$ref": "#/types/sumologic:index/MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange:MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange", + "description": "Time in literal format.\n" + }, + "relativeTimeRange": { + "$ref": "#/types/sumologic:index/MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange:MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange", + "description": "Time in relative format.\n" + } + }, + "type": "object" + }, + "sumologic:index/MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange:MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange": { + "properties": { + "epochMillis": { + "type": "integer", + "description": "Time as a number of milliseconds since the epoch.\n" + } + }, + "type": "object", + "required": [ + "epochMillis" + ] + }, + "sumologic:index/MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange:MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange": { + "properties": { + "iso8601Time": { + "type": "string", + "description": "Time as a string in ISO 8601 format.\n" + } + }, + "type": "object", + "required": [ + "iso8601Time" + ] + }, + "sumologic:index/MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange:MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange": { + "properties": { + "rangeName": { + "type": "string", + "description": "Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and\n`previous_month`.\n" + } + }, + "type": "object", + "required": [ + "rangeName" + ] + }, + "sumologic:index/MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange:MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange": { + "properties": { + "relativeTime": { + "type": "string", + "description": "Relative time as a string consisting of following elements:\n1. `-` (optional): minus sign indicates time in the past,\n2. `\u003cnumber\u003e`: number of time units,\n3. `\u003ctime_unit\u003e`: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second).\n\nMultiple pairs of `\u003cnumber\u003e\u003ctime_unit\u003e` may be provided, and they may be in any order. For example,\n`-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago.\n" + } + }, + "type": "object", + "required": [ + "relativeTime" + ] + }, + "sumologic:index/MetricsSearchTimeRangeCompleteLiteralTimeRange:MetricsSearchTimeRangeCompleteLiteralTimeRange": { + "properties": { + "rangeName": { + "type": "string", + "description": "Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and\n`previous_month`.\n" + } + }, + "type": "object", + "required": [ + "rangeName" + ] + }, "sumologic:index/MonitorFolderObjPermission:MonitorFolderObjPermission": { "properties": { "permissions": { @@ -12118,6 +12314,91 @@ }, "type": "object" }, + "sumologic:index/RumSourceDefaultDateFormat:RumSourceDefaultDateFormat": { + "properties": { + "format": { + "type": "string" + }, + "locator": { + "type": "string" + } + }, + "type": "object", + "required": [ + "format" + ] + }, + "sumologic:index/RumSourceFilter:RumSourceFilter": { + "properties": { + "filterType": { + "type": "string" + }, + "mask": { + "type": "string" + }, + "name": { + "type": "string" + }, + "regexp": { + "type": "string" + } + }, + "type": "object", + "required": [ + "filterType", + "name", + "regexp" + ] + }, + "sumologic:index/RumSourcePath:RumSourcePath": { + "properties": { + "applicationName": { + "type": "string", + "description": "(Recommended) Add an Application Name tag of a text string to show for the app name in spans (for example, bookings-app). This groups services in the Application Service View. If left blank, services will belong to a \"default\" application.\n" + }, + "customTags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Defines custom tags attached to the spans. For example: \"internal.version = 0.1.21\"\n" + }, + "deploymentEnvironment": { + "type": "string", + "description": "Your production, staging, or development environment name.\n" + }, + "ignoreUrls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Add a list of URLs not to collect trace data from. Supports regex. Make sure provided URLs are valid JavaScript flavor regexes. For example: \"/^https:\\/\\/www.tracker.com\\/.*/, /^https:\\/\\/api.mydomain.com\\/log\\/.*/\"\n" + }, + "propagateTraceHeaderCorsUrls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "(Recommended) Add a list of URLs or URL patterns that pass tracing context to construct traces end-to-end. Provided URLs should be valid JavaScript flavor regexes. Some examples are \"/^https:\\/\\/api.mydomain.com\\/apiv3\\/.*/\" and \"/^https:\\/\\/www.3rdparty.com\\/.*/\".\n" + }, + "samplingRate": { + "type": "number", + "description": "Add a Probabilistic sampling rate for heavy traffic sites in a decimal value based on percentage, for example, 10% would be entered as 0.1. Supports floating values between 0.0 and 1.0, defaults to 1.0 (all data is passed).\n" + }, + "selectedCountry": { + "type": "string", + "description": "Specify if you want to enrich spans with the details level up to the city - if left blank, enrichment works down to the state level.\n" + }, + "serviceName": { + "type": "string", + "description": "Add a Service Name of a text string to show for the service name in spans (for example, \"bookings-web-app\").\n" + } + }, + "type": "object", + "required": [ + "serviceName" + ] + }, "sumologic:index/S3ArchiveSourceAuthentication:S3ArchiveSourceAuthentication": { "properties": { "accessKey": { @@ -14864,7 +15145,7 @@ "deprecationMessage": "Use Collector.fields instead to assign an ingest bucket." }, "sumologic:index/connection:Connection": { - "description": "Provides the ability to create, read, delete, update connections.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sumologic from \"@pulumi/sumologic\";\n\nconst connection = new sumologic.Connection(\"connection\", {\n type: \"WebhookConnection\",\n description: \"My description\",\n url: \"https://connection-endpoint.com\",\n headers: {\n \"X-Header\": \"my-header\",\n },\n customHeaders: {\n \"X-custom\": \"my-custom-header\",\n },\n defaultPayload: `{\n \"client\" : \"Sumo Logic\",\n \"eventType\" : \"{{Name}}\",\n \"description\" : \"{{Description}}\",\n \"search_url\" : \"{{QueryUrl}}\",\n \"num_records\" : \"{{NumRawResults}}\",\n \"search_results\" : \"{{AggregateResultsJson}}\"\n}\n`,\n resolutionPayload: `{\n \"client\" : \"Sumo Logic\",\n \"eventType\" : \"{{Name}}\",\n \"description\" : \"{{Description}}\",\n \"search_url\" : \"{{QueryUrl}}\",\n}\n`,\n webhookType: \"Webhook\",\n});\n```\n```python\nimport pulumi\nimport pulumi_sumologic as sumologic\n\nconnection = sumologic.Connection(\"connection\",\n type=\"WebhookConnection\",\n description=\"My description\",\n url=\"https://connection-endpoint.com\",\n headers={\n \"X-Header\": \"my-header\",\n },\n custom_headers={\n \"X-custom\": \"my-custom-header\",\n },\n default_payload=\"\"\"{\n \"client\" : \"Sumo Logic\",\n \"eventType\" : \"{{Name}}\",\n \"description\" : \"{{Description}}\",\n \"search_url\" : \"{{QueryUrl}}\",\n \"num_records\" : \"{{NumRawResults}}\",\n \"search_results\" : \"{{AggregateResultsJson}}\"\n}\n\"\"\",\n resolution_payload=\"\"\"{\n \"client\" : \"Sumo Logic\",\n \"eventType\" : \"{{Name}}\",\n \"description\" : \"{{Description}}\",\n \"search_url\" : \"{{QueryUrl}}\",\n}\n\"\"\",\n webhook_type=\"Webhook\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing SumoLogic = Pulumi.SumoLogic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var connection = new SumoLogic.Connection(\"connection\", new()\n {\n Type = \"WebhookConnection\",\n Description = \"My description\",\n Url = \"https://connection-endpoint.com\",\n Headers = \n {\n { \"X-Header\", \"my-header\" },\n },\n CustomHeaders = \n {\n { \"X-custom\", \"my-custom-header\" },\n },\n DefaultPayload = @\"{\n \"\"client\"\" : \"\"Sumo Logic\"\",\n \"\"eventType\"\" : \"\"{{Name}}\"\",\n \"\"description\"\" : \"\"{{Description}}\"\",\n \"\"search_url\"\" : \"\"{{QueryUrl}}\"\",\n \"\"num_records\"\" : \"\"{{NumRawResults}}\"\",\n \"\"search_results\"\" : \"\"{{AggregateResultsJson}}\"\"\n}\n\",\n ResolutionPayload = @\"{\n \"\"client\"\" : \"\"Sumo Logic\"\",\n \"\"eventType\"\" : \"\"{{Name}}\"\",\n \"\"description\"\" : \"\"{{Description}}\"\",\n \"\"search_url\"\" : \"\"{{QueryUrl}}\"\",\n}\n\",\n WebhookType = \"Webhook\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-sumologic/sdk/go/sumologic\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sumologic.NewConnection(ctx, \"connection\", \u0026sumologic.ConnectionArgs{\n\t\t\tType: pulumi.String(\"WebhookConnection\"),\n\t\t\tDescription: pulumi.String(\"My description\"),\n\t\t\tUrl: pulumi.String(\"https://connection-endpoint.com\"),\n\t\t\tHeaders: pulumi.StringMap{\n\t\t\t\t\"X-Header\": pulumi.String(\"my-header\"),\n\t\t\t},\n\t\t\tCustomHeaders: pulumi.StringMap{\n\t\t\t\t\"X-custom\": pulumi.String(\"my-custom-header\"),\n\t\t\t},\n\t\t\tDefaultPayload: pulumi.String(\"{\\n \\\"client\\\" : \\\"Sumo Logic\\\",\\n \\\"eventType\\\" : \\\"{{Name}}\\\",\\n \\\"description\\\" : \\\"{{Description}}\\\",\\n \\\"search_url\\\" : \\\"{{QueryUrl}}\\\",\\n \\\"num_records\\\" : \\\"{{NumRawResults}}\\\",\\n \\\"search_results\\\" : \\\"{{AggregateResultsJson}}\\\"\\n}\\n\"),\n\t\t\tResolutionPayload: pulumi.String(\"{\\n \\\"client\\\" : \\\"Sumo Logic\\\",\\n \\\"eventType\\\" : \\\"{{Name}}\\\",\\n \\\"description\\\" : \\\"{{Description}}\\\",\\n \\\"search_url\\\" : \\\"{{QueryUrl}}\\\",\\n}\\n\"),\n\t\t\tWebhookType: pulumi.String(\"Webhook\"),\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.sumologic.Connection;\nimport com.pulumi.sumologic.ConnectionArgs;\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 var connection = new Connection(\"connection\", ConnectionArgs.builder() \n .type(\"WebhookConnection\")\n .description(\"My description\")\n .url(\"https://connection-endpoint.com\")\n .headers(Map.of(\"X-Header\", \"my-header\"))\n .customHeaders(Map.of(\"X-custom\", \"my-custom-header\"))\n .defaultPayload(\"\"\"\n{\n \"client\" : \"Sumo Logic\",\n \"eventType\" : \"{{Name}}\",\n \"description\" : \"{{Description}}\",\n \"search_url\" : \"{{QueryUrl}}\",\n \"num_records\" : \"{{NumRawResults}}\",\n \"search_results\" : \"{{AggregateResultsJson}}\"\n}\n \"\"\")\n .resolutionPayload(\"\"\"\n{\n \"client\" : \"Sumo Logic\",\n \"eventType\" : \"{{Name}}\",\n \"description\" : \"{{Description}}\",\n \"search_url\" : \"{{QueryUrl}}\",\n}\n \"\"\")\n .webhookType(\"Webhook\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n connection:\n type: sumologic:Connection\n properties:\n type: WebhookConnection\n description: My description\n url: https://connection-endpoint.com\n headers:\n X-Header: my-header\n customHeaders:\n X-custom: my-custom-header\n defaultPayload: |\n {\n \"client\" : \"Sumo Logic\",\n \"eventType\" : \"{{Name}}\",\n \"description\" : \"{{Description}}\",\n \"search_url\" : \"{{QueryUrl}}\",\n \"num_records\" : \"{{NumRawResults}}\",\n \"search_results\" : \"{{AggregateResultsJson}}\"\n }\n resolutionPayload: |\n {\n \"client\" : \"Sumo Logic\",\n \"eventType\" : \"{{Name}}\",\n \"description\" : \"{{Description}}\",\n \"search_url\" : \"{{QueryUrl}}\",\n }\n webhookType: Webhook\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nConnections can be imported using the connection id, e.g.hcl\n\n```sh\n $ pulumi import sumologic:index/connection:Connection test 1234567890\n```\n\n ", + "description": "Provides the ability to create, read, delete, update connections.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sumologic from \"@pulumi/sumologic\";\n\nconst connection = new sumologic.Connection(\"connection\", {\n type: \"WebhookConnection\",\n description: \"My description\",\n url: \"https://connection-endpoint.com\",\n headers: {\n \"X-Header\": \"my-header\",\n },\n customHeaders: {\n \"X-custom\": \"my-custom-header\",\n },\n defaultPayload: `{\n \"client\" : \"Sumo Logic\",\n \"eventType\" : \"{{Name}}\",\n \"description\" : \"{{Description}}\",\n \"search_url\" : \"{{QueryUrl}}\",\n \"num_records\" : \"{{NumRawResults}}\",\n \"search_results\" : \"{{AggregateResultsJson}}\"\n}\n`,\n resolutionPayload: `{\n \"client\" : \"Sumo Logic\",\n \"eventType\" : \"{{Name}}\",\n \"description\" : \"{{Description}}\",\n \"search_url\" : \"{{QueryUrl}}\",\n}\n`,\n webhookType: \"Webhook\",\n});\n```\n```python\nimport pulumi\nimport pulumi_sumologic as sumologic\n\nconnection = sumologic.Connection(\"connection\",\n type=\"WebhookConnection\",\n description=\"My description\",\n url=\"https://connection-endpoint.com\",\n headers={\n \"X-Header\": \"my-header\",\n },\n custom_headers={\n \"X-custom\": \"my-custom-header\",\n },\n default_payload=\"\"\"{\n \"client\" : \"Sumo Logic\",\n \"eventType\" : \"{{Name}}\",\n \"description\" : \"{{Description}}\",\n \"search_url\" : \"{{QueryUrl}}\",\n \"num_records\" : \"{{NumRawResults}}\",\n \"search_results\" : \"{{AggregateResultsJson}}\"\n}\n\"\"\",\n resolution_payload=\"\"\"{\n \"client\" : \"Sumo Logic\",\n \"eventType\" : \"{{Name}}\",\n \"description\" : \"{{Description}}\",\n \"search_url\" : \"{{QueryUrl}}\",\n}\n\"\"\",\n webhook_type=\"Webhook\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing SumoLogic = Pulumi.SumoLogic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var connection = new SumoLogic.Connection(\"connection\", new()\n {\n Type = \"WebhookConnection\",\n Description = \"My description\",\n Url = \"https://connection-endpoint.com\",\n Headers = \n {\n { \"X-Header\", \"my-header\" },\n },\n CustomHeaders = \n {\n { \"X-custom\", \"my-custom-header\" },\n },\n DefaultPayload = @\"{\n \"\"client\"\" : \"\"Sumo Logic\"\",\n \"\"eventType\"\" : \"\"{{Name}}\"\",\n \"\"description\"\" : \"\"{{Description}}\"\",\n \"\"search_url\"\" : \"\"{{QueryUrl}}\"\",\n \"\"num_records\"\" : \"\"{{NumRawResults}}\"\",\n \"\"search_results\"\" : \"\"{{AggregateResultsJson}}\"\"\n}\n\",\n ResolutionPayload = @\"{\n \"\"client\"\" : \"\"Sumo Logic\"\",\n \"\"eventType\"\" : \"\"{{Name}}\"\",\n \"\"description\"\" : \"\"{{Description}}\"\",\n \"\"search_url\"\" : \"\"{{QueryUrl}}\"\",\n}\n\",\n WebhookType = \"Webhook\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-sumologic/sdk/go/sumologic\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sumologic.NewConnection(ctx, \"connection\", \u0026sumologic.ConnectionArgs{\n\t\t\tType: pulumi.String(\"WebhookConnection\"),\n\t\t\tDescription: pulumi.String(\"My description\"),\n\t\t\tUrl: pulumi.String(\"https://connection-endpoint.com\"),\n\t\t\tHeaders: pulumi.StringMap{\n\t\t\t\t\"X-Header\": pulumi.String(\"my-header\"),\n\t\t\t},\n\t\t\tCustomHeaders: pulumi.StringMap{\n\t\t\t\t\"X-custom\": pulumi.String(\"my-custom-header\"),\n\t\t\t},\n\t\t\tDefaultPayload: pulumi.String(`{\n \"client\" : \"Sumo Logic\",\n \"eventType\" : \"{{Name}}\",\n \"description\" : \"{{Description}}\",\n \"search_url\" : \"{{QueryUrl}}\",\n \"num_records\" : \"{{NumRawResults}}\",\n \"search_results\" : \"{{AggregateResultsJson}}\"\n}\n`),\n\t\t\tResolutionPayload: pulumi.String(`{\n \"client\" : \"Sumo Logic\",\n \"eventType\" : \"{{Name}}\",\n \"description\" : \"{{Description}}\",\n \"search_url\" : \"{{QueryUrl}}\",\n}\n`),\n\t\t\tWebhookType: pulumi.String(\"Webhook\"),\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.sumologic.Connection;\nimport com.pulumi.sumologic.ConnectionArgs;\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 var connection = new Connection(\"connection\", ConnectionArgs.builder() \n .type(\"WebhookConnection\")\n .description(\"My description\")\n .url(\"https://connection-endpoint.com\")\n .headers(Map.of(\"X-Header\", \"my-header\"))\n .customHeaders(Map.of(\"X-custom\", \"my-custom-header\"))\n .defaultPayload(\"\"\"\n{\n \"client\" : \"Sumo Logic\",\n \"eventType\" : \"{{Name}}\",\n \"description\" : \"{{Description}}\",\n \"search_url\" : \"{{QueryUrl}}\",\n \"num_records\" : \"{{NumRawResults}}\",\n \"search_results\" : \"{{AggregateResultsJson}}\"\n}\n \"\"\")\n .resolutionPayload(\"\"\"\n{\n \"client\" : \"Sumo Logic\",\n \"eventType\" : \"{{Name}}\",\n \"description\" : \"{{Description}}\",\n \"search_url\" : \"{{QueryUrl}}\",\n}\n \"\"\")\n .webhookType(\"Webhook\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n connection:\n type: sumologic:Connection\n properties:\n type: WebhookConnection\n description: My description\n url: https://connection-endpoint.com\n headers:\n X-Header: my-header\n customHeaders:\n X-custom: my-custom-header\n defaultPayload: |\n {\n \"client\" : \"Sumo Logic\",\n \"eventType\" : \"{{Name}}\",\n \"description\" : \"{{Description}}\",\n \"search_url\" : \"{{QueryUrl}}\",\n \"num_records\" : \"{{NumRawResults}}\",\n \"search_results\" : \"{{AggregateResultsJson}}\"\n }\n resolutionPayload: |\n {\n \"client\" : \"Sumo Logic\",\n \"eventType\" : \"{{Name}}\",\n \"description\" : \"{{Description}}\",\n \"search_url\" : \"{{QueryUrl}}\",\n }\n webhookType: Webhook\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nConnections can be imported using the connection id, e.g.hcl\n\n```sh\n $ pulumi import sumologic:index/connection:Connection test 1234567890\n```\n\n ", "properties": { "connectionSubtype": { "type": "string", @@ -17031,8 +17312,7 @@ "type": "array", "items": { "$ref": "#/types/sumologic:index/CseMatchListItem:CseMatchListItem" - }, - "description": "List of match list items. See match_list_item schema for details.\n" + } }, "lastUpdated": { "type": "string" @@ -17071,8 +17351,7 @@ "type": "array", "items": { "$ref": "#/types/sumologic:index/CseMatchListItem:CseMatchListItem" - }, - "description": "List of match list items. See match_list_item schema for details.\n" + } }, "name": { "type": "string", @@ -17108,8 +17387,7 @@ "type": "array", "items": { "$ref": "#/types/sumologic:index/CseMatchListItem:CseMatchListItem" - }, - "description": "List of match list items. See match_list_item schema for details.\n" + } }, "lastUpdated": { "type": "string" @@ -17985,7 +18263,7 @@ } }, "sumologic:index/dashboard:Dashboard": { - "description": "Provides a [Sumologic Dashboard (New)][1].\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sumologic from \"@pulumi/sumologic\";\n\nconst personalFolder = sumologic.getPersonalFolder({});\nconst api_dashboard = new sumologic.Dashboard(\"api-dashboard\", {\n title: \"Api Health Dashboard\",\n description: \"Demo dashboard description\",\n folderId: personalFolder.then(personalFolder =\u003e personalFolder.id),\n refreshInterval: 120,\n theme: \"Dark\",\n timeRange: {\n beginBoundedTimeRange: {\n from: {\n literalTimeRange: {\n rangeName: \"today\",\n },\n },\n },\n },\n topologyLabelMap: {\n datas: [\n {\n label: \"cluster\",\n values: [\"api-prod\"],\n },\n {\n label: \"namespace\",\n values: [\"default\"],\n },\n ],\n },\n domain: \"app\",\n panels: [\n {\n textPanel: {\n key: \"text-panel-01\",\n title: \"Api Health\",\n visualSettings: JSON.stringify({\n text: {\n verticalAlignment: \"top\",\n horizontalAlignment: \"left\",\n fontSize: 12,\n },\n }),\n keepVisualSettingsConsistentWithParent: true,\n text: `## Api Health Monitoring\n\nUse this dashboard to monitor API service health. It contains following panels:\n\n1. API errors: Errors in last 12 hours\n3. API 5xx: Count of 5xx response\n3. CPU utilization: CPU utilization in last 60 mins\n`,\n },\n },\n {\n sumoSearchPanel: {\n key: \"search-panel-01\",\n title: \"Api Errors by Host\",\n description: \"Errors in api service since last 12 hours\",\n visualSettings: JSON.stringify({\n general: {\n mode: \"timeSeries\",\n type: \"area\",\n displayType: \"stacked\",\n markerSize: 5,\n lineDashType: \"solid\",\n markerType: \"square\",\n lineThickness: 1,\n },\n title: {\n fontSize: 14,\n },\n legend: {\n enabled: true,\n verticalAlign: \"bottom\",\n fontSize: 12,\n maxHeight: 50,\n showAsTable: false,\n wrap: true,\n },\n }),\n keepVisualSettingsConsistentWithParent: true,\n queries: [{\n queryString: \"_sourceCategory=api error | timeslice 1h | count by _timeslice, _sourceHost | transpose row _timeslice column _sourceHost\",\n queryType: \"Logs\",\n queryKey: \"A\",\n }],\n timeRange: {\n beginBoundedTimeRange: {\n from: {\n relativeTimeRange: {\n relativeTime: \"-12h\",\n },\n },\n },\n },\n },\n },\n {\n sumoSearchPanel: {\n key: \"metrics-panel-01\",\n title: \"Api 5xx Response Count\",\n description: \"Count of 5xx response from api service\",\n visualSettings: JSON.stringify({\n general: {\n mode: \"distribution\",\n type: \"pie\",\n displayType: \"default\",\n fillOpacity: 1,\n startAngle: 270,\n innerRadius: \"40%\",\n maxNumOfSlices: 10,\n aggregationType: \"sum\",\n },\n title: {\n fontSize: 14,\n },\n }),\n keepVisualSettingsConsistentWithParent: true,\n queries: [{\n queryString: \"_sourceCategory=api metric=Api-5xx\",\n queryType: \"Metrics\",\n queryKey: \"A\",\n metricsQueryMode: \"Advanced\",\n }],\n timeRange: {\n beginBoundedTimeRange: {\n from: {\n literalTimeRange: {\n rangeName: \"today\",\n },\n },\n },\n },\n },\n },\n {\n sumoSearchPanel: {\n key: \"metrics-panel-02\",\n title: \"CPU Utilization\",\n description: \"CPU utilization in api service\",\n visualSettings: JSON.stringify({\n general: {\n mode: \"timeSeries\",\n type: \"line\",\n displayType: \"smooth\",\n markerSize: 5,\n lineDashType: \"dashDot\",\n markerType: \"none\",\n lineThickness: 1,\n },\n title: {\n fontSize: 14,\n },\n }),\n keepVisualSettingsConsistentWithParent: true,\n queries: [\n {\n queryString: \"metric=Proc_CPU nite-api-1\",\n queryType: \"Metrics\",\n queryKey: \"A\",\n metricsQueryMode: \"Basic\",\n metricsQueryData: {\n metric: \"Proc_CPU\",\n filters: [{\n key: \"_sourcehost\",\n negation: false,\n value: \"nite-api-1\",\n }],\n aggregationType: \"None\",\n },\n },\n {\n queryString: \"metric=Proc_CPU nite-api-2\",\n queryType: \"Metrics\",\n queryKey: \"B\",\n metricsQueryMode: \"Basic\",\n metricsQueryData: {\n metric: \"Proc_CPU\",\n filters: [{\n key: \"_sourcehost\",\n negation: false,\n value: \"nite-api-2\",\n }],\n aggregationType: \"None\",\n },\n },\n ],\n timeRange: {\n beginBoundedTimeRange: {\n from: {\n relativeTimeRange: {\n relativeTime: \"-1h\",\n },\n },\n },\n },\n },\n },\n ],\n layout: {\n grid: {\n layoutStructures: [\n {\n key: \"text-panel-01\",\n structure: \"{\\\"height\\\":5,\\\"width\\\":24,\\\"x\\\":0,\\\"y\\\":0}\",\n },\n {\n key: \"search-panel-01\",\n structure: \"{\\\"height\\\":10,\\\"width\\\":12,\\\"x\\\":0,\\\"y\\\":5}\",\n },\n {\n key: \"metrics-panel-01\",\n structure: \"{\\\"height\\\":10,\\\"width\\\":12,\\\"x\\\":12,\\\"y\\\":5}\",\n },\n {\n key: \"metrics-panel-02\",\n structure: \"{\\\"height\\\":10,\\\"width\\\":24,\\\"x\\\":0,\\\"y\\\":25}\",\n },\n ],\n },\n },\n variables: [{\n name: \"_sourceHost\",\n displayName: \"Source Host\",\n defaultValue: \"nite-api-1\",\n sourceDefinition: {\n csvVariableSourceDefinition: {\n values: \"nite-api-1,nite-api-2\",\n },\n },\n allowMultiSelect: true,\n includeAllOption: true,\n hideFromUi: false,\n }],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_sumologic as sumologic\n\npersonal_folder = sumologic.get_personal_folder()\napi_dashboard = sumologic.Dashboard(\"api-dashboard\",\n title=\"Api Health Dashboard\",\n description=\"Demo dashboard description\",\n folder_id=personal_folder.id,\n refresh_interval=120,\n theme=\"Dark\",\n time_range=sumologic.DashboardTimeRangeArgs(\n begin_bounded_time_range=sumologic.DashboardTimeRangeBeginBoundedTimeRangeArgs(\n from_=sumologic.DashboardTimeRangeBeginBoundedTimeRangeFromArgs(\n literal_time_range=sumologic.DashboardTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs(\n range_name=\"today\",\n ),\n ),\n ),\n ),\n topology_label_map=sumologic.DashboardTopologyLabelMapArgs(\n datas=[\n sumologic.DashboardTopologyLabelMapDataArgs(\n label=\"cluster\",\n values=[\"api-prod\"],\n ),\n sumologic.DashboardTopologyLabelMapDataArgs(\n label=\"namespace\",\n values=[\"default\"],\n ),\n ],\n ),\n domain=\"app\",\n panels=[\n sumologic.DashboardPanelArgs(\n text_panel=sumologic.DashboardPanelTextPanelArgs(\n key=\"text-panel-01\",\n title=\"Api Health\",\n visual_settings=json.dumps({\n \"text\": {\n \"verticalAlignment\": \"top\",\n \"horizontalAlignment\": \"left\",\n \"fontSize\": 12,\n },\n }),\n keep_visual_settings_consistent_with_parent=True,\n text=\"\"\"## Api Health Monitoring\n\nUse this dashboard to monitor API service health. It contains following panels:\n\n1. API errors: Errors in last 12 hours\n3. API 5xx: Count of 5xx response\n3. CPU utilization: CPU utilization in last 60 mins\n\"\"\",\n ),\n ),\n sumologic.DashboardPanelArgs(\n sumo_search_panel=sumologic.DashboardPanelSumoSearchPanelArgs(\n key=\"search-panel-01\",\n title=\"Api Errors by Host\",\n description=\"Errors in api service since last 12 hours\",\n visual_settings=json.dumps({\n \"general\": {\n \"mode\": \"timeSeries\",\n \"type\": \"area\",\n \"displayType\": \"stacked\",\n \"markerSize\": 5,\n \"lineDashType\": \"solid\",\n \"markerType\": \"square\",\n \"lineThickness\": 1,\n },\n \"title\": {\n \"fontSize\": 14,\n },\n \"legend\": {\n \"enabled\": True,\n \"verticalAlign\": \"bottom\",\n \"fontSize\": 12,\n \"maxHeight\": 50,\n \"showAsTable\": False,\n \"wrap\": True,\n },\n }),\n keep_visual_settings_consistent_with_parent=True,\n queries=[sumologic.DashboardPanelSumoSearchPanelQueryArgs(\n query_string=\"_sourceCategory=api error | timeslice 1h | count by _timeslice, _sourceHost | transpose row _timeslice column _sourceHost\",\n query_type=\"Logs\",\n query_key=\"A\",\n )],\n time_range=sumologic.DashboardPanelSumoSearchPanelTimeRangeArgs(\n begin_bounded_time_range=sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs(\n from_=sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs(\n relative_time_range=sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs(\n relative_time=\"-12h\",\n ),\n ),\n ),\n ),\n ),\n ),\n sumologic.DashboardPanelArgs(\n sumo_search_panel=sumologic.DashboardPanelSumoSearchPanelArgs(\n key=\"metrics-panel-01\",\n title=\"Api 5xx Response Count\",\n description=\"Count of 5xx response from api service\",\n visual_settings=json.dumps({\n \"general\": {\n \"mode\": \"distribution\",\n \"type\": \"pie\",\n \"displayType\": \"default\",\n \"fillOpacity\": 1,\n \"startAngle\": 270,\n \"innerRadius\": \"40%\",\n \"maxNumOfSlices\": 10,\n \"aggregationType\": \"sum\",\n },\n \"title\": {\n \"fontSize\": 14,\n },\n }),\n keep_visual_settings_consistent_with_parent=True,\n queries=[sumologic.DashboardPanelSumoSearchPanelQueryArgs(\n query_string=\"_sourceCategory=api metric=Api-5xx\",\n query_type=\"Metrics\",\n query_key=\"A\",\n metrics_query_mode=\"Advanced\",\n )],\n time_range=sumologic.DashboardPanelSumoSearchPanelTimeRangeArgs(\n begin_bounded_time_range=sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs(\n from_=sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs(\n literal_time_range=sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs(\n range_name=\"today\",\n ),\n ),\n ),\n ),\n ),\n ),\n sumologic.DashboardPanelArgs(\n sumo_search_panel=sumologic.DashboardPanelSumoSearchPanelArgs(\n key=\"metrics-panel-02\",\n title=\"CPU Utilization\",\n description=\"CPU utilization in api service\",\n visual_settings=json.dumps({\n \"general\": {\n \"mode\": \"timeSeries\",\n \"type\": \"line\",\n \"displayType\": \"smooth\",\n \"markerSize\": 5,\n \"lineDashType\": \"dashDot\",\n \"markerType\": \"none\",\n \"lineThickness\": 1,\n },\n \"title\": {\n \"fontSize\": 14,\n },\n }),\n keep_visual_settings_consistent_with_parent=True,\n queries=[\n sumologic.DashboardPanelSumoSearchPanelQueryArgs(\n query_string=\"metric=Proc_CPU nite-api-1\",\n query_type=\"Metrics\",\n query_key=\"A\",\n metrics_query_mode=\"Basic\",\n metrics_query_data=sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataArgs(\n metric=\"Proc_CPU\",\n filters=[sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArgs(\n key=\"_sourcehost\",\n negation=False,\n value=\"nite-api-1\",\n )],\n aggregation_type=\"None\",\n ),\n ),\n sumologic.DashboardPanelSumoSearchPanelQueryArgs(\n query_string=\"metric=Proc_CPU nite-api-2\",\n query_type=\"Metrics\",\n query_key=\"B\",\n metrics_query_mode=\"Basic\",\n metrics_query_data=sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataArgs(\n metric=\"Proc_CPU\",\n filters=[sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArgs(\n key=\"_sourcehost\",\n negation=False,\n value=\"nite-api-2\",\n )],\n aggregation_type=\"None\",\n ),\n ),\n ],\n time_range=sumologic.DashboardPanelSumoSearchPanelTimeRangeArgs(\n begin_bounded_time_range=sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs(\n from_=sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs(\n relative_time_range=sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs(\n relative_time=\"-1h\",\n ),\n ),\n ),\n ),\n ),\n ),\n ],\n layout=sumologic.DashboardLayoutArgs(\n grid=sumologic.DashboardLayoutGridArgs(\n layout_structures=[\n sumologic.DashboardLayoutGridLayoutStructureArgs(\n key=\"text-panel-01\",\n structure=\"{\\\"height\\\":5,\\\"width\\\":24,\\\"x\\\":0,\\\"y\\\":0}\",\n ),\n sumologic.DashboardLayoutGridLayoutStructureArgs(\n key=\"search-panel-01\",\n structure=\"{\\\"height\\\":10,\\\"width\\\":12,\\\"x\\\":0,\\\"y\\\":5}\",\n ),\n sumologic.DashboardLayoutGridLayoutStructureArgs(\n key=\"metrics-panel-01\",\n structure=\"{\\\"height\\\":10,\\\"width\\\":12,\\\"x\\\":12,\\\"y\\\":5}\",\n ),\n sumologic.DashboardLayoutGridLayoutStructureArgs(\n key=\"metrics-panel-02\",\n structure=\"{\\\"height\\\":10,\\\"width\\\":24,\\\"x\\\":0,\\\"y\\\":25}\",\n ),\n ],\n ),\n ),\n variables=[sumologic.DashboardVariableArgs(\n name=\"_sourceHost\",\n display_name=\"Source Host\",\n default_value=\"nite-api-1\",\n source_definition=sumologic.DashboardVariableSourceDefinitionArgs(\n csv_variable_source_definition=sumologic.DashboardVariableSourceDefinitionCsvVariableSourceDefinitionArgs(\n values=\"nite-api-1,nite-api-2\",\n ),\n ),\n allow_multi_select=True,\n include_all_option=True,\n hide_from_ui=False,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing SumoLogic = Pulumi.SumoLogic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var personalFolder = SumoLogic.GetPersonalFolder.Invoke();\n\n var api_dashboard = new SumoLogic.Dashboard(\"api-dashboard\", new()\n {\n Title = \"Api Health Dashboard\",\n Description = \"Demo dashboard description\",\n FolderId = personalFolder.Apply(getPersonalFolderResult =\u003e getPersonalFolderResult.Id),\n RefreshInterval = 120,\n Theme = \"Dark\",\n TimeRange = new SumoLogic.Inputs.DashboardTimeRangeArgs\n {\n BeginBoundedTimeRange = new SumoLogic.Inputs.DashboardTimeRangeBeginBoundedTimeRangeArgs\n {\n From = new SumoLogic.Inputs.DashboardTimeRangeBeginBoundedTimeRangeFromArgs\n {\n LiteralTimeRange = new SumoLogic.Inputs.DashboardTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs\n {\n RangeName = \"today\",\n },\n },\n },\n },\n TopologyLabelMap = new SumoLogic.Inputs.DashboardTopologyLabelMapArgs\n {\n Datas = new[]\n {\n new SumoLogic.Inputs.DashboardTopologyLabelMapDataArgs\n {\n Label = \"cluster\",\n Values = new[]\n {\n \"api-prod\",\n },\n },\n new SumoLogic.Inputs.DashboardTopologyLabelMapDataArgs\n {\n Label = \"namespace\",\n Values = new[]\n {\n \"default\",\n },\n },\n },\n },\n Domain = \"app\",\n Panels = new[]\n {\n new SumoLogic.Inputs.DashboardPanelArgs\n {\n TextPanel = new SumoLogic.Inputs.DashboardPanelTextPanelArgs\n {\n Key = \"text-panel-01\",\n Title = \"Api Health\",\n VisualSettings = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"text\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"verticalAlignment\"] = \"top\",\n [\"horizontalAlignment\"] = \"left\",\n [\"fontSize\"] = 12,\n },\n }),\n KeepVisualSettingsConsistentWithParent = true,\n Text = @\"## Api Health Monitoring\n\nUse this dashboard to monitor API service health. It contains following panels:\n\n1. API errors: Errors in last 12 hours\n3. API 5xx: Count of 5xx response\n3. CPU utilization: CPU utilization in last 60 mins\n\",\n },\n },\n new SumoLogic.Inputs.DashboardPanelArgs\n {\n SumoSearchPanel = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelArgs\n {\n Key = \"search-panel-01\",\n Title = \"Api Errors by Host\",\n Description = \"Errors in api service since last 12 hours\",\n VisualSettings = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"general\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"mode\"] = \"timeSeries\",\n [\"type\"] = \"area\",\n [\"displayType\"] = \"stacked\",\n [\"markerSize\"] = 5,\n [\"lineDashType\"] = \"solid\",\n [\"markerType\"] = \"square\",\n [\"lineThickness\"] = 1,\n },\n [\"title\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"fontSize\"] = 14,\n },\n [\"legend\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"enabled\"] = true,\n [\"verticalAlign\"] = \"bottom\",\n [\"fontSize\"] = 12,\n [\"maxHeight\"] = 50,\n [\"showAsTable\"] = false,\n [\"wrap\"] = true,\n },\n }),\n KeepVisualSettingsConsistentWithParent = true,\n Queries = new[]\n {\n new SumoLogic.Inputs.DashboardPanelSumoSearchPanelQueryArgs\n {\n QueryString = \"_sourceCategory=api error | timeslice 1h | count by _timeslice, _sourceHost | transpose row _timeslice column _sourceHost\",\n QueryType = \"Logs\",\n QueryKey = \"A\",\n },\n },\n TimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeArgs\n {\n BeginBoundedTimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs\n {\n From = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs\n {\n RelativeTimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs\n {\n RelativeTime = \"-12h\",\n },\n },\n },\n },\n },\n },\n new SumoLogic.Inputs.DashboardPanelArgs\n {\n SumoSearchPanel = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelArgs\n {\n Key = \"metrics-panel-01\",\n Title = \"Api 5xx Response Count\",\n Description = \"Count of 5xx response from api service\",\n VisualSettings = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"general\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"mode\"] = \"distribution\",\n [\"type\"] = \"pie\",\n [\"displayType\"] = \"default\",\n [\"fillOpacity\"] = 1,\n [\"startAngle\"] = 270,\n [\"innerRadius\"] = \"40%\",\n [\"maxNumOfSlices\"] = 10,\n [\"aggregationType\"] = \"sum\",\n },\n [\"title\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"fontSize\"] = 14,\n },\n }),\n KeepVisualSettingsConsistentWithParent = true,\n Queries = new[]\n {\n new SumoLogic.Inputs.DashboardPanelSumoSearchPanelQueryArgs\n {\n QueryString = \"_sourceCategory=api metric=Api-5xx\",\n QueryType = \"Metrics\",\n QueryKey = \"A\",\n MetricsQueryMode = \"Advanced\",\n },\n },\n TimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeArgs\n {\n BeginBoundedTimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs\n {\n From = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs\n {\n LiteralTimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs\n {\n RangeName = \"today\",\n },\n },\n },\n },\n },\n },\n new SumoLogic.Inputs.DashboardPanelArgs\n {\n SumoSearchPanel = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelArgs\n {\n Key = \"metrics-panel-02\",\n Title = \"CPU Utilization\",\n Description = \"CPU utilization in api service\",\n VisualSettings = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"general\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"mode\"] = \"timeSeries\",\n [\"type\"] = \"line\",\n [\"displayType\"] = \"smooth\",\n [\"markerSize\"] = 5,\n [\"lineDashType\"] = \"dashDot\",\n [\"markerType\"] = \"none\",\n [\"lineThickness\"] = 1,\n },\n [\"title\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"fontSize\"] = 14,\n },\n }),\n KeepVisualSettingsConsistentWithParent = true,\n Queries = new[]\n {\n new SumoLogic.Inputs.DashboardPanelSumoSearchPanelQueryArgs\n {\n QueryString = \"metric=Proc_CPU nite-api-1\",\n QueryType = \"Metrics\",\n QueryKey = \"A\",\n MetricsQueryMode = \"Basic\",\n MetricsQueryData = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelQueryMetricsQueryDataArgs\n {\n Metric = \"Proc_CPU\",\n Filters = new[]\n {\n new SumoLogic.Inputs.DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArgs\n {\n Key = \"_sourcehost\",\n Negation = false,\n Value = \"nite-api-1\",\n },\n },\n AggregationType = \"None\",\n },\n },\n new SumoLogic.Inputs.DashboardPanelSumoSearchPanelQueryArgs\n {\n QueryString = \"metric=Proc_CPU nite-api-2\",\n QueryType = \"Metrics\",\n QueryKey = \"B\",\n MetricsQueryMode = \"Basic\",\n MetricsQueryData = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelQueryMetricsQueryDataArgs\n {\n Metric = \"Proc_CPU\",\n Filters = new[]\n {\n new SumoLogic.Inputs.DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArgs\n {\n Key = \"_sourcehost\",\n Negation = false,\n Value = \"nite-api-2\",\n },\n },\n AggregationType = \"None\",\n },\n },\n },\n TimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeArgs\n {\n BeginBoundedTimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs\n {\n From = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs\n {\n RelativeTimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs\n {\n RelativeTime = \"-1h\",\n },\n },\n },\n },\n },\n },\n },\n Layout = new SumoLogic.Inputs.DashboardLayoutArgs\n {\n Grid = new SumoLogic.Inputs.DashboardLayoutGridArgs\n {\n LayoutStructures = new[]\n {\n new SumoLogic.Inputs.DashboardLayoutGridLayoutStructureArgs\n {\n Key = \"text-panel-01\",\n Structure = \"{\\\"height\\\":5,\\\"width\\\":24,\\\"x\\\":0,\\\"y\\\":0}\",\n },\n new SumoLogic.Inputs.DashboardLayoutGridLayoutStructureArgs\n {\n Key = \"search-panel-01\",\n Structure = \"{\\\"height\\\":10,\\\"width\\\":12,\\\"x\\\":0,\\\"y\\\":5}\",\n },\n new SumoLogic.Inputs.DashboardLayoutGridLayoutStructureArgs\n {\n Key = \"metrics-panel-01\",\n Structure = \"{\\\"height\\\":10,\\\"width\\\":12,\\\"x\\\":12,\\\"y\\\":5}\",\n },\n new SumoLogic.Inputs.DashboardLayoutGridLayoutStructureArgs\n {\n Key = \"metrics-panel-02\",\n Structure = \"{\\\"height\\\":10,\\\"width\\\":24,\\\"x\\\":0,\\\"y\\\":25}\",\n },\n },\n },\n },\n Variables = new[]\n {\n new SumoLogic.Inputs.DashboardVariableArgs\n {\n Name = \"_sourceHost\",\n DisplayName = \"Source Host\",\n DefaultValue = \"nite-api-1\",\n SourceDefinition = new SumoLogic.Inputs.DashboardVariableSourceDefinitionArgs\n {\n CsvVariableSourceDefinition = new SumoLogic.Inputs.DashboardVariableSourceDefinitionCsvVariableSourceDefinitionArgs\n {\n Values = \"nite-api-1,nite-api-2\",\n },\n },\n AllowMultiSelect = true,\n IncludeAllOption = true,\n HideFromUi = false,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-sumologic/sdk/go/sumologic\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpersonalFolder, err := sumologic.GetPersonalFolder(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"text\": map[string]interface{}{\n\t\t\t\t\"verticalAlignment\": \"top\",\n\t\t\t\t\"horizontalAlignment\": \"left\",\n\t\t\t\t\"fontSize\": 12,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"general\": map[string]interface{}{\n\t\t\t\t\"mode\": \"timeSeries\",\n\t\t\t\t\"type\": \"area\",\n\t\t\t\t\"displayType\": \"stacked\",\n\t\t\t\t\"markerSize\": 5,\n\t\t\t\t\"lineDashType\": \"solid\",\n\t\t\t\t\"markerType\": \"square\",\n\t\t\t\t\"lineThickness\": 1,\n\t\t\t},\n\t\t\t\"title\": map[string]interface{}{\n\t\t\t\t\"fontSize\": 14,\n\t\t\t},\n\t\t\t\"legend\": map[string]interface{}{\n\t\t\t\t\"enabled\": true,\n\t\t\t\t\"verticalAlign\": \"bottom\",\n\t\t\t\t\"fontSize\": 12,\n\t\t\t\t\"maxHeight\": 50,\n\t\t\t\t\"showAsTable\": false,\n\t\t\t\t\"wrap\": true,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\ttmpJSON2, err := json.Marshal(map[string]interface{}{\n\t\t\t\"general\": map[string]interface{}{\n\t\t\t\t\"mode\": \"distribution\",\n\t\t\t\t\"type\": \"pie\",\n\t\t\t\t\"displayType\": \"default\",\n\t\t\t\t\"fillOpacity\": 1,\n\t\t\t\t\"startAngle\": 270,\n\t\t\t\t\"innerRadius\": \"40%\",\n\t\t\t\t\"maxNumOfSlices\": 10,\n\t\t\t\t\"aggregationType\": \"sum\",\n\t\t\t},\n\t\t\t\"title\": map[string]interface{}{\n\t\t\t\t\"fontSize\": 14,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson2 := string(tmpJSON2)\n\t\ttmpJSON3, err := json.Marshal(map[string]interface{}{\n\t\t\t\"general\": map[string]interface{}{\n\t\t\t\t\"mode\": \"timeSeries\",\n\t\t\t\t\"type\": \"line\",\n\t\t\t\t\"displayType\": \"smooth\",\n\t\t\t\t\"markerSize\": 5,\n\t\t\t\t\"lineDashType\": \"dashDot\",\n\t\t\t\t\"markerType\": \"none\",\n\t\t\t\t\"lineThickness\": 1,\n\t\t\t},\n\t\t\t\"title\": map[string]interface{}{\n\t\t\t\t\"fontSize\": 14,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson3 := string(tmpJSON3)\n\t\t_, err = sumologic.NewDashboard(ctx, \"api-dashboard\", \u0026sumologic.DashboardArgs{\n\t\t\tTitle: pulumi.String(\"Api Health Dashboard\"),\n\t\t\tDescription: pulumi.String(\"Demo dashboard description\"),\n\t\t\tFolderId: *pulumi.String(personalFolder.Id),\n\t\t\tRefreshInterval: pulumi.Int(120),\n\t\t\tTheme: pulumi.String(\"Dark\"),\n\t\t\tTimeRange: \u0026sumologic.DashboardTimeRangeArgs{\n\t\t\t\tBeginBoundedTimeRange: \u0026sumologic.DashboardTimeRangeBeginBoundedTimeRangeArgs{\n\t\t\t\t\tFrom: \u0026sumologic.DashboardTimeRangeBeginBoundedTimeRangeFromArgs{\n\t\t\t\t\t\tLiteralTimeRange: \u0026sumologic.DashboardTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs{\n\t\t\t\t\t\t\tRangeName: pulumi.String(\"today\"),\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\tTopologyLabelMap: \u0026sumologic.DashboardTopologyLabelMapArgs{\n\t\t\t\tDatas: sumologic.DashboardTopologyLabelMapDataArray{\n\t\t\t\t\t\u0026sumologic.DashboardTopologyLabelMapDataArgs{\n\t\t\t\t\t\tLabel: pulumi.String(\"cluster\"),\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"api-prod\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026sumologic.DashboardTopologyLabelMapDataArgs{\n\t\t\t\t\t\tLabel: pulumi.String(\"namespace\"),\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"default\"),\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\tDomain: pulumi.String(\"app\"),\n\t\t\tPanels: sumologic.DashboardPanelArray{\n\t\t\t\t\u0026sumologic.DashboardPanelArgs{\n\t\t\t\t\tTextPanel: \u0026sumologic.DashboardPanelTextPanelArgs{\n\t\t\t\t\t\tKey: pulumi.String(\"text-panel-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Api Health\"),\n\t\t\t\t\t\tVisualSettings: pulumi.String(json0),\n\t\t\t\t\t\tKeepVisualSettingsConsistentWithParent: pulumi.Bool(true),\n\t\t\t\t\t\tText: pulumi.String(\"## Api Health Monitoring\\n\\nUse this dashboard to monitor API service health. It contains following panels:\\n\\n1. API errors: Errors in last 12 hours\\n3. API 5xx: Count of 5xx response\\n3. CPU utilization: CPU utilization in last 60 mins\\n\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026sumologic.DashboardPanelArgs{\n\t\t\t\t\tSumoSearchPanel: \u0026sumologic.DashboardPanelSumoSearchPanelArgs{\n\t\t\t\t\t\tKey: pulumi.String(\"search-panel-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Api Errors by Host\"),\n\t\t\t\t\t\tDescription: pulumi.String(\"Errors in api service since last 12 hours\"),\n\t\t\t\t\t\tVisualSettings: pulumi.String(json1),\n\t\t\t\t\t\tKeepVisualSettingsConsistentWithParent: pulumi.Bool(true),\n\t\t\t\t\t\tQueries: sumologic.DashboardPanelSumoSearchPanelQueryArray{\n\t\t\t\t\t\t\t\u0026sumologic.DashboardPanelSumoSearchPanelQueryArgs{\n\t\t\t\t\t\t\t\tQueryString: pulumi.String(\"_sourceCategory=api error | timeslice 1h | count by _timeslice, _sourceHost | transpose row _timeslice column _sourceHost\"),\n\t\t\t\t\t\t\t\tQueryType: pulumi.String(\"Logs\"),\n\t\t\t\t\t\t\t\tQueryKey: pulumi.String(\"A\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTimeRange: \u0026sumologic.DashboardPanelSumoSearchPanelTimeRangeArgs{\n\t\t\t\t\t\t\tBeginBoundedTimeRange: \u0026sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs{\n\t\t\t\t\t\t\t\tFrom: \u0026sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs{\n\t\t\t\t\t\t\t\t\tRelativeTimeRange: \u0026sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs{\n\t\t\t\t\t\t\t\t\t\tRelativeTime: pulumi.String(\"-12h\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\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\t\u0026sumologic.DashboardPanelArgs{\n\t\t\t\t\tSumoSearchPanel: \u0026sumologic.DashboardPanelSumoSearchPanelArgs{\n\t\t\t\t\t\tKey: pulumi.String(\"metrics-panel-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Api 5xx Response Count\"),\n\t\t\t\t\t\tDescription: pulumi.String(\"Count of 5xx response from api service\"),\n\t\t\t\t\t\tVisualSettings: pulumi.String(json2),\n\t\t\t\t\t\tKeepVisualSettingsConsistentWithParent: pulumi.Bool(true),\n\t\t\t\t\t\tQueries: sumologic.DashboardPanelSumoSearchPanelQueryArray{\n\t\t\t\t\t\t\t\u0026sumologic.DashboardPanelSumoSearchPanelQueryArgs{\n\t\t\t\t\t\t\t\tQueryString: pulumi.String(\"_sourceCategory=api metric=Api-5xx\"),\n\t\t\t\t\t\t\t\tQueryType: pulumi.String(\"Metrics\"),\n\t\t\t\t\t\t\t\tQueryKey: pulumi.String(\"A\"),\n\t\t\t\t\t\t\t\tMetricsQueryMode: pulumi.String(\"Advanced\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTimeRange: \u0026sumologic.DashboardPanelSumoSearchPanelTimeRangeArgs{\n\t\t\t\t\t\t\tBeginBoundedTimeRange: \u0026sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs{\n\t\t\t\t\t\t\t\tFrom: \u0026sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs{\n\t\t\t\t\t\t\t\t\tLiteralTimeRange: \u0026sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs{\n\t\t\t\t\t\t\t\t\t\tRangeName: pulumi.String(\"today\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\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\t\u0026sumologic.DashboardPanelArgs{\n\t\t\t\t\tSumoSearchPanel: \u0026sumologic.DashboardPanelSumoSearchPanelArgs{\n\t\t\t\t\t\tKey: pulumi.String(\"metrics-panel-02\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"CPU Utilization\"),\n\t\t\t\t\t\tDescription: pulumi.String(\"CPU utilization in api service\"),\n\t\t\t\t\t\tVisualSettings: pulumi.String(json3),\n\t\t\t\t\t\tKeepVisualSettingsConsistentWithParent: pulumi.Bool(true),\n\t\t\t\t\t\tQueries: sumologic.DashboardPanelSumoSearchPanelQueryArray{\n\t\t\t\t\t\t\t\u0026sumologic.DashboardPanelSumoSearchPanelQueryArgs{\n\t\t\t\t\t\t\t\tQueryString: pulumi.String(\"metric=Proc_CPU nite-api-1\"),\n\t\t\t\t\t\t\t\tQueryType: pulumi.String(\"Metrics\"),\n\t\t\t\t\t\t\t\tQueryKey: pulumi.String(\"A\"),\n\t\t\t\t\t\t\t\tMetricsQueryMode: pulumi.String(\"Basic\"),\n\t\t\t\t\t\t\t\tMetricsQueryData: \u0026sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataArgs{\n\t\t\t\t\t\t\t\t\tMetric: pulumi.String(\"Proc_CPU\"),\n\t\t\t\t\t\t\t\t\tFilters: sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArray{\n\t\t\t\t\t\t\t\t\t\t\u0026sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArgs{\n\t\t\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"_sourcehost\"),\n\t\t\t\t\t\t\t\t\t\t\tNegation: pulumi.Bool(false),\n\t\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"nite-api-1\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tAggregationType: pulumi.String(\"None\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026sumologic.DashboardPanelSumoSearchPanelQueryArgs{\n\t\t\t\t\t\t\t\tQueryString: pulumi.String(\"metric=Proc_CPU nite-api-2\"),\n\t\t\t\t\t\t\t\tQueryType: pulumi.String(\"Metrics\"),\n\t\t\t\t\t\t\t\tQueryKey: pulumi.String(\"B\"),\n\t\t\t\t\t\t\t\tMetricsQueryMode: pulumi.String(\"Basic\"),\n\t\t\t\t\t\t\t\tMetricsQueryData: \u0026sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataArgs{\n\t\t\t\t\t\t\t\t\tMetric: pulumi.String(\"Proc_CPU\"),\n\t\t\t\t\t\t\t\t\tFilters: sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArray{\n\t\t\t\t\t\t\t\t\t\t\u0026sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArgs{\n\t\t\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"_sourcehost\"),\n\t\t\t\t\t\t\t\t\t\t\tNegation: pulumi.Bool(false),\n\t\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"nite-api-2\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tAggregationType: pulumi.String(\"None\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTimeRange: \u0026sumologic.DashboardPanelSumoSearchPanelTimeRangeArgs{\n\t\t\t\t\t\t\tBeginBoundedTimeRange: \u0026sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs{\n\t\t\t\t\t\t\t\tFrom: \u0026sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs{\n\t\t\t\t\t\t\t\t\tRelativeTimeRange: \u0026sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs{\n\t\t\t\t\t\t\t\t\t\tRelativeTime: pulumi.String(\"-1h\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\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\tLayout: \u0026sumologic.DashboardLayoutArgs{\n\t\t\t\tGrid: \u0026sumologic.DashboardLayoutGridArgs{\n\t\t\t\t\tLayoutStructures: sumologic.DashboardLayoutGridLayoutStructureArray{\n\t\t\t\t\t\t\u0026sumologic.DashboardLayoutGridLayoutStructureArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"text-panel-01\"),\n\t\t\t\t\t\t\tStructure: pulumi.String(\"{\\\"height\\\":5,\\\"width\\\":24,\\\"x\\\":0,\\\"y\\\":0}\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026sumologic.DashboardLayoutGridLayoutStructureArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"search-panel-01\"),\n\t\t\t\t\t\t\tStructure: pulumi.String(\"{\\\"height\\\":10,\\\"width\\\":12,\\\"x\\\":0,\\\"y\\\":5}\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026sumologic.DashboardLayoutGridLayoutStructureArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"metrics-panel-01\"),\n\t\t\t\t\t\t\tStructure: pulumi.String(\"{\\\"height\\\":10,\\\"width\\\":12,\\\"x\\\":12,\\\"y\\\":5}\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026sumologic.DashboardLayoutGridLayoutStructureArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"metrics-panel-02\"),\n\t\t\t\t\t\t\tStructure: pulumi.String(\"{\\\"height\\\":10,\\\"width\\\":24,\\\"x\\\":0,\\\"y\\\":25}\"),\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\tVariables: sumologic.DashboardVariableArray{\n\t\t\t\t\u0026sumologic.DashboardVariableArgs{\n\t\t\t\t\tName: pulumi.String(\"_sourceHost\"),\n\t\t\t\t\tDisplayName: pulumi.String(\"Source Host\"),\n\t\t\t\t\tDefaultValue: pulumi.String(\"nite-api-1\"),\n\t\t\t\t\tSourceDefinition: \u0026sumologic.DashboardVariableSourceDefinitionArgs{\n\t\t\t\t\t\tCsvVariableSourceDefinition: \u0026sumologic.DashboardVariableSourceDefinitionCsvVariableSourceDefinitionArgs{\n\t\t\t\t\t\t\tValues: pulumi.String(\"nite-api-1,nite-api-2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tAllowMultiSelect: pulumi.Bool(true),\n\t\t\t\t\tIncludeAllOption: pulumi.Bool(true),\n\t\t\t\t\tHideFromUi: 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.sumologic.SumologicFunctions;\nimport com.pulumi.sumologic.inputs.GetPersonalFolderArgs;\nimport com.pulumi.sumologic.Dashboard;\nimport com.pulumi.sumologic.DashboardArgs;\nimport com.pulumi.sumologic.inputs.DashboardTimeRangeArgs;\nimport com.pulumi.sumologic.inputs.DashboardTimeRangeBeginBoundedTimeRangeArgs;\nimport com.pulumi.sumologic.inputs.DashboardTimeRangeBeginBoundedTimeRangeFromArgs;\nimport com.pulumi.sumologic.inputs.DashboardTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs;\nimport com.pulumi.sumologic.inputs.DashboardTopologyLabelMapArgs;\nimport com.pulumi.sumologic.inputs.DashboardPanelArgs;\nimport com.pulumi.sumologic.inputs.DashboardPanelTextPanelArgs;\nimport com.pulumi.sumologic.inputs.DashboardPanelSumoSearchPanelArgs;\nimport com.pulumi.sumologic.inputs.DashboardPanelSumoSearchPanelTimeRangeArgs;\nimport com.pulumi.sumologic.inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs;\nimport com.pulumi.sumologic.inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs;\nimport com.pulumi.sumologic.inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs;\nimport com.pulumi.sumologic.inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs;\nimport com.pulumi.sumologic.inputs.DashboardLayoutArgs;\nimport com.pulumi.sumologic.inputs.DashboardLayoutGridArgs;\nimport com.pulumi.sumologic.inputs.DashboardVariableArgs;\nimport com.pulumi.sumologic.inputs.DashboardVariableSourceDefinitionArgs;\nimport com.pulumi.sumologic.inputs.DashboardVariableSourceDefinitionCsvVariableSourceDefinitionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\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 personalFolder = SumologicFunctions.getPersonalFolder();\n\n var api_dashboard = new Dashboard(\"api-dashboard\", DashboardArgs.builder() \n .title(\"Api Health Dashboard\")\n .description(\"Demo dashboard description\")\n .folderId(personalFolder.applyValue(getPersonalFolderResult -\u003e getPersonalFolderResult.id()))\n .refreshInterval(120)\n .theme(\"Dark\")\n .timeRange(DashboardTimeRangeArgs.builder()\n .beginBoundedTimeRange(DashboardTimeRangeBeginBoundedTimeRangeArgs.builder()\n .from(DashboardTimeRangeBeginBoundedTimeRangeFromArgs.builder()\n .literalTimeRange(DashboardTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs.builder()\n .rangeName(\"today\")\n .build())\n .build())\n .build())\n .build())\n .topologyLabelMap(DashboardTopologyLabelMapArgs.builder()\n .datas( \n DashboardTopologyLabelMapDataArgs.builder()\n .label(\"cluster\")\n .values(\"api-prod\")\n .build(),\n DashboardTopologyLabelMapDataArgs.builder()\n .label(\"namespace\")\n .values(\"default\")\n .build())\n .build())\n .domain(\"app\")\n .panels( \n DashboardPanelArgs.builder()\n .textPanel(DashboardPanelTextPanelArgs.builder()\n .key(\"text-panel-01\")\n .title(\"Api Health\")\n .visualSettings(serializeJson(\n jsonObject(\n jsonProperty(\"text\", jsonObject(\n jsonProperty(\"verticalAlignment\", \"top\"),\n jsonProperty(\"horizontalAlignment\", \"left\"),\n jsonProperty(\"fontSize\", 12)\n ))\n )))\n .keepVisualSettingsConsistentWithParent(true)\n .text(\"\"\"\n## Api Health Monitoring\n\nUse this dashboard to monitor API service health. It contains following panels:\n\n1. API errors: Errors in last 12 hours\n3. API 5xx: Count of 5xx response\n3. CPU utilization: CPU utilization in last 60 mins\n \"\"\")\n .build())\n .build(),\n DashboardPanelArgs.builder()\n .sumoSearchPanel(DashboardPanelSumoSearchPanelArgs.builder()\n .key(\"search-panel-01\")\n .title(\"Api Errors by Host\")\n .description(\"Errors in api service since last 12 hours\")\n .visualSettings(serializeJson(\n jsonObject(\n jsonProperty(\"general\", jsonObject(\n jsonProperty(\"mode\", \"timeSeries\"),\n jsonProperty(\"type\", \"area\"),\n jsonProperty(\"displayType\", \"stacked\"),\n jsonProperty(\"markerSize\", 5),\n jsonProperty(\"lineDashType\", \"solid\"),\n jsonProperty(\"markerType\", \"square\"),\n jsonProperty(\"lineThickness\", 1)\n )),\n jsonProperty(\"title\", jsonObject(\n jsonProperty(\"fontSize\", 14)\n )),\n jsonProperty(\"legend\", jsonObject(\n jsonProperty(\"enabled\", true),\n jsonProperty(\"verticalAlign\", \"bottom\"),\n jsonProperty(\"fontSize\", 12),\n jsonProperty(\"maxHeight\", 50),\n jsonProperty(\"showAsTable\", false),\n jsonProperty(\"wrap\", true)\n ))\n )))\n .keepVisualSettingsConsistentWithParent(true)\n .queries(DashboardPanelSumoSearchPanelQueryArgs.builder()\n .queryString(\"_sourceCategory=api error | timeslice 1h | count by _timeslice, _sourceHost | transpose row _timeslice column _sourceHost\")\n .queryType(\"Logs\")\n .queryKey(\"A\")\n .build())\n .timeRange(DashboardPanelSumoSearchPanelTimeRangeArgs.builder()\n .beginBoundedTimeRange(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs.builder()\n .from(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs.builder()\n .relativeTimeRange(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs.builder()\n .relativeTime(\"-12h\")\n .build())\n .build())\n .build())\n .build())\n .build())\n .build(),\n DashboardPanelArgs.builder()\n .sumoSearchPanel(DashboardPanelSumoSearchPanelArgs.builder()\n .key(\"metrics-panel-01\")\n .title(\"Api 5xx Response Count\")\n .description(\"Count of 5xx response from api service\")\n .visualSettings(serializeJson(\n jsonObject(\n jsonProperty(\"general\", jsonObject(\n jsonProperty(\"mode\", \"distribution\"),\n jsonProperty(\"type\", \"pie\"),\n jsonProperty(\"displayType\", \"default\"),\n jsonProperty(\"fillOpacity\", 1),\n jsonProperty(\"startAngle\", 270),\n jsonProperty(\"innerRadius\", \"40%\"),\n jsonProperty(\"maxNumOfSlices\", 10),\n jsonProperty(\"aggregationType\", \"sum\")\n )),\n jsonProperty(\"title\", jsonObject(\n jsonProperty(\"fontSize\", 14)\n ))\n )))\n .keepVisualSettingsConsistentWithParent(true)\n .queries(DashboardPanelSumoSearchPanelQueryArgs.builder()\n .queryString(\"_sourceCategory=api metric=Api-5xx\")\n .queryType(\"Metrics\")\n .queryKey(\"A\")\n .metricsQueryMode(\"Advanced\")\n .build())\n .timeRange(DashboardPanelSumoSearchPanelTimeRangeArgs.builder()\n .beginBoundedTimeRange(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs.builder()\n .from(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs.builder()\n .literalTimeRange(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs.builder()\n .rangeName(\"today\")\n .build())\n .build())\n .build())\n .build())\n .build())\n .build(),\n DashboardPanelArgs.builder()\n .sumoSearchPanel(DashboardPanelSumoSearchPanelArgs.builder()\n .key(\"metrics-panel-02\")\n .title(\"CPU Utilization\")\n .description(\"CPU utilization in api service\")\n .visualSettings(serializeJson(\n jsonObject(\n jsonProperty(\"general\", jsonObject(\n jsonProperty(\"mode\", \"timeSeries\"),\n jsonProperty(\"type\", \"line\"),\n jsonProperty(\"displayType\", \"smooth\"),\n jsonProperty(\"markerSize\", 5),\n jsonProperty(\"lineDashType\", \"dashDot\"),\n jsonProperty(\"markerType\", \"none\"),\n jsonProperty(\"lineThickness\", 1)\n )),\n jsonProperty(\"title\", jsonObject(\n jsonProperty(\"fontSize\", 14)\n ))\n )))\n .keepVisualSettingsConsistentWithParent(true)\n .queries( \n DashboardPanelSumoSearchPanelQueryArgs.builder()\n .queryString(\"metric=Proc_CPU nite-api-1\")\n .queryType(\"Metrics\")\n .queryKey(\"A\")\n .metricsQueryMode(\"Basic\")\n .metricsQueryData(DashboardPanelSumoSearchPanelQueryMetricsQueryDataArgs.builder()\n .metric(\"Proc_CPU\")\n .filters(DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArgs.builder()\n .key(\"_sourcehost\")\n .negation(false)\n .value(\"nite-api-1\")\n .build())\n .aggregationType(\"None\")\n .build())\n .build(),\n DashboardPanelSumoSearchPanelQueryArgs.builder()\n .queryString(\"metric=Proc_CPU nite-api-2\")\n .queryType(\"Metrics\")\n .queryKey(\"B\")\n .metricsQueryMode(\"Basic\")\n .metricsQueryData(DashboardPanelSumoSearchPanelQueryMetricsQueryDataArgs.builder()\n .metric(\"Proc_CPU\")\n .filters(DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArgs.builder()\n .key(\"_sourcehost\")\n .negation(false)\n .value(\"nite-api-2\")\n .build())\n .aggregationType(\"None\")\n .build())\n .build())\n .timeRange(DashboardPanelSumoSearchPanelTimeRangeArgs.builder()\n .beginBoundedTimeRange(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs.builder()\n .from(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs.builder()\n .relativeTimeRange(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs.builder()\n .relativeTime(\"-1h\")\n .build())\n .build())\n .build())\n .build())\n .build())\n .build())\n .layout(DashboardLayoutArgs.builder()\n .grid(DashboardLayoutGridArgs.builder()\n .layoutStructures( \n DashboardLayoutGridLayoutStructureArgs.builder()\n .key(\"text-panel-01\")\n .structure(\"{\\\"height\\\":5,\\\"width\\\":24,\\\"x\\\":0,\\\"y\\\":0}\")\n .build(),\n DashboardLayoutGridLayoutStructureArgs.builder()\n .key(\"search-panel-01\")\n .structure(\"{\\\"height\\\":10,\\\"width\\\":12,\\\"x\\\":0,\\\"y\\\":5}\")\n .build(),\n DashboardLayoutGridLayoutStructureArgs.builder()\n .key(\"metrics-panel-01\")\n .structure(\"{\\\"height\\\":10,\\\"width\\\":12,\\\"x\\\":12,\\\"y\\\":5}\")\n .build(),\n DashboardLayoutGridLayoutStructureArgs.builder()\n .key(\"metrics-panel-02\")\n .structure(\"{\\\"height\\\":10,\\\"width\\\":24,\\\"x\\\":0,\\\"y\\\":25}\")\n .build())\n .build())\n .build())\n .variables(DashboardVariableArgs.builder()\n .name(\"_sourceHost\")\n .displayName(\"Source Host\")\n .defaultValue(\"nite-api-1\")\n .sourceDefinition(DashboardVariableSourceDefinitionArgs.builder()\n .csvVariableSourceDefinition(DashboardVariableSourceDefinitionCsvVariableSourceDefinitionArgs.builder()\n .values(\"nite-api-1,nite-api-2\")\n .build())\n .build())\n .allowMultiSelect(true)\n .includeAllOption(true)\n .hideFromUi(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n api-dashboard:\n type: sumologic:Dashboard\n properties:\n title: Api Health Dashboard\n description: Demo dashboard description\n folderId: ${personalFolder.id}\n refreshInterval: 120\n theme: Dark\n timeRange:\n beginBoundedTimeRange:\n from:\n literalTimeRange:\n rangeName: today\n topologyLabelMap:\n datas:\n - label: cluster\n values:\n - api-prod\n - label: namespace\n values:\n - default\n domain: app\n ## text panel\n panels:\n - textPanel:\n key: text-panel-01\n title: Api Health\n visualSettings:\n fn::toJSON:\n text:\n verticalAlignment: top\n horizontalAlignment: left\n fontSize: 12\n keepVisualSettingsConsistentWithParent: true\n text: |\n ## Api Health Monitoring\n\n Use this dashboard to monitor API service health. It contains following panels:\n\n 1. API errors: Errors in last 12 hours\n 3. API 5xx: Count of 5xx response\n 3. CPU utilization: CPU utilization in last 60 mins\n - sumoSearchPanel:\n key: search-panel-01\n title: Api Errors by Host\n description: Errors in api service since last 12 hours\n visualSettings:\n fn::toJSON:\n general:\n mode: timeSeries\n type: area\n displayType: stacked\n markerSize: 5\n lineDashType: solid\n markerType: square\n lineThickness: 1\n title:\n fontSize: 14\n legend:\n enabled: true\n verticalAlign: bottom\n fontSize: 12\n maxHeight: 50\n showAsTable: false\n wrap: true\n keepVisualSettingsConsistentWithParent: true\n queries:\n - queryString: _sourceCategory=api error | timeslice 1h | count by _timeslice, _sourceHost | transpose row _timeslice column _sourceHost\n queryType: Logs\n queryKey: A\n timeRange:\n beginBoundedTimeRange:\n from:\n relativeTimeRange:\n relativeTime: -12h\n - sumoSearchPanel:\n key: metrics-panel-01\n title: Api 5xx Response Count\n description: Count of 5xx response from api service\n visualSettings:\n fn::toJSON:\n general:\n mode: distribution\n type: pie\n displayType: default\n fillOpacity: 1\n startAngle: 270\n innerRadius: 40%\n maxNumOfSlices: 10\n aggregationType: sum\n title:\n fontSize: 14\n keepVisualSettingsConsistentWithParent: true\n queries:\n - queryString: _sourceCategory=api metric=Api-5xx\n queryType: Metrics\n queryKey: A\n metricsQueryMode: Advanced\n timeRange:\n beginBoundedTimeRange:\n from:\n literalTimeRange:\n rangeName: today\n - sumoSearchPanel:\n key: metrics-panel-02\n title: CPU Utilization\n description: CPU utilization in api service\n visualSettings:\n fn::toJSON:\n general:\n mode: timeSeries\n type: line\n displayType: smooth\n markerSize: 5\n lineDashType: dashDot\n markerType: none\n lineThickness: 1\n title:\n fontSize: 14\n keepVisualSettingsConsistentWithParent: true\n queries:\n - queryString: metric=Proc_CPU nite-api-1\n queryType: Metrics\n queryKey: A\n metricsQueryMode: Basic\n metricsQueryData:\n metric: Proc_CPU\n filters:\n - key: _sourcehost\n negation: false\n value: nite-api-1\n aggregationType: None\n - queryString: metric=Proc_CPU nite-api-2\n queryType: Metrics\n queryKey: B\n metricsQueryMode: Basic\n metricsQueryData:\n metric: Proc_CPU\n filters:\n - key: _sourcehost\n negation: false\n value: nite-api-2\n aggregationType: None\n timeRange:\n beginBoundedTimeRange:\n from:\n relativeTimeRange:\n relativeTime: -1h\n layout:\n grid:\n layoutStructures:\n - key: text-panel-01\n structure: '{\"height\":5,\"width\":24,\"x\":0,\"y\":0}'\n - key: search-panel-01\n structure: '{\"height\":10,\"width\":12,\"x\":0,\"y\":5}'\n - key: metrics-panel-01\n structure: '{\"height\":10,\"width\":12,\"x\":12,\"y\":5}'\n - key: metrics-panel-02\n structure: '{\"height\":10,\"width\":24,\"x\":0,\"y\":25}'\n ## variables\n variables:\n - name: _sourceHost\n displayName: Source Host\n defaultValue: nite-api-1\n sourceDefinition:\n csvVariableSourceDefinition:\n values: nite-api-1,nite-api-2\n allowMultiSelect: true\n includeAllOption: true\n hideFromUi: false\nvariables:\n personalFolder:\n fn::invoke:\n Function: sumologic:getPersonalFolder\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}\n## Attributes reference\n\nIn addition to all arguments above, the following attributes are exported:\n\n- `id` - The ID of the dashboard.\n\n### Schema for `topology_label_map`\n- `data` - (Block List, Required) A list of blocks containing label and it's values.\n\t- `label` - (Required) The name of the topology label.\n\t- `values` - (Required) The values for the topology label.\n\n\n### Schema for `time_range`\n- `complete_literal_time_range` - (Block List, Max: 1, Optional) Literal time range. See\ncomplete_literal_time_range schema for details.\n- `begin_bounded_time_range` - (Block List, Max: 1, Optional) Bounded time range. See\nbegin_bounded_time_range schema schema for details.\nschema for details.\n\n### Schema for `complete_literal_time_range`\n- `range_name` - (Required) Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, `previous_month`.\n\n### Schema for `begin_bounded_time_range`\n- `from` - (Block List, Max: 1, Required) Start boundary of bounded time range. See\ntime_range_boundary schema for details.\n- `to` - (Block List, Max: 1, Optional) End boundary of bounded time range. See\ntime_range_boundary schema for details.\n\n### Schema for `time_range_boundary`\n- `epoch_time_range` - (Block List, Optional) Time since the epoch.\n - `epoch_millis` - (Required) Time as a number of milliseconds since the epoch.\n\n- `iso8601_time_range` - (Block List, Optional) Time in ISO 8601 format.\n - `iso8601_time` - (Required) Time as a string in ISO 8601 format.\n\n- `relative_time_range` - (Block List, Optional) Time in relative format.\n - `relative_time` - (Required) Relative time as a string consists of following elements:\n 1. `-` (optional): minus sign indicates time in the past,\n 2. `\u003cnumber\u003e`: number of time units,\n 3. `\u003ctime_unit\u003e`: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second).\n\n Multiple pairs of `\u003cnumber\u003e\u003ctime_unit\u003e` may be provided, and they may be in any order. For example,\n `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago.\n\n- `literal_time_range` - (Block List, Optional) Time in literal format.\n - `range_name` - (Required) One of `now`, `second`, `minute`, `hour`, `day`, `today`, `week`, `month`, `year`.\n\n### Schema for `panel`\n- `text_panel` - (Block List, Max: 1, Optional) A text panel. See text_panel schema for details.\n- `sumo_search_panel` - (Block List, Max: 1, Optional) A search panel. See sumo_search_panel schema\nfor details.\n\n### Schema for `text_panel`\n- `key` - (Required) Key for the panel. Used to create searches for the queries in the panel and configure the layout\nof the panel in the dashboard.\n- `title` - (Optional) Title of the panel.\n- `visual_settings` - (Optional) Visual settings of the panel.\n- `keep_visual_settings_consistent_with_parent` - (Optional) Keeps the visual settings, like series colors, consistent\nwith the settings of the parent panel.\n- `text` - (Required) Text to display in the panel.\n\n### Schema for `sumo_search_panel`\n- `key` - (Required) Key for the panel. Used to create searches for the queries in the panel and configure the layout\nof the panel in the dashboard.\n- `title` - (Optional) Title of the panel.\n- `visual_settings` - (Optional) Visual settings of the panel.\n- `keep_visual_settings_consistent_with_parent` - (Optional) Keeps the visual settings, like series colors, consistent\nwith the settings of the parent panel.\n- `query` - (Block List, Required) A list of queries for the panel. Can be log or metric query. See\nquery schema for details.\n- `description` - (Optional) Description of the panel.\n- `time_range` - (Block List, Max: 1, Optional) Time range of the panel. See time_range schema\nfor details.\n- `linked_dashboard` - (Block List, Optional) A list of linked dashboards. See\nlinked_dashboard schema for details.\n\n### Schema for `query`\n- `query_string` - (Required) The metrics or logs query.\n- `query_type` - (Required) The type of the query. One of `Metrics` or `Logs`.\n- `query_key` - (Required) The key for metric or log query. Used as an identifier for queries.\n- `metric_query_mode` - (Optional) _Should only be specified for metric query_. The mode of the metric query.\nOne of `Basic` or `Advanced`.\n- `metric_query_data` - (Optional) _Should only be specified for metric query_. Data format for the metric query. See\nmetric_query_data schema for details.\n\n### Schema for `metric_query_data`\n- `metric` - (Required) The metric of the query.\n- `aggregation_type` - (Optional) The type of aggregation. One of `Count`, `Minimum`, `Maximum`, `Sum`, `Average`, `None`.\n- `group_by` - The field to group the results by.\n- `filter` - (Block List, Required) A list of filters for the metrics query.\n - `key` - (Required) The key of the metrics filter.\n - `value` - (Required) The value of the metrics filter.\n - `negation` - (Optional) Whether or not the metrics filter is negated.\n- `operator` - (Block List, Optional) A list of operator data for the metrics query.\n\n### Schema for `operator`\n- `operator_name` - (Required) The name of the metrics operator.\n- `parameter` - (Block List, Required) A list of operator parameters for the operator data.\n - `key` - (Required) The key of the operator parameter.\n - `value` - (Required) The value of the operator parameter.\n\n### Schema for `linked_dashboard`\n- `id` - (Required) Identifier of the linked dashboard.\n- `relative_path` - (Optional) Relative path of the linked dashboard to the dashboard of the linking panel.\n- `include_time_range` - (Optional) Include time range from the current dashboard to the linked dashboard. _Defaults to true_.\n- `include_variables` - (Optional) Include variables from the current dashboard to the linked dashboard. _Defaults to true_.\n\n### Schema for `layout`\n- `grid` - (Block List, Max: 1, Optional) Panel layout for the dashboard.\n\n### Schema for `grid`\n- `layout_structure` - (Block List, Required) Layout structure for the panels in the dashboard.\n - `key` - (Required) The identifier of the panel that this structure applies to. It's same as `panel.key`.\n - `structure` - (Required) The structure of the panel.\n\n### Schema for `variable`\n- `name` - (Required) Name of the variable. The variable name is case-insensitive.\n- `display_name` - (Optional) Display name of the variable shown in the UI. If this field is empty, the name field will be used.\n- `default_value` - (Optional) Default value of the variable.\n- `source_definition` - (Required) Source definition for variable values. See\nsource_definition schema for details.\n- `allow_multi_select` - (Optional) Allow multiple selections in the values dropdown.\n- `include_all_option` - (Optional) Include an \"All\" option at the top of the variable's values dropdown. _Defaults to true._\n- `hide_from_ui` - (Optional) Hide the variable in the dashboard UI.\n\n### Schema for `source_definition`\n- `log_query_variable_source_definition` - (Optional) Variable values from a log query.\n - `query` - (Required) A log query.\n - `field` - (Required) A field in log query to populate the variable values\n- `metadata_variable_source_definition` - (Optional) Variable values from a metric query.\n - `filter` - (Required) Filter to search the catalog.\n - `key` - (Required) Return the values for this given key.\n- `csv_variable_source_definition` - (Optional) Variable values in csv format.\n - `values` - (Required) A comma separated values for the variable.\n\n\n## Import\n\nDashboard can be imported using the dashboard id, e.g.hcl\n\n```sh\n $ pulumi import sumologic:index/dashboard:Dashboard example-dashboard q0IKwAK5t2qRI4sgiANwnS87k5S4twN2sCpTuZFSsz6ZmbENPsG7PnpqZygc\n```\n\n [1]https://help.sumologic.com/Visualizations-and-Alerts/Dashboard_(New) ", + "description": "Provides a [Sumologic Dashboard (New)][1].\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sumologic from \"@pulumi/sumologic\";\n\nconst personalFolder = sumologic.getPersonalFolder({});\nconst api_dashboard = new sumologic.Dashboard(\"api-dashboard\", {\n title: \"Api Health Dashboard\",\n description: \"Demo dashboard description\",\n folderId: personalFolder.then(personalFolder =\u003e personalFolder.id),\n refreshInterval: 120,\n theme: \"Dark\",\n timeRange: {\n beginBoundedTimeRange: {\n from: {\n literalTimeRange: {\n rangeName: \"today\",\n },\n },\n },\n },\n topologyLabelMap: {\n datas: [\n {\n label: \"cluster\",\n values: [\"api-prod\"],\n },\n {\n label: \"namespace\",\n values: [\"default\"],\n },\n ],\n },\n domain: \"app\",\n panels: [\n {\n textPanel: {\n key: \"text-panel-01\",\n title: \"Api Health\",\n visualSettings: JSON.stringify({\n text: {\n verticalAlignment: \"top\",\n horizontalAlignment: \"left\",\n fontSize: 12,\n },\n }),\n keepVisualSettingsConsistentWithParent: true,\n text: `## Api Health Monitoring\n\nUse this dashboard to monitor API service health. It contains following panels:\n\n1. API errors: Errors in last 12 hours\n3. API 5xx: Count of 5xx response\n3. CPU utilization: CPU utilization in last 60 mins\n`,\n },\n },\n {\n sumoSearchPanel: {\n key: \"search-panel-01\",\n title: \"Api Errors by Host\",\n description: \"Errors in api service since last 12 hours\",\n visualSettings: JSON.stringify({\n general: {\n mode: \"timeSeries\",\n type: \"area\",\n displayType: \"stacked\",\n markerSize: 5,\n lineDashType: \"solid\",\n markerType: \"square\",\n lineThickness: 1,\n },\n title: {\n fontSize: 14,\n },\n legend: {\n enabled: true,\n verticalAlign: \"bottom\",\n fontSize: 12,\n maxHeight: 50,\n showAsTable: false,\n wrap: true,\n },\n }),\n keepVisualSettingsConsistentWithParent: true,\n queries: [{\n queryString: \"_sourceCategory=api error | timeslice 1h | count by _timeslice, _sourceHost | transpose row _timeslice column _sourceHost\",\n queryType: \"Logs\",\n queryKey: \"A\",\n }],\n timeRange: {\n beginBoundedTimeRange: {\n from: {\n relativeTimeRange: {\n relativeTime: \"-12h\",\n },\n },\n },\n },\n },\n },\n {\n sumoSearchPanel: {\n key: \"metrics-panel-01\",\n title: \"Api 5xx Response Count\",\n description: \"Count of 5xx response from api service\",\n visualSettings: JSON.stringify({\n general: {\n mode: \"distribution\",\n type: \"pie\",\n displayType: \"default\",\n fillOpacity: 1,\n startAngle: 270,\n innerRadius: \"40%\",\n maxNumOfSlices: 10,\n aggregationType: \"sum\",\n },\n title: {\n fontSize: 14,\n },\n }),\n keepVisualSettingsConsistentWithParent: true,\n queries: [{\n queryString: \"_sourceCategory=api metric=Api-5xx\",\n queryType: \"Metrics\",\n queryKey: \"A\",\n metricsQueryMode: \"Advanced\",\n }],\n timeRange: {\n beginBoundedTimeRange: {\n from: {\n literalTimeRange: {\n rangeName: \"today\",\n },\n },\n },\n },\n },\n },\n {\n sumoSearchPanel: {\n key: \"metrics-panel-02\",\n title: \"CPU Utilization\",\n description: \"CPU utilization in api service\",\n visualSettings: JSON.stringify({\n general: {\n mode: \"timeSeries\",\n type: \"line\",\n displayType: \"smooth\",\n markerSize: 5,\n lineDashType: \"dashDot\",\n markerType: \"none\",\n lineThickness: 1,\n },\n title: {\n fontSize: 14,\n },\n }),\n keepVisualSettingsConsistentWithParent: true,\n queries: [\n {\n queryString: \"metric=Proc_CPU nite-api-1\",\n queryType: \"Metrics\",\n queryKey: \"A\",\n metricsQueryMode: \"Basic\",\n metricsQueryData: {\n metric: \"Proc_CPU\",\n filters: [{\n key: \"_sourcehost\",\n negation: false,\n value: \"nite-api-1\",\n }],\n aggregationType: \"None\",\n },\n },\n {\n queryString: \"metric=Proc_CPU nite-api-2\",\n queryType: \"Metrics\",\n queryKey: \"B\",\n metricsQueryMode: \"Basic\",\n metricsQueryData: {\n metric: \"Proc_CPU\",\n filters: [{\n key: \"_sourcehost\",\n negation: false,\n value: \"nite-api-2\",\n }],\n aggregationType: \"None\",\n },\n },\n ],\n timeRange: {\n beginBoundedTimeRange: {\n from: {\n relativeTimeRange: {\n relativeTime: \"-1h\",\n },\n },\n },\n },\n },\n },\n ],\n layout: {\n grid: {\n layoutStructures: [\n {\n key: \"text-panel-01\",\n structure: \"{\\\"height\\\":5,\\\"width\\\":24,\\\"x\\\":0,\\\"y\\\":0}\",\n },\n {\n key: \"search-panel-01\",\n structure: \"{\\\"height\\\":10,\\\"width\\\":12,\\\"x\\\":0,\\\"y\\\":5}\",\n },\n {\n key: \"metrics-panel-01\",\n structure: \"{\\\"height\\\":10,\\\"width\\\":12,\\\"x\\\":12,\\\"y\\\":5}\",\n },\n {\n key: \"metrics-panel-02\",\n structure: \"{\\\"height\\\":10,\\\"width\\\":24,\\\"x\\\":0,\\\"y\\\":25}\",\n },\n ],\n },\n },\n variables: [{\n name: \"_sourceHost\",\n displayName: \"Source Host\",\n defaultValue: \"nite-api-1\",\n sourceDefinition: {\n csvVariableSourceDefinition: {\n values: \"nite-api-1,nite-api-2\",\n },\n },\n allowMultiSelect: true,\n includeAllOption: true,\n hideFromUi: false,\n }],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_sumologic as sumologic\n\npersonal_folder = sumologic.get_personal_folder()\napi_dashboard = sumologic.Dashboard(\"api-dashboard\",\n title=\"Api Health Dashboard\",\n description=\"Demo dashboard description\",\n folder_id=personal_folder.id,\n refresh_interval=120,\n theme=\"Dark\",\n time_range=sumologic.DashboardTimeRangeArgs(\n begin_bounded_time_range=sumologic.DashboardTimeRangeBeginBoundedTimeRangeArgs(\n from_=sumologic.DashboardTimeRangeBeginBoundedTimeRangeFromArgs(\n literal_time_range=sumologic.DashboardTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs(\n range_name=\"today\",\n ),\n ),\n ),\n ),\n topology_label_map=sumologic.DashboardTopologyLabelMapArgs(\n datas=[\n sumologic.DashboardTopologyLabelMapDataArgs(\n label=\"cluster\",\n values=[\"api-prod\"],\n ),\n sumologic.DashboardTopologyLabelMapDataArgs(\n label=\"namespace\",\n values=[\"default\"],\n ),\n ],\n ),\n domain=\"app\",\n panels=[\n sumologic.DashboardPanelArgs(\n text_panel=sumologic.DashboardPanelTextPanelArgs(\n key=\"text-panel-01\",\n title=\"Api Health\",\n visual_settings=json.dumps({\n \"text\": {\n \"verticalAlignment\": \"top\",\n \"horizontalAlignment\": \"left\",\n \"fontSize\": 12,\n },\n }),\n keep_visual_settings_consistent_with_parent=True,\n text=\"\"\"## Api Health Monitoring\n\nUse this dashboard to monitor API service health. It contains following panels:\n\n1. API errors: Errors in last 12 hours\n3. API 5xx: Count of 5xx response\n3. CPU utilization: CPU utilization in last 60 mins\n\"\"\",\n ),\n ),\n sumologic.DashboardPanelArgs(\n sumo_search_panel=sumologic.DashboardPanelSumoSearchPanelArgs(\n key=\"search-panel-01\",\n title=\"Api Errors by Host\",\n description=\"Errors in api service since last 12 hours\",\n visual_settings=json.dumps({\n \"general\": {\n \"mode\": \"timeSeries\",\n \"type\": \"area\",\n \"displayType\": \"stacked\",\n \"markerSize\": 5,\n \"lineDashType\": \"solid\",\n \"markerType\": \"square\",\n \"lineThickness\": 1,\n },\n \"title\": {\n \"fontSize\": 14,\n },\n \"legend\": {\n \"enabled\": True,\n \"verticalAlign\": \"bottom\",\n \"fontSize\": 12,\n \"maxHeight\": 50,\n \"showAsTable\": False,\n \"wrap\": True,\n },\n }),\n keep_visual_settings_consistent_with_parent=True,\n queries=[sumologic.DashboardPanelSumoSearchPanelQueryArgs(\n query_string=\"_sourceCategory=api error | timeslice 1h | count by _timeslice, _sourceHost | transpose row _timeslice column _sourceHost\",\n query_type=\"Logs\",\n query_key=\"A\",\n )],\n time_range=sumologic.DashboardPanelSumoSearchPanelTimeRangeArgs(\n begin_bounded_time_range=sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs(\n from_=sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs(\n relative_time_range=sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs(\n relative_time=\"-12h\",\n ),\n ),\n ),\n ),\n ),\n ),\n sumologic.DashboardPanelArgs(\n sumo_search_panel=sumologic.DashboardPanelSumoSearchPanelArgs(\n key=\"metrics-panel-01\",\n title=\"Api 5xx Response Count\",\n description=\"Count of 5xx response from api service\",\n visual_settings=json.dumps({\n \"general\": {\n \"mode\": \"distribution\",\n \"type\": \"pie\",\n \"displayType\": \"default\",\n \"fillOpacity\": 1,\n \"startAngle\": 270,\n \"innerRadius\": \"40%\",\n \"maxNumOfSlices\": 10,\n \"aggregationType\": \"sum\",\n },\n \"title\": {\n \"fontSize\": 14,\n },\n }),\n keep_visual_settings_consistent_with_parent=True,\n queries=[sumologic.DashboardPanelSumoSearchPanelQueryArgs(\n query_string=\"_sourceCategory=api metric=Api-5xx\",\n query_type=\"Metrics\",\n query_key=\"A\",\n metrics_query_mode=\"Advanced\",\n )],\n time_range=sumologic.DashboardPanelSumoSearchPanelTimeRangeArgs(\n begin_bounded_time_range=sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs(\n from_=sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs(\n literal_time_range=sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs(\n range_name=\"today\",\n ),\n ),\n ),\n ),\n ),\n ),\n sumologic.DashboardPanelArgs(\n sumo_search_panel=sumologic.DashboardPanelSumoSearchPanelArgs(\n key=\"metrics-panel-02\",\n title=\"CPU Utilization\",\n description=\"CPU utilization in api service\",\n visual_settings=json.dumps({\n \"general\": {\n \"mode\": \"timeSeries\",\n \"type\": \"line\",\n \"displayType\": \"smooth\",\n \"markerSize\": 5,\n \"lineDashType\": \"dashDot\",\n \"markerType\": \"none\",\n \"lineThickness\": 1,\n },\n \"title\": {\n \"fontSize\": 14,\n },\n }),\n keep_visual_settings_consistent_with_parent=True,\n queries=[\n sumologic.DashboardPanelSumoSearchPanelQueryArgs(\n query_string=\"metric=Proc_CPU nite-api-1\",\n query_type=\"Metrics\",\n query_key=\"A\",\n metrics_query_mode=\"Basic\",\n metrics_query_data=sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataArgs(\n metric=\"Proc_CPU\",\n filters=[sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArgs(\n key=\"_sourcehost\",\n negation=False,\n value=\"nite-api-1\",\n )],\n aggregation_type=\"None\",\n ),\n ),\n sumologic.DashboardPanelSumoSearchPanelQueryArgs(\n query_string=\"metric=Proc_CPU nite-api-2\",\n query_type=\"Metrics\",\n query_key=\"B\",\n metrics_query_mode=\"Basic\",\n metrics_query_data=sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataArgs(\n metric=\"Proc_CPU\",\n filters=[sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArgs(\n key=\"_sourcehost\",\n negation=False,\n value=\"nite-api-2\",\n )],\n aggregation_type=\"None\",\n ),\n ),\n ],\n time_range=sumologic.DashboardPanelSumoSearchPanelTimeRangeArgs(\n begin_bounded_time_range=sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs(\n from_=sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs(\n relative_time_range=sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs(\n relative_time=\"-1h\",\n ),\n ),\n ),\n ),\n ),\n ),\n ],\n layout=sumologic.DashboardLayoutArgs(\n grid=sumologic.DashboardLayoutGridArgs(\n layout_structures=[\n sumologic.DashboardLayoutGridLayoutStructureArgs(\n key=\"text-panel-01\",\n structure=\"{\\\"height\\\":5,\\\"width\\\":24,\\\"x\\\":0,\\\"y\\\":0}\",\n ),\n sumologic.DashboardLayoutGridLayoutStructureArgs(\n key=\"search-panel-01\",\n structure=\"{\\\"height\\\":10,\\\"width\\\":12,\\\"x\\\":0,\\\"y\\\":5}\",\n ),\n sumologic.DashboardLayoutGridLayoutStructureArgs(\n key=\"metrics-panel-01\",\n structure=\"{\\\"height\\\":10,\\\"width\\\":12,\\\"x\\\":12,\\\"y\\\":5}\",\n ),\n sumologic.DashboardLayoutGridLayoutStructureArgs(\n key=\"metrics-panel-02\",\n structure=\"{\\\"height\\\":10,\\\"width\\\":24,\\\"x\\\":0,\\\"y\\\":25}\",\n ),\n ],\n ),\n ),\n variables=[sumologic.DashboardVariableArgs(\n name=\"_sourceHost\",\n display_name=\"Source Host\",\n default_value=\"nite-api-1\",\n source_definition=sumologic.DashboardVariableSourceDefinitionArgs(\n csv_variable_source_definition=sumologic.DashboardVariableSourceDefinitionCsvVariableSourceDefinitionArgs(\n values=\"nite-api-1,nite-api-2\",\n ),\n ),\n allow_multi_select=True,\n include_all_option=True,\n hide_from_ui=False,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing SumoLogic = Pulumi.SumoLogic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var personalFolder = SumoLogic.GetPersonalFolder.Invoke();\n\n var api_dashboard = new SumoLogic.Dashboard(\"api-dashboard\", new()\n {\n Title = \"Api Health Dashboard\",\n Description = \"Demo dashboard description\",\n FolderId = personalFolder.Apply(getPersonalFolderResult =\u003e getPersonalFolderResult.Id),\n RefreshInterval = 120,\n Theme = \"Dark\",\n TimeRange = new SumoLogic.Inputs.DashboardTimeRangeArgs\n {\n BeginBoundedTimeRange = new SumoLogic.Inputs.DashboardTimeRangeBeginBoundedTimeRangeArgs\n {\n From = new SumoLogic.Inputs.DashboardTimeRangeBeginBoundedTimeRangeFromArgs\n {\n LiteralTimeRange = new SumoLogic.Inputs.DashboardTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs\n {\n RangeName = \"today\",\n },\n },\n },\n },\n TopologyLabelMap = new SumoLogic.Inputs.DashboardTopologyLabelMapArgs\n {\n Datas = new[]\n {\n new SumoLogic.Inputs.DashboardTopologyLabelMapDataArgs\n {\n Label = \"cluster\",\n Values = new[]\n {\n \"api-prod\",\n },\n },\n new SumoLogic.Inputs.DashboardTopologyLabelMapDataArgs\n {\n Label = \"namespace\",\n Values = new[]\n {\n \"default\",\n },\n },\n },\n },\n Domain = \"app\",\n Panels = new[]\n {\n new SumoLogic.Inputs.DashboardPanelArgs\n {\n TextPanel = new SumoLogic.Inputs.DashboardPanelTextPanelArgs\n {\n Key = \"text-panel-01\",\n Title = \"Api Health\",\n VisualSettings = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"text\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"verticalAlignment\"] = \"top\",\n [\"horizontalAlignment\"] = \"left\",\n [\"fontSize\"] = 12,\n },\n }),\n KeepVisualSettingsConsistentWithParent = true,\n Text = @\"## Api Health Monitoring\n\nUse this dashboard to monitor API service health. It contains following panels:\n\n1. API errors: Errors in last 12 hours\n3. API 5xx: Count of 5xx response\n3. CPU utilization: CPU utilization in last 60 mins\n\",\n },\n },\n new SumoLogic.Inputs.DashboardPanelArgs\n {\n SumoSearchPanel = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelArgs\n {\n Key = \"search-panel-01\",\n Title = \"Api Errors by Host\",\n Description = \"Errors in api service since last 12 hours\",\n VisualSettings = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"general\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"mode\"] = \"timeSeries\",\n [\"type\"] = \"area\",\n [\"displayType\"] = \"stacked\",\n [\"markerSize\"] = 5,\n [\"lineDashType\"] = \"solid\",\n [\"markerType\"] = \"square\",\n [\"lineThickness\"] = 1,\n },\n [\"title\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"fontSize\"] = 14,\n },\n [\"legend\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"enabled\"] = true,\n [\"verticalAlign\"] = \"bottom\",\n [\"fontSize\"] = 12,\n [\"maxHeight\"] = 50,\n [\"showAsTable\"] = false,\n [\"wrap\"] = true,\n },\n }),\n KeepVisualSettingsConsistentWithParent = true,\n Queries = new[]\n {\n new SumoLogic.Inputs.DashboardPanelSumoSearchPanelQueryArgs\n {\n QueryString = \"_sourceCategory=api error | timeslice 1h | count by _timeslice, _sourceHost | transpose row _timeslice column _sourceHost\",\n QueryType = \"Logs\",\n QueryKey = \"A\",\n },\n },\n TimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeArgs\n {\n BeginBoundedTimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs\n {\n From = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs\n {\n RelativeTimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs\n {\n RelativeTime = \"-12h\",\n },\n },\n },\n },\n },\n },\n new SumoLogic.Inputs.DashboardPanelArgs\n {\n SumoSearchPanel = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelArgs\n {\n Key = \"metrics-panel-01\",\n Title = \"Api 5xx Response Count\",\n Description = \"Count of 5xx response from api service\",\n VisualSettings = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"general\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"mode\"] = \"distribution\",\n [\"type\"] = \"pie\",\n [\"displayType\"] = \"default\",\n [\"fillOpacity\"] = 1,\n [\"startAngle\"] = 270,\n [\"innerRadius\"] = \"40%\",\n [\"maxNumOfSlices\"] = 10,\n [\"aggregationType\"] = \"sum\",\n },\n [\"title\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"fontSize\"] = 14,\n },\n }),\n KeepVisualSettingsConsistentWithParent = true,\n Queries = new[]\n {\n new SumoLogic.Inputs.DashboardPanelSumoSearchPanelQueryArgs\n {\n QueryString = \"_sourceCategory=api metric=Api-5xx\",\n QueryType = \"Metrics\",\n QueryKey = \"A\",\n MetricsQueryMode = \"Advanced\",\n },\n },\n TimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeArgs\n {\n BeginBoundedTimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs\n {\n From = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs\n {\n LiteralTimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs\n {\n RangeName = \"today\",\n },\n },\n },\n },\n },\n },\n new SumoLogic.Inputs.DashboardPanelArgs\n {\n SumoSearchPanel = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelArgs\n {\n Key = \"metrics-panel-02\",\n Title = \"CPU Utilization\",\n Description = \"CPU utilization in api service\",\n VisualSettings = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"general\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"mode\"] = \"timeSeries\",\n [\"type\"] = \"line\",\n [\"displayType\"] = \"smooth\",\n [\"markerSize\"] = 5,\n [\"lineDashType\"] = \"dashDot\",\n [\"markerType\"] = \"none\",\n [\"lineThickness\"] = 1,\n },\n [\"title\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"fontSize\"] = 14,\n },\n }),\n KeepVisualSettingsConsistentWithParent = true,\n Queries = new[]\n {\n new SumoLogic.Inputs.DashboardPanelSumoSearchPanelQueryArgs\n {\n QueryString = \"metric=Proc_CPU nite-api-1\",\n QueryType = \"Metrics\",\n QueryKey = \"A\",\n MetricsQueryMode = \"Basic\",\n MetricsQueryData = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelQueryMetricsQueryDataArgs\n {\n Metric = \"Proc_CPU\",\n Filters = new[]\n {\n new SumoLogic.Inputs.DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArgs\n {\n Key = \"_sourcehost\",\n Negation = false,\n Value = \"nite-api-1\",\n },\n },\n AggregationType = \"None\",\n },\n },\n new SumoLogic.Inputs.DashboardPanelSumoSearchPanelQueryArgs\n {\n QueryString = \"metric=Proc_CPU nite-api-2\",\n QueryType = \"Metrics\",\n QueryKey = \"B\",\n MetricsQueryMode = \"Basic\",\n MetricsQueryData = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelQueryMetricsQueryDataArgs\n {\n Metric = \"Proc_CPU\",\n Filters = new[]\n {\n new SumoLogic.Inputs.DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArgs\n {\n Key = \"_sourcehost\",\n Negation = false,\n Value = \"nite-api-2\",\n },\n },\n AggregationType = \"None\",\n },\n },\n },\n TimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeArgs\n {\n BeginBoundedTimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs\n {\n From = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs\n {\n RelativeTimeRange = new SumoLogic.Inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs\n {\n RelativeTime = \"-1h\",\n },\n },\n },\n },\n },\n },\n },\n Layout = new SumoLogic.Inputs.DashboardLayoutArgs\n {\n Grid = new SumoLogic.Inputs.DashboardLayoutGridArgs\n {\n LayoutStructures = new[]\n {\n new SumoLogic.Inputs.DashboardLayoutGridLayoutStructureArgs\n {\n Key = \"text-panel-01\",\n Structure = \"{\\\"height\\\":5,\\\"width\\\":24,\\\"x\\\":0,\\\"y\\\":0}\",\n },\n new SumoLogic.Inputs.DashboardLayoutGridLayoutStructureArgs\n {\n Key = \"search-panel-01\",\n Structure = \"{\\\"height\\\":10,\\\"width\\\":12,\\\"x\\\":0,\\\"y\\\":5}\",\n },\n new SumoLogic.Inputs.DashboardLayoutGridLayoutStructureArgs\n {\n Key = \"metrics-panel-01\",\n Structure = \"{\\\"height\\\":10,\\\"width\\\":12,\\\"x\\\":12,\\\"y\\\":5}\",\n },\n new SumoLogic.Inputs.DashboardLayoutGridLayoutStructureArgs\n {\n Key = \"metrics-panel-02\",\n Structure = \"{\\\"height\\\":10,\\\"width\\\":24,\\\"x\\\":0,\\\"y\\\":25}\",\n },\n },\n },\n },\n Variables = new[]\n {\n new SumoLogic.Inputs.DashboardVariableArgs\n {\n Name = \"_sourceHost\",\n DisplayName = \"Source Host\",\n DefaultValue = \"nite-api-1\",\n SourceDefinition = new SumoLogic.Inputs.DashboardVariableSourceDefinitionArgs\n {\n CsvVariableSourceDefinition = new SumoLogic.Inputs.DashboardVariableSourceDefinitionCsvVariableSourceDefinitionArgs\n {\n Values = \"nite-api-1,nite-api-2\",\n },\n },\n AllowMultiSelect = true,\n IncludeAllOption = true,\n HideFromUi = false,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-sumologic/sdk/go/sumologic\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpersonalFolder, err := sumologic.GetPersonalFolder(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"text\": map[string]interface{}{\n\t\t\t\t\"verticalAlignment\": \"top\",\n\t\t\t\t\"horizontalAlignment\": \"left\",\n\t\t\t\t\"fontSize\": 12,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"general\": map[string]interface{}{\n\t\t\t\t\"mode\": \"timeSeries\",\n\t\t\t\t\"type\": \"area\",\n\t\t\t\t\"displayType\": \"stacked\",\n\t\t\t\t\"markerSize\": 5,\n\t\t\t\t\"lineDashType\": \"solid\",\n\t\t\t\t\"markerType\": \"square\",\n\t\t\t\t\"lineThickness\": 1,\n\t\t\t},\n\t\t\t\"title\": map[string]interface{}{\n\t\t\t\t\"fontSize\": 14,\n\t\t\t},\n\t\t\t\"legend\": map[string]interface{}{\n\t\t\t\t\"enabled\": true,\n\t\t\t\t\"verticalAlign\": \"bottom\",\n\t\t\t\t\"fontSize\": 12,\n\t\t\t\t\"maxHeight\": 50,\n\t\t\t\t\"showAsTable\": false,\n\t\t\t\t\"wrap\": true,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\ttmpJSON2, err := json.Marshal(map[string]interface{}{\n\t\t\t\"general\": map[string]interface{}{\n\t\t\t\t\"mode\": \"distribution\",\n\t\t\t\t\"type\": \"pie\",\n\t\t\t\t\"displayType\": \"default\",\n\t\t\t\t\"fillOpacity\": 1,\n\t\t\t\t\"startAngle\": 270,\n\t\t\t\t\"innerRadius\": \"40%\",\n\t\t\t\t\"maxNumOfSlices\": 10,\n\t\t\t\t\"aggregationType\": \"sum\",\n\t\t\t},\n\t\t\t\"title\": map[string]interface{}{\n\t\t\t\t\"fontSize\": 14,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson2 := string(tmpJSON2)\n\t\ttmpJSON3, err := json.Marshal(map[string]interface{}{\n\t\t\t\"general\": map[string]interface{}{\n\t\t\t\t\"mode\": \"timeSeries\",\n\t\t\t\t\"type\": \"line\",\n\t\t\t\t\"displayType\": \"smooth\",\n\t\t\t\t\"markerSize\": 5,\n\t\t\t\t\"lineDashType\": \"dashDot\",\n\t\t\t\t\"markerType\": \"none\",\n\t\t\t\t\"lineThickness\": 1,\n\t\t\t},\n\t\t\t\"title\": map[string]interface{}{\n\t\t\t\t\"fontSize\": 14,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson3 := string(tmpJSON3)\n\t\t_, err = sumologic.NewDashboard(ctx, \"api-dashboard\", \u0026sumologic.DashboardArgs{\n\t\t\tTitle: pulumi.String(\"Api Health Dashboard\"),\n\t\t\tDescription: pulumi.String(\"Demo dashboard description\"),\n\t\t\tFolderId: *pulumi.String(personalFolder.Id),\n\t\t\tRefreshInterval: pulumi.Int(120),\n\t\t\tTheme: pulumi.String(\"Dark\"),\n\t\t\tTimeRange: \u0026sumologic.DashboardTimeRangeArgs{\n\t\t\t\tBeginBoundedTimeRange: \u0026sumologic.DashboardTimeRangeBeginBoundedTimeRangeArgs{\n\t\t\t\t\tFrom: \u0026sumologic.DashboardTimeRangeBeginBoundedTimeRangeFromArgs{\n\t\t\t\t\t\tLiteralTimeRange: \u0026sumologic.DashboardTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs{\n\t\t\t\t\t\t\tRangeName: pulumi.String(\"today\"),\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\tTopologyLabelMap: \u0026sumologic.DashboardTopologyLabelMapArgs{\n\t\t\t\tDatas: sumologic.DashboardTopologyLabelMapDataArray{\n\t\t\t\t\t\u0026sumologic.DashboardTopologyLabelMapDataArgs{\n\t\t\t\t\t\tLabel: pulumi.String(\"cluster\"),\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"api-prod\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026sumologic.DashboardTopologyLabelMapDataArgs{\n\t\t\t\t\t\tLabel: pulumi.String(\"namespace\"),\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"default\"),\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\tDomain: pulumi.String(\"app\"),\n\t\t\tPanels: sumologic.DashboardPanelArray{\n\t\t\t\t\u0026sumologic.DashboardPanelArgs{\n\t\t\t\t\tTextPanel: \u0026sumologic.DashboardPanelTextPanelArgs{\n\t\t\t\t\t\tKey: pulumi.String(\"text-panel-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Api Health\"),\n\t\t\t\t\t\tVisualSettings: pulumi.String(json0),\n\t\t\t\t\t\tKeepVisualSettingsConsistentWithParent: pulumi.Bool(true),\n\t\t\t\t\t\tText: pulumi.String(`## Api Health Monitoring\n\nUse this dashboard to monitor API service health. It contains following panels:\n\n1. API errors: Errors in last 12 hours\n3. API 5xx: Count of 5xx response\n3. CPU utilization: CPU utilization in last 60 mins\n`),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026sumologic.DashboardPanelArgs{\n\t\t\t\t\tSumoSearchPanel: \u0026sumologic.DashboardPanelSumoSearchPanelArgs{\n\t\t\t\t\t\tKey: pulumi.String(\"search-panel-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Api Errors by Host\"),\n\t\t\t\t\t\tDescription: pulumi.String(\"Errors in api service since last 12 hours\"),\n\t\t\t\t\t\tVisualSettings: pulumi.String(json1),\n\t\t\t\t\t\tKeepVisualSettingsConsistentWithParent: pulumi.Bool(true),\n\t\t\t\t\t\tQueries: sumologic.DashboardPanelSumoSearchPanelQueryArray{\n\t\t\t\t\t\t\t\u0026sumologic.DashboardPanelSumoSearchPanelQueryArgs{\n\t\t\t\t\t\t\t\tQueryString: pulumi.String(\"_sourceCategory=api error | timeslice 1h | count by _timeslice, _sourceHost | transpose row _timeslice column _sourceHost\"),\n\t\t\t\t\t\t\t\tQueryType: pulumi.String(\"Logs\"),\n\t\t\t\t\t\t\t\tQueryKey: pulumi.String(\"A\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTimeRange: \u0026sumologic.DashboardPanelSumoSearchPanelTimeRangeArgs{\n\t\t\t\t\t\t\tBeginBoundedTimeRange: \u0026sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs{\n\t\t\t\t\t\t\t\tFrom: \u0026sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs{\n\t\t\t\t\t\t\t\t\tRelativeTimeRange: \u0026sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs{\n\t\t\t\t\t\t\t\t\t\tRelativeTime: pulumi.String(\"-12h\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\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\t\u0026sumologic.DashboardPanelArgs{\n\t\t\t\t\tSumoSearchPanel: \u0026sumologic.DashboardPanelSumoSearchPanelArgs{\n\t\t\t\t\t\tKey: pulumi.String(\"metrics-panel-01\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"Api 5xx Response Count\"),\n\t\t\t\t\t\tDescription: pulumi.String(\"Count of 5xx response from api service\"),\n\t\t\t\t\t\tVisualSettings: pulumi.String(json2),\n\t\t\t\t\t\tKeepVisualSettingsConsistentWithParent: pulumi.Bool(true),\n\t\t\t\t\t\tQueries: sumologic.DashboardPanelSumoSearchPanelQueryArray{\n\t\t\t\t\t\t\t\u0026sumologic.DashboardPanelSumoSearchPanelQueryArgs{\n\t\t\t\t\t\t\t\tQueryString: pulumi.String(\"_sourceCategory=api metric=Api-5xx\"),\n\t\t\t\t\t\t\t\tQueryType: pulumi.String(\"Metrics\"),\n\t\t\t\t\t\t\t\tQueryKey: pulumi.String(\"A\"),\n\t\t\t\t\t\t\t\tMetricsQueryMode: pulumi.String(\"Advanced\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTimeRange: \u0026sumologic.DashboardPanelSumoSearchPanelTimeRangeArgs{\n\t\t\t\t\t\t\tBeginBoundedTimeRange: \u0026sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs{\n\t\t\t\t\t\t\t\tFrom: \u0026sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs{\n\t\t\t\t\t\t\t\t\tLiteralTimeRange: \u0026sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs{\n\t\t\t\t\t\t\t\t\t\tRangeName: pulumi.String(\"today\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\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\t\u0026sumologic.DashboardPanelArgs{\n\t\t\t\t\tSumoSearchPanel: \u0026sumologic.DashboardPanelSumoSearchPanelArgs{\n\t\t\t\t\t\tKey: pulumi.String(\"metrics-panel-02\"),\n\t\t\t\t\t\tTitle: pulumi.String(\"CPU Utilization\"),\n\t\t\t\t\t\tDescription: pulumi.String(\"CPU utilization in api service\"),\n\t\t\t\t\t\tVisualSettings: pulumi.String(json3),\n\t\t\t\t\t\tKeepVisualSettingsConsistentWithParent: pulumi.Bool(true),\n\t\t\t\t\t\tQueries: sumologic.DashboardPanelSumoSearchPanelQueryArray{\n\t\t\t\t\t\t\t\u0026sumologic.DashboardPanelSumoSearchPanelQueryArgs{\n\t\t\t\t\t\t\t\tQueryString: pulumi.String(\"metric=Proc_CPU nite-api-1\"),\n\t\t\t\t\t\t\t\tQueryType: pulumi.String(\"Metrics\"),\n\t\t\t\t\t\t\t\tQueryKey: pulumi.String(\"A\"),\n\t\t\t\t\t\t\t\tMetricsQueryMode: pulumi.String(\"Basic\"),\n\t\t\t\t\t\t\t\tMetricsQueryData: \u0026sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataArgs{\n\t\t\t\t\t\t\t\t\tMetric: pulumi.String(\"Proc_CPU\"),\n\t\t\t\t\t\t\t\t\tFilters: sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArray{\n\t\t\t\t\t\t\t\t\t\t\u0026sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArgs{\n\t\t\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"_sourcehost\"),\n\t\t\t\t\t\t\t\t\t\t\tNegation: pulumi.Bool(false),\n\t\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"nite-api-1\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tAggregationType: pulumi.String(\"None\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026sumologic.DashboardPanelSumoSearchPanelQueryArgs{\n\t\t\t\t\t\t\t\tQueryString: pulumi.String(\"metric=Proc_CPU nite-api-2\"),\n\t\t\t\t\t\t\t\tQueryType: pulumi.String(\"Metrics\"),\n\t\t\t\t\t\t\t\tQueryKey: pulumi.String(\"B\"),\n\t\t\t\t\t\t\t\tMetricsQueryMode: pulumi.String(\"Basic\"),\n\t\t\t\t\t\t\t\tMetricsQueryData: \u0026sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataArgs{\n\t\t\t\t\t\t\t\t\tMetric: pulumi.String(\"Proc_CPU\"),\n\t\t\t\t\t\t\t\t\tFilters: sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArray{\n\t\t\t\t\t\t\t\t\t\t\u0026sumologic.DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArgs{\n\t\t\t\t\t\t\t\t\t\t\tKey: pulumi.String(\"_sourcehost\"),\n\t\t\t\t\t\t\t\t\t\t\tNegation: pulumi.Bool(false),\n\t\t\t\t\t\t\t\t\t\t\tValue: pulumi.String(\"nite-api-2\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tAggregationType: pulumi.String(\"None\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTimeRange: \u0026sumologic.DashboardPanelSumoSearchPanelTimeRangeArgs{\n\t\t\t\t\t\t\tBeginBoundedTimeRange: \u0026sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs{\n\t\t\t\t\t\t\t\tFrom: \u0026sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs{\n\t\t\t\t\t\t\t\t\tRelativeTimeRange: \u0026sumologic.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs{\n\t\t\t\t\t\t\t\t\t\tRelativeTime: pulumi.String(\"-1h\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\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\tLayout: \u0026sumologic.DashboardLayoutArgs{\n\t\t\t\tGrid: \u0026sumologic.DashboardLayoutGridArgs{\n\t\t\t\t\tLayoutStructures: sumologic.DashboardLayoutGridLayoutStructureArray{\n\t\t\t\t\t\t\u0026sumologic.DashboardLayoutGridLayoutStructureArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"text-panel-01\"),\n\t\t\t\t\t\t\tStructure: pulumi.String(\"{\\\"height\\\":5,\\\"width\\\":24,\\\"x\\\":0,\\\"y\\\":0}\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026sumologic.DashboardLayoutGridLayoutStructureArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"search-panel-01\"),\n\t\t\t\t\t\t\tStructure: pulumi.String(\"{\\\"height\\\":10,\\\"width\\\":12,\\\"x\\\":0,\\\"y\\\":5}\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026sumologic.DashboardLayoutGridLayoutStructureArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"metrics-panel-01\"),\n\t\t\t\t\t\t\tStructure: pulumi.String(\"{\\\"height\\\":10,\\\"width\\\":12,\\\"x\\\":12,\\\"y\\\":5}\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026sumologic.DashboardLayoutGridLayoutStructureArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"metrics-panel-02\"),\n\t\t\t\t\t\t\tStructure: pulumi.String(\"{\\\"height\\\":10,\\\"width\\\":24,\\\"x\\\":0,\\\"y\\\":25}\"),\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\tVariables: sumologic.DashboardVariableArray{\n\t\t\t\t\u0026sumologic.DashboardVariableArgs{\n\t\t\t\t\tName: pulumi.String(\"_sourceHost\"),\n\t\t\t\t\tDisplayName: pulumi.String(\"Source Host\"),\n\t\t\t\t\tDefaultValue: pulumi.String(\"nite-api-1\"),\n\t\t\t\t\tSourceDefinition: \u0026sumologic.DashboardVariableSourceDefinitionArgs{\n\t\t\t\t\t\tCsvVariableSourceDefinition: \u0026sumologic.DashboardVariableSourceDefinitionCsvVariableSourceDefinitionArgs{\n\t\t\t\t\t\t\tValues: pulumi.String(\"nite-api-1,nite-api-2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tAllowMultiSelect: pulumi.Bool(true),\n\t\t\t\t\tIncludeAllOption: pulumi.Bool(true),\n\t\t\t\t\tHideFromUi: 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.sumologic.SumologicFunctions;\nimport com.pulumi.sumologic.inputs.GetPersonalFolderArgs;\nimport com.pulumi.sumologic.Dashboard;\nimport com.pulumi.sumologic.DashboardArgs;\nimport com.pulumi.sumologic.inputs.DashboardTimeRangeArgs;\nimport com.pulumi.sumologic.inputs.DashboardTimeRangeBeginBoundedTimeRangeArgs;\nimport com.pulumi.sumologic.inputs.DashboardTimeRangeBeginBoundedTimeRangeFromArgs;\nimport com.pulumi.sumologic.inputs.DashboardTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs;\nimport com.pulumi.sumologic.inputs.DashboardTopologyLabelMapArgs;\nimport com.pulumi.sumologic.inputs.DashboardPanelArgs;\nimport com.pulumi.sumologic.inputs.DashboardPanelTextPanelArgs;\nimport com.pulumi.sumologic.inputs.DashboardPanelSumoSearchPanelArgs;\nimport com.pulumi.sumologic.inputs.DashboardPanelSumoSearchPanelTimeRangeArgs;\nimport com.pulumi.sumologic.inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs;\nimport com.pulumi.sumologic.inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs;\nimport com.pulumi.sumologic.inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs;\nimport com.pulumi.sumologic.inputs.DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs;\nimport com.pulumi.sumologic.inputs.DashboardLayoutArgs;\nimport com.pulumi.sumologic.inputs.DashboardLayoutGridArgs;\nimport com.pulumi.sumologic.inputs.DashboardVariableArgs;\nimport com.pulumi.sumologic.inputs.DashboardVariableSourceDefinitionArgs;\nimport com.pulumi.sumologic.inputs.DashboardVariableSourceDefinitionCsvVariableSourceDefinitionArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\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 personalFolder = SumologicFunctions.getPersonalFolder();\n\n var api_dashboard = new Dashboard(\"api-dashboard\", DashboardArgs.builder() \n .title(\"Api Health Dashboard\")\n .description(\"Demo dashboard description\")\n .folderId(personalFolder.applyValue(getPersonalFolderResult -\u003e getPersonalFolderResult.id()))\n .refreshInterval(120)\n .theme(\"Dark\")\n .timeRange(DashboardTimeRangeArgs.builder()\n .beginBoundedTimeRange(DashboardTimeRangeBeginBoundedTimeRangeArgs.builder()\n .from(DashboardTimeRangeBeginBoundedTimeRangeFromArgs.builder()\n .literalTimeRange(DashboardTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs.builder()\n .rangeName(\"today\")\n .build())\n .build())\n .build())\n .build())\n .topologyLabelMap(DashboardTopologyLabelMapArgs.builder()\n .datas( \n DashboardTopologyLabelMapDataArgs.builder()\n .label(\"cluster\")\n .values(\"api-prod\")\n .build(),\n DashboardTopologyLabelMapDataArgs.builder()\n .label(\"namespace\")\n .values(\"default\")\n .build())\n .build())\n .domain(\"app\")\n .panels( \n DashboardPanelArgs.builder()\n .textPanel(DashboardPanelTextPanelArgs.builder()\n .key(\"text-panel-01\")\n .title(\"Api Health\")\n .visualSettings(serializeJson(\n jsonObject(\n jsonProperty(\"text\", jsonObject(\n jsonProperty(\"verticalAlignment\", \"top\"),\n jsonProperty(\"horizontalAlignment\", \"left\"),\n jsonProperty(\"fontSize\", 12)\n ))\n )))\n .keepVisualSettingsConsistentWithParent(true)\n .text(\"\"\"\n## Api Health Monitoring\n\nUse this dashboard to monitor API service health. It contains following panels:\n\n1. API errors: Errors in last 12 hours\n3. API 5xx: Count of 5xx response\n3. CPU utilization: CPU utilization in last 60 mins\n \"\"\")\n .build())\n .build(),\n DashboardPanelArgs.builder()\n .sumoSearchPanel(DashboardPanelSumoSearchPanelArgs.builder()\n .key(\"search-panel-01\")\n .title(\"Api Errors by Host\")\n .description(\"Errors in api service since last 12 hours\")\n .visualSettings(serializeJson(\n jsonObject(\n jsonProperty(\"general\", jsonObject(\n jsonProperty(\"mode\", \"timeSeries\"),\n jsonProperty(\"type\", \"area\"),\n jsonProperty(\"displayType\", \"stacked\"),\n jsonProperty(\"markerSize\", 5),\n jsonProperty(\"lineDashType\", \"solid\"),\n jsonProperty(\"markerType\", \"square\"),\n jsonProperty(\"lineThickness\", 1)\n )),\n jsonProperty(\"title\", jsonObject(\n jsonProperty(\"fontSize\", 14)\n )),\n jsonProperty(\"legend\", jsonObject(\n jsonProperty(\"enabled\", true),\n jsonProperty(\"verticalAlign\", \"bottom\"),\n jsonProperty(\"fontSize\", 12),\n jsonProperty(\"maxHeight\", 50),\n jsonProperty(\"showAsTable\", false),\n jsonProperty(\"wrap\", true)\n ))\n )))\n .keepVisualSettingsConsistentWithParent(true)\n .queries(DashboardPanelSumoSearchPanelQueryArgs.builder()\n .queryString(\"_sourceCategory=api error | timeslice 1h | count by _timeslice, _sourceHost | transpose row _timeslice column _sourceHost\")\n .queryType(\"Logs\")\n .queryKey(\"A\")\n .build())\n .timeRange(DashboardPanelSumoSearchPanelTimeRangeArgs.builder()\n .beginBoundedTimeRange(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs.builder()\n .from(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs.builder()\n .relativeTimeRange(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs.builder()\n .relativeTime(\"-12h\")\n .build())\n .build())\n .build())\n .build())\n .build())\n .build(),\n DashboardPanelArgs.builder()\n .sumoSearchPanel(DashboardPanelSumoSearchPanelArgs.builder()\n .key(\"metrics-panel-01\")\n .title(\"Api 5xx Response Count\")\n .description(\"Count of 5xx response from api service\")\n .visualSettings(serializeJson(\n jsonObject(\n jsonProperty(\"general\", jsonObject(\n jsonProperty(\"mode\", \"distribution\"),\n jsonProperty(\"type\", \"pie\"),\n jsonProperty(\"displayType\", \"default\"),\n jsonProperty(\"fillOpacity\", 1),\n jsonProperty(\"startAngle\", 270),\n jsonProperty(\"innerRadius\", \"40%\"),\n jsonProperty(\"maxNumOfSlices\", 10),\n jsonProperty(\"aggregationType\", \"sum\")\n )),\n jsonProperty(\"title\", jsonObject(\n jsonProperty(\"fontSize\", 14)\n ))\n )))\n .keepVisualSettingsConsistentWithParent(true)\n .queries(DashboardPanelSumoSearchPanelQueryArgs.builder()\n .queryString(\"_sourceCategory=api metric=Api-5xx\")\n .queryType(\"Metrics\")\n .queryKey(\"A\")\n .metricsQueryMode(\"Advanced\")\n .build())\n .timeRange(DashboardPanelSumoSearchPanelTimeRangeArgs.builder()\n .beginBoundedTimeRange(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs.builder()\n .from(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs.builder()\n .literalTimeRange(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs.builder()\n .rangeName(\"today\")\n .build())\n .build())\n .build())\n .build())\n .build())\n .build(),\n DashboardPanelArgs.builder()\n .sumoSearchPanel(DashboardPanelSumoSearchPanelArgs.builder()\n .key(\"metrics-panel-02\")\n .title(\"CPU Utilization\")\n .description(\"CPU utilization in api service\")\n .visualSettings(serializeJson(\n jsonObject(\n jsonProperty(\"general\", jsonObject(\n jsonProperty(\"mode\", \"timeSeries\"),\n jsonProperty(\"type\", \"line\"),\n jsonProperty(\"displayType\", \"smooth\"),\n jsonProperty(\"markerSize\", 5),\n jsonProperty(\"lineDashType\", \"dashDot\"),\n jsonProperty(\"markerType\", \"none\"),\n jsonProperty(\"lineThickness\", 1)\n )),\n jsonProperty(\"title\", jsonObject(\n jsonProperty(\"fontSize\", 14)\n ))\n )))\n .keepVisualSettingsConsistentWithParent(true)\n .queries( \n DashboardPanelSumoSearchPanelQueryArgs.builder()\n .queryString(\"metric=Proc_CPU nite-api-1\")\n .queryType(\"Metrics\")\n .queryKey(\"A\")\n .metricsQueryMode(\"Basic\")\n .metricsQueryData(DashboardPanelSumoSearchPanelQueryMetricsQueryDataArgs.builder()\n .metric(\"Proc_CPU\")\n .filters(DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArgs.builder()\n .key(\"_sourcehost\")\n .negation(false)\n .value(\"nite-api-1\")\n .build())\n .aggregationType(\"None\")\n .build())\n .build(),\n DashboardPanelSumoSearchPanelQueryArgs.builder()\n .queryString(\"metric=Proc_CPU nite-api-2\")\n .queryType(\"Metrics\")\n .queryKey(\"B\")\n .metricsQueryMode(\"Basic\")\n .metricsQueryData(DashboardPanelSumoSearchPanelQueryMetricsQueryDataArgs.builder()\n .metric(\"Proc_CPU\")\n .filters(DashboardPanelSumoSearchPanelQueryMetricsQueryDataFilterArgs.builder()\n .key(\"_sourcehost\")\n .negation(false)\n .value(\"nite-api-2\")\n .build())\n .aggregationType(\"None\")\n .build())\n .build())\n .timeRange(DashboardPanelSumoSearchPanelTimeRangeArgs.builder()\n .beginBoundedTimeRange(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeArgs.builder()\n .from(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromArgs.builder()\n .relativeTimeRange(DashboardPanelSumoSearchPanelTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs.builder()\n .relativeTime(\"-1h\")\n .build())\n .build())\n .build())\n .build())\n .build())\n .build())\n .layout(DashboardLayoutArgs.builder()\n .grid(DashboardLayoutGridArgs.builder()\n .layoutStructures( \n DashboardLayoutGridLayoutStructureArgs.builder()\n .key(\"text-panel-01\")\n .structure(\"{\\\"height\\\":5,\\\"width\\\":24,\\\"x\\\":0,\\\"y\\\":0}\")\n .build(),\n DashboardLayoutGridLayoutStructureArgs.builder()\n .key(\"search-panel-01\")\n .structure(\"{\\\"height\\\":10,\\\"width\\\":12,\\\"x\\\":0,\\\"y\\\":5}\")\n .build(),\n DashboardLayoutGridLayoutStructureArgs.builder()\n .key(\"metrics-panel-01\")\n .structure(\"{\\\"height\\\":10,\\\"width\\\":12,\\\"x\\\":12,\\\"y\\\":5}\")\n .build(),\n DashboardLayoutGridLayoutStructureArgs.builder()\n .key(\"metrics-panel-02\")\n .structure(\"{\\\"height\\\":10,\\\"width\\\":24,\\\"x\\\":0,\\\"y\\\":25}\")\n .build())\n .build())\n .build())\n .variables(DashboardVariableArgs.builder()\n .name(\"_sourceHost\")\n .displayName(\"Source Host\")\n .defaultValue(\"nite-api-1\")\n .sourceDefinition(DashboardVariableSourceDefinitionArgs.builder()\n .csvVariableSourceDefinition(DashboardVariableSourceDefinitionCsvVariableSourceDefinitionArgs.builder()\n .values(\"nite-api-1,nite-api-2\")\n .build())\n .build())\n .allowMultiSelect(true)\n .includeAllOption(true)\n .hideFromUi(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n api-dashboard:\n type: sumologic:Dashboard\n properties:\n title: Api Health Dashboard\n description: Demo dashboard description\n folderId: ${personalFolder.id}\n refreshInterval: 120\n theme: Dark\n timeRange:\n beginBoundedTimeRange:\n from:\n literalTimeRange:\n rangeName: today\n topologyLabelMap:\n datas:\n - label: cluster\n values:\n - api-prod\n - label: namespace\n values:\n - default\n domain: app\n ## text panel\n panels:\n - textPanel:\n key: text-panel-01\n title: Api Health\n visualSettings:\n fn::toJSON:\n text:\n verticalAlignment: top\n horizontalAlignment: left\n fontSize: 12\n keepVisualSettingsConsistentWithParent: true\n text: |\n ## Api Health Monitoring\n\n Use this dashboard to monitor API service health. It contains following panels:\n\n 1. API errors: Errors in last 12 hours\n 3. API 5xx: Count of 5xx response\n 3. CPU utilization: CPU utilization in last 60 mins\n - sumoSearchPanel:\n key: search-panel-01\n title: Api Errors by Host\n description: Errors in api service since last 12 hours\n visualSettings:\n fn::toJSON:\n general:\n mode: timeSeries\n type: area\n displayType: stacked\n markerSize: 5\n lineDashType: solid\n markerType: square\n lineThickness: 1\n title:\n fontSize: 14\n legend:\n enabled: true\n verticalAlign: bottom\n fontSize: 12\n maxHeight: 50\n showAsTable: false\n wrap: true\n keepVisualSettingsConsistentWithParent: true\n queries:\n - queryString: _sourceCategory=api error | timeslice 1h | count by _timeslice, _sourceHost | transpose row _timeslice column _sourceHost\n queryType: Logs\n queryKey: A\n timeRange:\n beginBoundedTimeRange:\n from:\n relativeTimeRange:\n relativeTime: -12h\n - sumoSearchPanel:\n key: metrics-panel-01\n title: Api 5xx Response Count\n description: Count of 5xx response from api service\n visualSettings:\n fn::toJSON:\n general:\n mode: distribution\n type: pie\n displayType: default\n fillOpacity: 1\n startAngle: 270\n innerRadius: 40%\n maxNumOfSlices: 10\n aggregationType: sum\n title:\n fontSize: 14\n keepVisualSettingsConsistentWithParent: true\n queries:\n - queryString: _sourceCategory=api metric=Api-5xx\n queryType: Metrics\n queryKey: A\n metricsQueryMode: Advanced\n timeRange:\n beginBoundedTimeRange:\n from:\n literalTimeRange:\n rangeName: today\n - sumoSearchPanel:\n key: metrics-panel-02\n title: CPU Utilization\n description: CPU utilization in api service\n visualSettings:\n fn::toJSON:\n general:\n mode: timeSeries\n type: line\n displayType: smooth\n markerSize: 5\n lineDashType: dashDot\n markerType: none\n lineThickness: 1\n title:\n fontSize: 14\n keepVisualSettingsConsistentWithParent: true\n queries:\n - queryString: metric=Proc_CPU nite-api-1\n queryType: Metrics\n queryKey: A\n metricsQueryMode: Basic\n metricsQueryData:\n metric: Proc_CPU\n filters:\n - key: _sourcehost\n negation: false\n value: nite-api-1\n aggregationType: None\n - queryString: metric=Proc_CPU nite-api-2\n queryType: Metrics\n queryKey: B\n metricsQueryMode: Basic\n metricsQueryData:\n metric: Proc_CPU\n filters:\n - key: _sourcehost\n negation: false\n value: nite-api-2\n aggregationType: None\n timeRange:\n beginBoundedTimeRange:\n from:\n relativeTimeRange:\n relativeTime: -1h\n layout:\n grid:\n layoutStructures:\n - key: text-panel-01\n structure: '{\"height\":5,\"width\":24,\"x\":0,\"y\":0}'\n - key: search-panel-01\n structure: '{\"height\":10,\"width\":12,\"x\":0,\"y\":5}'\n - key: metrics-panel-01\n structure: '{\"height\":10,\"width\":12,\"x\":12,\"y\":5}'\n - key: metrics-panel-02\n structure: '{\"height\":10,\"width\":24,\"x\":0,\"y\":25}'\n ## variables\n variables:\n - name: _sourceHost\n displayName: Source Host\n defaultValue: nite-api-1\n sourceDefinition:\n csvVariableSourceDefinition:\n values: nite-api-1,nite-api-2\n allowMultiSelect: true\n includeAllOption: true\n hideFromUi: false\nvariables:\n personalFolder:\n fn::invoke:\n Function: sumologic:getPersonalFolder\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}\n## Attributes reference\n\nIn addition to all arguments above, the following attributes are exported:\n\n- `id` - The ID of the dashboard.\n\n### Schema for `topology_label_map`\n- `data` - (Block List, Required) A list of blocks containing label and it's values.\n\t- `label` - (Required) The name of the topology label.\n\t- `values` - (Required) The values for the topology label.\n\n\n### Schema for `time_range`\n- `complete_literal_time_range` - (Block List, Max: 1, Optional) Literal time range. See\ncomplete_literal_time_range schema for details.\n- `begin_bounded_time_range` - (Block List, Max: 1, Optional) Bounded time range. See\nbegin_bounded_time_range schema schema for details.\nschema for details.\n\n### Schema for `complete_literal_time_range`\n- `range_name` - (Required) Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, `previous_month`.\n\n### Schema for `begin_bounded_time_range`\n- `from` - (Block List, Max: 1, Required) Start boundary of bounded time range. See\ntime_range_boundary schema for details.\n- `to` - (Block List, Max: 1, Optional) End boundary of bounded time range. See\ntime_range_boundary schema for details.\n\n### Schema for `time_range_boundary`\n- `epoch_time_range` - (Block List, Optional) Time since the epoch.\n - `epoch_millis` - (Required) Time as a number of milliseconds since the epoch.\n\n- `iso8601_time_range` - (Block List, Optional) Time in ISO 8601 format.\n - `iso8601_time` - (Required) Time as a string in ISO 8601 format.\n\n- `relative_time_range` - (Block List, Optional) Time in relative format.\n - `relative_time` - (Required) Relative time as a string consists of following elements:\n 1. `-` (optional): minus sign indicates time in the past,\n 2. `\u003cnumber\u003e`: number of time units,\n 3. `\u003ctime_unit\u003e`: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second).\n\n Multiple pairs of `\u003cnumber\u003e\u003ctime_unit\u003e` may be provided, and they may be in any order. For example,\n `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago.\n\n- `literal_time_range` - (Block List, Optional) Time in literal format.\n - `range_name` - (Required) One of `now`, `second`, `minute`, `hour`, `day`, `today`, `week`, `month`, `year`.\n\n### Schema for `panel`\n- `text_panel` - (Block List, Max: 1, Optional) A text panel. See text_panel schema for details.\n- `sumo_search_panel` - (Block List, Max: 1, Optional) A search panel. See sumo_search_panel schema\nfor details.\n\n### Schema for `text_panel`\n- `key` - (Required) Key for the panel. Used to create searches for the queries in the panel and configure the layout\nof the panel in the dashboard.\n- `title` - (Optional) Title of the panel.\n- `visual_settings` - (Optional) Visual settings of the panel.\n- `keep_visual_settings_consistent_with_parent` - (Optional) Keeps the visual settings, like series colors, consistent\nwith the settings of the parent panel.\n- `text` - (Required) Text to display in the panel.\n\n### Schema for `sumo_search_panel`\n- `key` - (Required) Key for the panel. Used to create searches for the queries in the panel and configure the layout\nof the panel in the dashboard.\n- `title` - (Optional) Title of the panel.\n- `visual_settings` - (Optional) Visual settings of the panel.\n- `keep_visual_settings_consistent_with_parent` - (Optional) Keeps the visual settings, like series colors, consistent\nwith the settings of the parent panel.\n- `query` - (Block List, Required) A list of queries for the panel. Can be log or metric query. See\nquery schema for details.\n- `description` - (Optional) Description of the panel.\n- `time_range` - (Block List, Max: 1, Optional) Time range of the panel. See time_range schema\nfor details.\n- `linked_dashboard` - (Block List, Optional) A list of linked dashboards. See\nlinked_dashboard schema for details.\n\n### Schema for `query`\n- `query_string` - (Required) The metrics or logs query.\n- `query_type` - (Required) The type of the query. One of `Metrics` or `Logs`.\n- `query_key` - (Required) The key for metric or log query. Used as an identifier for queries.\n- `metric_query_mode` - (Optional) _Should only be specified for metric query_. The mode of the metric query.\nOne of `Basic` or `Advanced`.\n- `metric_query_data` - (Optional) _Should only be specified for metric query_. Data format for the metric query. See\nmetric_query_data schema for details.\n\n### Schema for `metric_query_data`\n- `metric` - (Required) The metric of the query.\n- `aggregation_type` - (Optional) The type of aggregation. One of `Count`, `Minimum`, `Maximum`, `Sum`, `Average`, `None`.\n- `group_by` - The field to group the results by.\n- `filter` - (Block List, Required) A list of filters for the metrics query.\n - `key` - (Required) The key of the metrics filter.\n - `value` - (Required) The value of the metrics filter.\n - `negation` - (Optional) Whether or not the metrics filter is negated.\n- `operator` - (Block List, Optional) A list of operator data for the metrics query.\n\n### Schema for `operator`\n- `operator_name` - (Required) The name of the metrics operator.\n- `parameter` - (Block List, Required) A list of operator parameters for the operator data.\n - `key` - (Required) The key of the operator parameter.\n - `value` - (Required) The value of the operator parameter.\n\n### Schema for `linked_dashboard`\n- `id` - (Required) Identifier of the linked dashboard.\n- `relative_path` - (Optional) Relative path of the linked dashboard to the dashboard of the linking panel.\n- `include_time_range` - (Optional) Include time range from the current dashboard to the linked dashboard. _Defaults to true_.\n- `include_variables` - (Optional) Include variables from the current dashboard to the linked dashboard. _Defaults to true_.\n\n### Schema for `layout`\n- `grid` - (Block List, Max: 1, Optional) Panel layout for the dashboard.\n\n### Schema for `grid`\n- `layout_structure` - (Block List, Required) Layout structure for the panels in the dashboard.\n - `key` - (Required) The identifier of the panel that this structure applies to. It's same as `panel.key`.\n - `structure` - (Required) The structure of the panel.\n\n### Schema for `variable`\n- `name` - (Required) Name of the variable. The variable name is case-insensitive.\n- `display_name` - (Optional) Display name of the variable shown in the UI. If this field is empty, the name field will be used.\n- `default_value` - (Optional) Default value of the variable.\n- `source_definition` - (Required) Source definition for variable values. See\nsource_definition schema for details.\n- `allow_multi_select` - (Optional) Allow multiple selections in the values dropdown.\n- `include_all_option` - (Optional) Include an \"All\" option at the top of the variable's values dropdown. _Defaults to true._\n- `hide_from_ui` - (Optional) Hide the variable in the dashboard UI.\n\n### Schema for `source_definition`\n- `log_query_variable_source_definition` - (Optional) Variable values from a log query.\n - `query` - (Required) A log query.\n - `field` - (Required) A field in log query to populate the variable values\n- `metadata_variable_source_definition` - (Optional) Variable values from a metric query.\n - `filter` - (Required) Filter to search the catalog.\n - `key` - (Required) Return the values for this given key.\n- `csv_variable_source_definition` - (Optional) Variable values in csv format.\n - `values` - (Required) A comma separated values for the variable.\n\n\n## Import\n\nDashboard can be imported using the dashboard id, e.g.hcl\n\n```sh\n $ pulumi import sumologic:index/dashboard:Dashboard example-dashboard q0IKwAK5t2qRI4sgiANwnS87k5S4twN2sCpTuZFSsz6ZmbENPsG7PnpqZygc\n```\n\n [1]https://help.sumologic.com/Visualizations-and-Alerts/Dashboard_(New) ", "properties": { "coloringRules": { "type": "array", @@ -19578,7 +19856,7 @@ } }, "sumologic:index/ingestBudgetV2:IngestBudgetV2": { - "description": "Provides a [Sumologic Ingest Budget v2][1].\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sumologic from \"@pulumi/sumologic\";\n\nconst budget = new sumologic.IngestBudgetV2(\"budget\", {\n action: \"keepCollecting\",\n auditThreshold: 85,\n capacityBytes: 30000000000,\n description: \"For testing purposes\",\n resetTime: \"00:00\",\n scope: \"_sourceCategory=*prod*nginx*\",\n timezone: \"Etc/UTC\",\n});\n```\n```python\nimport pulumi\nimport pulumi_sumologic as sumologic\n\nbudget = sumologic.IngestBudgetV2(\"budget\",\n action=\"keepCollecting\",\n audit_threshold=85,\n capacity_bytes=30000000000,\n description=\"For testing purposes\",\n reset_time=\"00:00\",\n scope=\"_sourceCategory=*prod*nginx*\",\n timezone=\"Etc/UTC\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing SumoLogic = Pulumi.SumoLogic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var budget = new SumoLogic.IngestBudgetV2(\"budget\", new()\n {\n Action = \"keepCollecting\",\n AuditThreshold = 85,\n CapacityBytes = 30000000000,\n Description = \"For testing purposes\",\n ResetTime = \"00:00\",\n Scope = \"_sourceCategory=*prod*nginx*\",\n Timezone = \"Etc/UTC\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-sumologic/sdk/go/sumologic\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sumologic.NewIngestBudgetV2(ctx, \"budget\", \u0026sumologic.IngestBudgetV2Args{\n\t\t\tAction: pulumi.String(\"keepCollecting\"),\n\t\t\tAuditThreshold: pulumi.Int(85),\n\t\t\tCapacityBytes: pulumi.Int(30000000000),\n\t\t\tDescription: pulumi.String(\"For testing purposes\"),\n\t\t\tResetTime: pulumi.String(\"00:00\"),\n\t\t\tScope: pulumi.String(\"_sourceCategory=*prod*nginx*\"),\n\t\t\tTimezone: pulumi.String(\"Etc/UTC\"),\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.sumologic.IngestBudgetV2;\nimport com.pulumi.sumologic.IngestBudgetV2Args;\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 var budget = new IngestBudgetV2(\"budget\", IngestBudgetV2Args.builder() \n .action(\"keepCollecting\")\n .auditThreshold(85)\n .capacityBytes(30000000000)\n .description(\"For testing purposes\")\n .resetTime(\"00:00\")\n .scope(\"_sourceCategory=*prod*nginx*\")\n .timezone(\"Etc/UTC\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n budget:\n type: sumologic:IngestBudgetV2\n properties:\n action: keepCollecting\n auditThreshold: 85\n capacityBytes: 3e+10\n description: For testing purposes\n resetTime: 00:00\n scope: _sourceCategory=*prod*nginx*\n timezone: Etc/UTC\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIngest budgets can be imported using the name, e.g.hcl\n\n```sh\n $ pulumi import sumologic:index/ingestBudgetV2:IngestBudgetV2 budget budgetName\n```\n\n [1]https://help.sumologic.com/Beta/Metadata_Ingest_Budgets [2]https://en.wikipedia.org/wiki/Tz_database ", + "description": "Provides a [Sumologic Ingest Budget v2][1].\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sumologic from \"@pulumi/sumologic\";\n\nconst budget = new sumologic.IngestBudgetV2(\"budget\", {\n action: \"keepCollecting\",\n auditThreshold: 85,\n budgetType: \"dailyVolume\",\n capacityBytes: 30000000000,\n description: \"For testing purposes\",\n resetTime: \"00:00\",\n scope: \"_sourceCategory=*prod*nginx*\",\n timezone: \"Etc/UTC\",\n});\n```\n```python\nimport pulumi\nimport pulumi_sumologic as sumologic\n\nbudget = sumologic.IngestBudgetV2(\"budget\",\n action=\"keepCollecting\",\n audit_threshold=85,\n budget_type=\"dailyVolume\",\n capacity_bytes=30000000000,\n description=\"For testing purposes\",\n reset_time=\"00:00\",\n scope=\"_sourceCategory=*prod*nginx*\",\n timezone=\"Etc/UTC\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing SumoLogic = Pulumi.SumoLogic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var budget = new SumoLogic.IngestBudgetV2(\"budget\", new()\n {\n Action = \"keepCollecting\",\n AuditThreshold = 85,\n BudgetType = \"dailyVolume\",\n CapacityBytes = 30000000000,\n Description = \"For testing purposes\",\n ResetTime = \"00:00\",\n Scope = \"_sourceCategory=*prod*nginx*\",\n Timezone = \"Etc/UTC\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-sumologic/sdk/go/sumologic\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sumologic.NewIngestBudgetV2(ctx, \"budget\", \u0026sumologic.IngestBudgetV2Args{\n\t\t\tAction: pulumi.String(\"keepCollecting\"),\n\t\t\tAuditThreshold: pulumi.Int(85),\n\t\t\tBudgetType: pulumi.String(\"dailyVolume\"),\n\t\t\tCapacityBytes: pulumi.Int(30000000000),\n\t\t\tDescription: pulumi.String(\"For testing purposes\"),\n\t\t\tResetTime: pulumi.String(\"00:00\"),\n\t\t\tScope: pulumi.String(\"_sourceCategory=*prod*nginx*\"),\n\t\t\tTimezone: pulumi.String(\"Etc/UTC\"),\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.sumologic.IngestBudgetV2;\nimport com.pulumi.sumologic.IngestBudgetV2Args;\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 var budget = new IngestBudgetV2(\"budget\", IngestBudgetV2Args.builder() \n .action(\"keepCollecting\")\n .auditThreshold(85)\n .budgetType(\"dailyVolume\")\n .capacityBytes(30000000000)\n .description(\"For testing purposes\")\n .resetTime(\"00:00\")\n .scope(\"_sourceCategory=*prod*nginx*\")\n .timezone(\"Etc/UTC\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n budget:\n type: sumologic:IngestBudgetV2\n properties:\n action: keepCollecting\n auditThreshold: 85\n budgetType: dailyVolume\n capacityBytes: 3e+10\n description: For testing purposes\n resetTime: 00:00\n scope: _sourceCategory=*prod*nginx*\n timezone: Etc/UTC\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIngest budgets can be imported using the budget ID, e.g.hcl\n\n```sh\n $ pulumi import sumologic:index/ingestBudgetV2:IngestBudgetV2 budget 00000000000123AB\n```\n\n [1]https://help.sumologic.com/Beta/Metadata_Ingest_Budgets [2]https://en.wikipedia.org/wiki/Tz_database ", "properties": { "action": { "type": "string", @@ -19588,9 +19866,13 @@ "type": "integer", "description": "The threshold as a percentage of when an ingest budget's capacity usage is logged in the Audit Index.\n\nThe following attributes are exported:\n" }, + "budgetType": { + "type": "string", + "description": "The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`.\n" + }, "capacityBytes": { "type": "integer", - "description": "Capacity of the ingest budget, in bytes.\n" + "description": "Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min.\n" }, "description": { "type": "string", @@ -19630,9 +19912,13 @@ "type": "integer", "description": "The threshold as a percentage of when an ingest budget's capacity usage is logged in the Audit Index.\n\nThe following attributes are exported:\n" }, + "budgetType": { + "type": "string", + "description": "The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`.\n" + }, "capacityBytes": { "type": "integer", - "description": "Capacity of the ingest budget, in bytes.\n" + "description": "Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min.\n" }, "description": { "type": "string", @@ -19673,9 +19959,13 @@ "type": "integer", "description": "The threshold as a percentage of when an ingest budget's capacity usage is logged in the Audit Index.\n\nThe following attributes are exported:\n" }, + "budgetType": { + "type": "string", + "description": "The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`.\n" + }, "capacityBytes": { "type": "integer", - "description": "Capacity of the ingest budget, in bytes.\n" + "description": "Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min.\n" }, "description": { "type": "string", @@ -20635,7 +20925,7 @@ } }, "sumologic:index/logSearch:LogSearch": { - "description": "Provides a Sumologic Log Search.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sumologic from \"@pulumi/sumologic\";\n\nconst personalFolder = sumologic.getPersonalFolder({});\nconst exampleLogSearch = new sumologic.LogSearch(\"exampleLogSearch\", {\n description: \"Demo search description\",\n parentId: personalFolder.then(personalFolder =\u003e personalFolder.id),\n queryString: \"_sourceCategory=api error | count by _sourceHost\",\n parsingMode: \"AutoParse\",\n runByReceiptTime: true,\n timeRange: {\n beginBoundedTimeRange: {\n from: {\n relativeTimeRange: {\n relativeTime: \"-30m\",\n },\n },\n },\n },\n schedule: {\n cronExpression: \"0 0 * * * ? *\",\n muteErrorEmails: false,\n notification: {\n emailSearchNotification: {\n includeCsvAttachment: false,\n includeHistogram: false,\n includeQuery: true,\n includeResultSet: true,\n subjectTemplate: \"Search Alert: {{TriggerCondition}} found for {{SearchName}}\",\n toLists: [\"will@acme.com\"],\n },\n },\n parseableTimeRange: {\n beginBoundedTimeRange: {\n from: {\n relativeTimeRange: {\n relativeTime: \"-15m\",\n },\n },\n },\n },\n scheduleType: \"1Week\",\n threshold: {\n count: 10,\n operator: \"gt\",\n thresholdType: \"group\",\n },\n timeZone: \"America/Los_Angeles\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_sumologic as sumologic\n\npersonal_folder = sumologic.get_personal_folder()\nexample_log_search = sumologic.LogSearch(\"exampleLogSearch\",\n description=\"Demo search description\",\n parent_id=personal_folder.id,\n query_string=\"_sourceCategory=api error | count by _sourceHost\",\n parsing_mode=\"AutoParse\",\n run_by_receipt_time=True,\n time_range=sumologic.LogSearchTimeRangeArgs(\n begin_bounded_time_range=sumologic.LogSearchTimeRangeBeginBoundedTimeRangeArgs(\n from_=sumologic.LogSearchTimeRangeBeginBoundedTimeRangeFromArgs(\n relative_time_range=sumologic.LogSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs(\n relative_time=\"-30m\",\n ),\n ),\n ),\n ),\n schedule=sumologic.LogSearchScheduleArgs(\n cron_expression=\"0 0 * * * ? *\",\n mute_error_emails=False,\n notification=sumologic.LogSearchScheduleNotificationArgs(\n email_search_notification=sumologic.LogSearchScheduleNotificationEmailSearchNotificationArgs(\n include_csv_attachment=False,\n include_histogram=False,\n include_query=True,\n include_result_set=True,\n subject_template=\"Search Alert: {{TriggerCondition}} found for {{SearchName}}\",\n to_lists=[\"will@acme.com\"],\n ),\n ),\n parseable_time_range=sumologic.LogSearchScheduleParseableTimeRangeArgs(\n begin_bounded_time_range=sumologic.LogSearchScheduleParseableTimeRangeBeginBoundedTimeRangeArgs(\n from_=sumologic.LogSearchScheduleParseableTimeRangeBeginBoundedTimeRangeFromArgs(\n relative_time_range=sumologic.LogSearchScheduleParseableTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs(\n relative_time=\"-15m\",\n ),\n ),\n ),\n ),\n schedule_type=\"1Week\",\n threshold=sumologic.LogSearchScheduleThresholdArgs(\n count=10,\n operator=\"gt\",\n threshold_type=\"group\",\n ),\n time_zone=\"America/Los_Angeles\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing SumoLogic = Pulumi.SumoLogic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var personalFolder = SumoLogic.GetPersonalFolder.Invoke();\n\n var exampleLogSearch = new SumoLogic.LogSearch(\"exampleLogSearch\", new()\n {\n Description = \"Demo search description\",\n ParentId = personalFolder.Apply(getPersonalFolderResult =\u003e getPersonalFolderResult.Id),\n QueryString = \"_sourceCategory=api error | count by _sourceHost\",\n ParsingMode = \"AutoParse\",\n RunByReceiptTime = true,\n TimeRange = new SumoLogic.Inputs.LogSearchTimeRangeArgs\n {\n BeginBoundedTimeRange = new SumoLogic.Inputs.LogSearchTimeRangeBeginBoundedTimeRangeArgs\n {\n From = new SumoLogic.Inputs.LogSearchTimeRangeBeginBoundedTimeRangeFromArgs\n {\n RelativeTimeRange = new SumoLogic.Inputs.LogSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs\n {\n RelativeTime = \"-30m\",\n },\n },\n },\n },\n Schedule = new SumoLogic.Inputs.LogSearchScheduleArgs\n {\n CronExpression = \"0 0 * * * ? *\",\n MuteErrorEmails = false,\n Notification = new SumoLogic.Inputs.LogSearchScheduleNotificationArgs\n {\n EmailSearchNotification = new SumoLogic.Inputs.LogSearchScheduleNotificationEmailSearchNotificationArgs\n {\n IncludeCsvAttachment = false,\n IncludeHistogram = false,\n IncludeQuery = true,\n IncludeResultSet = true,\n SubjectTemplate = \"Search Alert: {{TriggerCondition}} found for {{SearchName}}\",\n ToLists = new[]\n {\n \"will@acme.com\",\n },\n },\n },\n ParseableTimeRange = new SumoLogic.Inputs.LogSearchScheduleParseableTimeRangeArgs\n {\n BeginBoundedTimeRange = new SumoLogic.Inputs.LogSearchScheduleParseableTimeRangeBeginBoundedTimeRangeArgs\n {\n From = new SumoLogic.Inputs.LogSearchScheduleParseableTimeRangeBeginBoundedTimeRangeFromArgs\n {\n RelativeTimeRange = new SumoLogic.Inputs.LogSearchScheduleParseableTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs\n {\n RelativeTime = \"-15m\",\n },\n },\n },\n },\n ScheduleType = \"1Week\",\n Threshold = new SumoLogic.Inputs.LogSearchScheduleThresholdArgs\n {\n Count = 10,\n Operator = \"gt\",\n ThresholdType = \"group\",\n },\n TimeZone = \"America/Los_Angeles\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-sumologic/sdk/go/sumologic\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpersonalFolder, err := sumologic.GetPersonalFolder(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sumologic.NewLogSearch(ctx, \"exampleLogSearch\", \u0026sumologic.LogSearchArgs{\n\t\t\tDescription: pulumi.String(\"Demo search description\"),\n\t\t\tParentId: *pulumi.String(personalFolder.Id),\n\t\t\tQueryString: pulumi.String(\"_sourceCategory=api error | count by _sourceHost\"),\n\t\t\tParsingMode: pulumi.String(\"AutoParse\"),\n\t\t\tRunByReceiptTime: pulumi.Bool(true),\n\t\t\tTimeRange: \u0026sumologic.LogSearchTimeRangeArgs{\n\t\t\t\tBeginBoundedTimeRange: \u0026sumologic.LogSearchTimeRangeBeginBoundedTimeRangeArgs{\n\t\t\t\t\tFrom: \u0026sumologic.LogSearchTimeRangeBeginBoundedTimeRangeFromArgs{\n\t\t\t\t\t\tRelativeTimeRange: \u0026sumologic.LogSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs{\n\t\t\t\t\t\t\tRelativeTime: pulumi.String(\"-30m\"),\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\tSchedule: \u0026sumologic.LogSearchScheduleArgs{\n\t\t\t\tCronExpression: pulumi.String(\"0 0 * * * ? *\"),\n\t\t\t\tMuteErrorEmails: pulumi.Bool(false),\n\t\t\t\tNotification: \u0026sumologic.LogSearchScheduleNotificationArgs{\n\t\t\t\t\tEmailSearchNotification: \u0026sumologic.LogSearchScheduleNotificationEmailSearchNotificationArgs{\n\t\t\t\t\t\tIncludeCsvAttachment: pulumi.Bool(false),\n\t\t\t\t\t\tIncludeHistogram: pulumi.Bool(false),\n\t\t\t\t\t\tIncludeQuery: pulumi.Bool(true),\n\t\t\t\t\t\tIncludeResultSet: pulumi.Bool(true),\n\t\t\t\t\t\tSubjectTemplate: pulumi.String(\"Search Alert: {{TriggerCondition}} found for {{SearchName}}\"),\n\t\t\t\t\t\tToLists: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"will@acme.com\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tParseableTimeRange: \u0026sumologic.LogSearchScheduleParseableTimeRangeArgs{\n\t\t\t\t\tBeginBoundedTimeRange: \u0026sumologic.LogSearchScheduleParseableTimeRangeBeginBoundedTimeRangeArgs{\n\t\t\t\t\t\tFrom: \u0026sumologic.LogSearchScheduleParseableTimeRangeBeginBoundedTimeRangeFromArgs{\n\t\t\t\t\t\t\tRelativeTimeRange: \u0026sumologic.LogSearchScheduleParseableTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs{\n\t\t\t\t\t\t\t\tRelativeTime: pulumi.String(\"-15m\"),\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\tScheduleType: pulumi.String(\"1Week\"),\n\t\t\t\tThreshold: \u0026sumologic.LogSearchScheduleThresholdArgs{\n\t\t\t\t\tCount: pulumi.Int(10),\n\t\t\t\t\tOperator: pulumi.String(\"gt\"),\n\t\t\t\t\tThresholdType: pulumi.String(\"group\"),\n\t\t\t\t},\n\t\t\t\tTimeZone: pulumi.String(\"America/Los_Angeles\"),\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.sumologic.SumologicFunctions;\nimport com.pulumi.sumologic.inputs.GetPersonalFolderArgs;\nimport com.pulumi.sumologic.LogSearch;\nimport com.pulumi.sumologic.LogSearchArgs;\nimport com.pulumi.sumologic.inputs.LogSearchTimeRangeArgs;\nimport com.pulumi.sumologic.inputs.LogSearchTimeRangeBeginBoundedTimeRangeArgs;\nimport com.pulumi.sumologic.inputs.LogSearchTimeRangeBeginBoundedTimeRangeFromArgs;\nimport com.pulumi.sumologic.inputs.LogSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs;\nimport com.pulumi.sumologic.inputs.LogSearchScheduleArgs;\nimport com.pulumi.sumologic.inputs.LogSearchScheduleNotificationArgs;\nimport com.pulumi.sumologic.inputs.LogSearchScheduleNotificationEmailSearchNotificationArgs;\nimport com.pulumi.sumologic.inputs.LogSearchScheduleParseableTimeRangeArgs;\nimport com.pulumi.sumologic.inputs.LogSearchScheduleParseableTimeRangeBeginBoundedTimeRangeArgs;\nimport com.pulumi.sumologic.inputs.LogSearchScheduleParseableTimeRangeBeginBoundedTimeRangeFromArgs;\nimport com.pulumi.sumologic.inputs.LogSearchScheduleParseableTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs;\nimport com.pulumi.sumologic.inputs.LogSearchScheduleThresholdArgs;\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 personalFolder = SumologicFunctions.getPersonalFolder();\n\n var exampleLogSearch = new LogSearch(\"exampleLogSearch\", LogSearchArgs.builder() \n .description(\"Demo search description\")\n .parentId(personalFolder.applyValue(getPersonalFolderResult -\u003e getPersonalFolderResult.id()))\n .queryString(\"_sourceCategory=api error | count by _sourceHost\")\n .parsingMode(\"AutoParse\")\n .runByReceiptTime(true)\n .timeRange(LogSearchTimeRangeArgs.builder()\n .beginBoundedTimeRange(LogSearchTimeRangeBeginBoundedTimeRangeArgs.builder()\n .from(LogSearchTimeRangeBeginBoundedTimeRangeFromArgs.builder()\n .relativeTimeRange(LogSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs.builder()\n .relativeTime(\"-30m\")\n .build())\n .build())\n .build())\n .build())\n .schedule(LogSearchScheduleArgs.builder()\n .cronExpression(\"0 0 * * * ? *\")\n .muteErrorEmails(false)\n .notification(LogSearchScheduleNotificationArgs.builder()\n .emailSearchNotification(LogSearchScheduleNotificationEmailSearchNotificationArgs.builder()\n .includeCsvAttachment(false)\n .includeHistogram(false)\n .includeQuery(true)\n .includeResultSet(true)\n .subjectTemplate(\"Search Alert: {{TriggerCondition}} found for {{SearchName}}\")\n .toLists(\"will@acme.com\")\n .build())\n .build())\n .parseableTimeRange(LogSearchScheduleParseableTimeRangeArgs.builder()\n .beginBoundedTimeRange(LogSearchScheduleParseableTimeRangeBeginBoundedTimeRangeArgs.builder()\n .from(LogSearchScheduleParseableTimeRangeBeginBoundedTimeRangeFromArgs.builder()\n .relativeTimeRange(LogSearchScheduleParseableTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs.builder()\n .relativeTime(\"-15m\")\n .build())\n .build())\n .build())\n .build())\n .scheduleType(\"1Week\")\n .threshold(LogSearchScheduleThresholdArgs.builder()\n .count(10)\n .operator(\"gt\")\n .thresholdType(\"group\")\n .build())\n .timeZone(\"America/Los_Angeles\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleLogSearch:\n type: sumologic:LogSearch\n properties:\n description: Demo search description\n parentId: ${personalFolder.id}\n queryString: _sourceCategory=api error | count by _sourceHost\n parsingMode: AutoParse\n runByReceiptTime: true\n timeRange:\n beginBoundedTimeRange:\n from:\n relativeTimeRange:\n relativeTime: -30m\n schedule:\n cronExpression: 0 0 * * * ? *\n muteErrorEmails: false\n notification:\n emailSearchNotification:\n includeCsvAttachment: false\n includeHistogram: false\n includeQuery: true\n includeResultSet: true\n subjectTemplate: 'Search Alert: {{TriggerCondition}} found for {{SearchName}}'\n toLists:\n - will@acme.com\n parseableTimeRange:\n beginBoundedTimeRange:\n from:\n relativeTimeRange:\n relativeTime: -15m\n scheduleType: 1Week\n threshold:\n count: 10\n operator: gt\n thresholdType: group\n timeZone: America/Los_Angeles\nvariables:\n personalFolder:\n fn::invoke:\n Function: sumologic:getPersonalFolder\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}\n## Attributes reference\n\nIn addition to all arguments above, the following attributes are exported:\n\n- `id` - The ID of the log search.\n\n\n## Import\n\nA log search can be imported using it's identifier, e.g.hcl\n\n```sh\n $ pulumi import sumologic:index/logSearch:LogSearch example_search 0000000007FFD79D\n```\n\n ", + "description": "Provides a Sumologic Log Search.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sumologic from \"@pulumi/sumologic\";\n\nconst personalFolder = sumologic.getPersonalFolder({});\nconst exampleLogSearch = new sumologic.LogSearch(\"exampleLogSearch\", {\n description: \"Demo search description\",\n parentId: personalFolder.then(personalFolder =\u003e personalFolder.id),\n queryString: ` _sourceCategory=api\n | parse \"parameter1=*,\" as parameter1\n | parse \"parameter2=*,\" as parameter2\n | where parameter1 matches {{param1}}\n | where parameter2 matches {{param2}}\n | count by _sourceHost\n`,\n parsingMode: \"AutoParse\",\n runByReceiptTime: true,\n timeRange: {\n beginBoundedTimeRange: {\n from: {\n relativeTimeRange: {\n relativeTime: \"-30m\",\n },\n },\n },\n },\n queryParameters: [\n {\n name: \"param1\",\n description: \"Description for param1\",\n dataType: \"STRING\",\n value: \"*\",\n },\n {\n name: \"param2\",\n description: \"Description for param2\",\n dataType: \"STRING\",\n value: \"*\",\n },\n ],\n schedule: {\n cronExpression: \"0 0 * * * ? *\",\n muteErrorEmails: false,\n notification: {\n emailSearchNotification: {\n includeCsvAttachment: false,\n includeHistogram: false,\n includeQuery: true,\n includeResultSet: true,\n subjectTemplate: \"Search Alert: {{TriggerCondition}} found for {{SearchName}}\",\n toLists: [\"will@acme.com\"],\n },\n },\n parseableTimeRange: {\n beginBoundedTimeRange: {\n from: {\n relativeTimeRange: {\n relativeTime: \"-15m\",\n },\n },\n },\n },\n scheduleType: \"1Week\",\n threshold: {\n count: 10,\n operator: \"gt\",\n thresholdType: \"group\",\n },\n timeZone: \"America/Los_Angeles\",\n parameters: [\n {\n name: \"param1\",\n value: \"*\",\n },\n {\n name: \"param2\",\n value: \"*\",\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_sumologic as sumologic\n\npersonal_folder = sumologic.get_personal_folder()\nexample_log_search = sumologic.LogSearch(\"exampleLogSearch\",\n description=\"Demo search description\",\n parent_id=personal_folder.id,\n query_string=\"\"\" _sourceCategory=api\n | parse \"parameter1=*,\" as parameter1\n | parse \"parameter2=*,\" as parameter2\n | where parameter1 matches {{param1}}\n | where parameter2 matches {{param2}}\n | count by _sourceHost\n\"\"\",\n parsing_mode=\"AutoParse\",\n run_by_receipt_time=True,\n time_range=sumologic.LogSearchTimeRangeArgs(\n begin_bounded_time_range=sumologic.LogSearchTimeRangeBeginBoundedTimeRangeArgs(\n from_=sumologic.LogSearchTimeRangeBeginBoundedTimeRangeFromArgs(\n relative_time_range=sumologic.LogSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs(\n relative_time=\"-30m\",\n ),\n ),\n ),\n ),\n query_parameters=[\n sumologic.LogSearchQueryParameterArgs(\n name=\"param1\",\n description=\"Description for param1\",\n data_type=\"STRING\",\n value=\"*\",\n ),\n sumologic.LogSearchQueryParameterArgs(\n name=\"param2\",\n description=\"Description for param2\",\n data_type=\"STRING\",\n value=\"*\",\n ),\n ],\n schedule=sumologic.LogSearchScheduleArgs(\n cron_expression=\"0 0 * * * ? *\",\n mute_error_emails=False,\n notification=sumologic.LogSearchScheduleNotificationArgs(\n email_search_notification=sumologic.LogSearchScheduleNotificationEmailSearchNotificationArgs(\n include_csv_attachment=False,\n include_histogram=False,\n include_query=True,\n include_result_set=True,\n subject_template=\"Search Alert: {{TriggerCondition}} found for {{SearchName}}\",\n to_lists=[\"will@acme.com\"],\n ),\n ),\n parseable_time_range=sumologic.LogSearchScheduleParseableTimeRangeArgs(\n begin_bounded_time_range=sumologic.LogSearchScheduleParseableTimeRangeBeginBoundedTimeRangeArgs(\n from_=sumologic.LogSearchScheduleParseableTimeRangeBeginBoundedTimeRangeFromArgs(\n relative_time_range=sumologic.LogSearchScheduleParseableTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs(\n relative_time=\"-15m\",\n ),\n ),\n ),\n ),\n schedule_type=\"1Week\",\n threshold=sumologic.LogSearchScheduleThresholdArgs(\n count=10,\n operator=\"gt\",\n threshold_type=\"group\",\n ),\n time_zone=\"America/Los_Angeles\",\n parameters=[\n sumologic.LogSearchScheduleParameterArgs(\n name=\"param1\",\n value=\"*\",\n ),\n sumologic.LogSearchScheduleParameterArgs(\n name=\"param2\",\n value=\"*\",\n ),\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing SumoLogic = Pulumi.SumoLogic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var personalFolder = SumoLogic.GetPersonalFolder.Invoke();\n\n var exampleLogSearch = new SumoLogic.LogSearch(\"exampleLogSearch\", new()\n {\n Description = \"Demo search description\",\n ParentId = personalFolder.Apply(getPersonalFolderResult =\u003e getPersonalFolderResult.Id),\n QueryString = @\" _sourceCategory=api\n | parse \"\"parameter1=*,\"\" as parameter1\n | parse \"\"parameter2=*,\"\" as parameter2\n | where parameter1 matches {{param1}}\n | where parameter2 matches {{param2}}\n | count by _sourceHost\n\",\n ParsingMode = \"AutoParse\",\n RunByReceiptTime = true,\n TimeRange = new SumoLogic.Inputs.LogSearchTimeRangeArgs\n {\n BeginBoundedTimeRange = new SumoLogic.Inputs.LogSearchTimeRangeBeginBoundedTimeRangeArgs\n {\n From = new SumoLogic.Inputs.LogSearchTimeRangeBeginBoundedTimeRangeFromArgs\n {\n RelativeTimeRange = new SumoLogic.Inputs.LogSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs\n {\n RelativeTime = \"-30m\",\n },\n },\n },\n },\n QueryParameters = new[]\n {\n new SumoLogic.Inputs.LogSearchQueryParameterArgs\n {\n Name = \"param1\",\n Description = \"Description for param1\",\n DataType = \"STRING\",\n Value = \"*\",\n },\n new SumoLogic.Inputs.LogSearchQueryParameterArgs\n {\n Name = \"param2\",\n Description = \"Description for param2\",\n DataType = \"STRING\",\n Value = \"*\",\n },\n },\n Schedule = new SumoLogic.Inputs.LogSearchScheduleArgs\n {\n CronExpression = \"0 0 * * * ? *\",\n MuteErrorEmails = false,\n Notification = new SumoLogic.Inputs.LogSearchScheduleNotificationArgs\n {\n EmailSearchNotification = new SumoLogic.Inputs.LogSearchScheduleNotificationEmailSearchNotificationArgs\n {\n IncludeCsvAttachment = false,\n IncludeHistogram = false,\n IncludeQuery = true,\n IncludeResultSet = true,\n SubjectTemplate = \"Search Alert: {{TriggerCondition}} found for {{SearchName}}\",\n ToLists = new[]\n {\n \"will@acme.com\",\n },\n },\n },\n ParseableTimeRange = new SumoLogic.Inputs.LogSearchScheduleParseableTimeRangeArgs\n {\n BeginBoundedTimeRange = new SumoLogic.Inputs.LogSearchScheduleParseableTimeRangeBeginBoundedTimeRangeArgs\n {\n From = new SumoLogic.Inputs.LogSearchScheduleParseableTimeRangeBeginBoundedTimeRangeFromArgs\n {\n RelativeTimeRange = new SumoLogic.Inputs.LogSearchScheduleParseableTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs\n {\n RelativeTime = \"-15m\",\n },\n },\n },\n },\n ScheduleType = \"1Week\",\n Threshold = new SumoLogic.Inputs.LogSearchScheduleThresholdArgs\n {\n Count = 10,\n Operator = \"gt\",\n ThresholdType = \"group\",\n },\n TimeZone = \"America/Los_Angeles\",\n Parameters = new[]\n {\n new SumoLogic.Inputs.LogSearchScheduleParameterArgs\n {\n Name = \"param1\",\n Value = \"*\",\n },\n new SumoLogic.Inputs.LogSearchScheduleParameterArgs\n {\n Name = \"param2\",\n Value = \"*\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-sumologic/sdk/go/sumologic\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpersonalFolder, err := sumologic.GetPersonalFolder(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sumologic.NewLogSearch(ctx, \"exampleLogSearch\", \u0026sumologic.LogSearchArgs{\n\t\t\tDescription: pulumi.String(\"Demo search description\"),\n\t\t\tParentId: *pulumi.String(personalFolder.Id),\n\t\t\tQueryString: pulumi.String(` _sourceCategory=api\n | parse \"parameter1=*,\" as parameter1\n | parse \"parameter2=*,\" as parameter2\n | where parameter1 matches {{param1}}\n | where parameter2 matches {{param2}}\n | count by _sourceHost\n`),\n\t\t\tParsingMode: pulumi.String(\"AutoParse\"),\n\t\t\tRunByReceiptTime: pulumi.Bool(true),\n\t\t\tTimeRange: \u0026sumologic.LogSearchTimeRangeArgs{\n\t\t\t\tBeginBoundedTimeRange: \u0026sumologic.LogSearchTimeRangeBeginBoundedTimeRangeArgs{\n\t\t\t\t\tFrom: \u0026sumologic.LogSearchTimeRangeBeginBoundedTimeRangeFromArgs{\n\t\t\t\t\t\tRelativeTimeRange: \u0026sumologic.LogSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs{\n\t\t\t\t\t\t\tRelativeTime: pulumi.String(\"-30m\"),\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\tQueryParameters: sumologic.LogSearchQueryParameterArray{\n\t\t\t\t\u0026sumologic.LogSearchQueryParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"param1\"),\n\t\t\t\t\tDescription: pulumi.String(\"Description for param1\"),\n\t\t\t\t\tDataType: pulumi.String(\"STRING\"),\n\t\t\t\t\tValue: pulumi.String(\"*\"),\n\t\t\t\t},\n\t\t\t\t\u0026sumologic.LogSearchQueryParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"param2\"),\n\t\t\t\t\tDescription: pulumi.String(\"Description for param2\"),\n\t\t\t\t\tDataType: pulumi.String(\"STRING\"),\n\t\t\t\t\tValue: pulumi.String(\"*\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSchedule: \u0026sumologic.LogSearchScheduleArgs{\n\t\t\t\tCronExpression: pulumi.String(\"0 0 * * * ? *\"),\n\t\t\t\tMuteErrorEmails: pulumi.Bool(false),\n\t\t\t\tNotification: \u0026sumologic.LogSearchScheduleNotificationArgs{\n\t\t\t\t\tEmailSearchNotification: \u0026sumologic.LogSearchScheduleNotificationEmailSearchNotificationArgs{\n\t\t\t\t\t\tIncludeCsvAttachment: pulumi.Bool(false),\n\t\t\t\t\t\tIncludeHistogram: pulumi.Bool(false),\n\t\t\t\t\t\tIncludeQuery: pulumi.Bool(true),\n\t\t\t\t\t\tIncludeResultSet: pulumi.Bool(true),\n\t\t\t\t\t\tSubjectTemplate: pulumi.String(\"Search Alert: {{TriggerCondition}} found for {{SearchName}}\"),\n\t\t\t\t\t\tToLists: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"will@acme.com\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tParseableTimeRange: \u0026sumologic.LogSearchScheduleParseableTimeRangeArgs{\n\t\t\t\t\tBeginBoundedTimeRange: \u0026sumologic.LogSearchScheduleParseableTimeRangeBeginBoundedTimeRangeArgs{\n\t\t\t\t\t\tFrom: \u0026sumologic.LogSearchScheduleParseableTimeRangeBeginBoundedTimeRangeFromArgs{\n\t\t\t\t\t\t\tRelativeTimeRange: \u0026sumologic.LogSearchScheduleParseableTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs{\n\t\t\t\t\t\t\t\tRelativeTime: pulumi.String(\"-15m\"),\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\tScheduleType: pulumi.String(\"1Week\"),\n\t\t\t\tThreshold: \u0026sumologic.LogSearchScheduleThresholdArgs{\n\t\t\t\t\tCount: pulumi.Int(10),\n\t\t\t\t\tOperator: pulumi.String(\"gt\"),\n\t\t\t\t\tThresholdType: pulumi.String(\"group\"),\n\t\t\t\t},\n\t\t\t\tTimeZone: pulumi.String(\"America/Los_Angeles\"),\n\t\t\t\tParameters: sumologic.LogSearchScheduleParameterArray{\n\t\t\t\t\t\u0026sumologic.LogSearchScheduleParameterArgs{\n\t\t\t\t\t\tName: pulumi.String(\"param1\"),\n\t\t\t\t\t\tValue: pulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026sumologic.LogSearchScheduleParameterArgs{\n\t\t\t\t\t\tName: pulumi.String(\"param2\"),\n\t\t\t\t\t\tValue: pulumi.String(\"*\"),\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.sumologic.SumologicFunctions;\nimport com.pulumi.sumologic.inputs.GetPersonalFolderArgs;\nimport com.pulumi.sumologic.LogSearch;\nimport com.pulumi.sumologic.LogSearchArgs;\nimport com.pulumi.sumologic.inputs.LogSearchTimeRangeArgs;\nimport com.pulumi.sumologic.inputs.LogSearchTimeRangeBeginBoundedTimeRangeArgs;\nimport com.pulumi.sumologic.inputs.LogSearchTimeRangeBeginBoundedTimeRangeFromArgs;\nimport com.pulumi.sumologic.inputs.LogSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs;\nimport com.pulumi.sumologic.inputs.LogSearchQueryParameterArgs;\nimport com.pulumi.sumologic.inputs.LogSearchScheduleArgs;\nimport com.pulumi.sumologic.inputs.LogSearchScheduleNotificationArgs;\nimport com.pulumi.sumologic.inputs.LogSearchScheduleNotificationEmailSearchNotificationArgs;\nimport com.pulumi.sumologic.inputs.LogSearchScheduleParseableTimeRangeArgs;\nimport com.pulumi.sumologic.inputs.LogSearchScheduleParseableTimeRangeBeginBoundedTimeRangeArgs;\nimport com.pulumi.sumologic.inputs.LogSearchScheduleParseableTimeRangeBeginBoundedTimeRangeFromArgs;\nimport com.pulumi.sumologic.inputs.LogSearchScheduleParseableTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs;\nimport com.pulumi.sumologic.inputs.LogSearchScheduleThresholdArgs;\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 personalFolder = SumologicFunctions.getPersonalFolder();\n\n var exampleLogSearch = new LogSearch(\"exampleLogSearch\", LogSearchArgs.builder() \n .description(\"Demo search description\")\n .parentId(personalFolder.applyValue(getPersonalFolderResult -\u003e getPersonalFolderResult.id()))\n .queryString(\"\"\"\n _sourceCategory=api\n | parse \"parameter1=*,\" as parameter1\n | parse \"parameter2=*,\" as parameter2\n | where parameter1 matches {{param1}}\n | where parameter2 matches {{param2}}\n | count by _sourceHost\n \"\"\")\n .parsingMode(\"AutoParse\")\n .runByReceiptTime(true)\n .timeRange(LogSearchTimeRangeArgs.builder()\n .beginBoundedTimeRange(LogSearchTimeRangeBeginBoundedTimeRangeArgs.builder()\n .from(LogSearchTimeRangeBeginBoundedTimeRangeFromArgs.builder()\n .relativeTimeRange(LogSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs.builder()\n .relativeTime(\"-30m\")\n .build())\n .build())\n .build())\n .build())\n .queryParameters( \n LogSearchQueryParameterArgs.builder()\n .name(\"param1\")\n .description(\"Description for param1\")\n .dataType(\"STRING\")\n .value(\"*\")\n .build(),\n LogSearchQueryParameterArgs.builder()\n .name(\"param2\")\n .description(\"Description for param2\")\n .dataType(\"STRING\")\n .value(\"*\")\n .build())\n .schedule(LogSearchScheduleArgs.builder()\n .cronExpression(\"0 0 * * * ? *\")\n .muteErrorEmails(false)\n .notification(LogSearchScheduleNotificationArgs.builder()\n .emailSearchNotification(LogSearchScheduleNotificationEmailSearchNotificationArgs.builder()\n .includeCsvAttachment(false)\n .includeHistogram(false)\n .includeQuery(true)\n .includeResultSet(true)\n .subjectTemplate(\"Search Alert: {{TriggerCondition}} found for {{SearchName}}\")\n .toLists(\"will@acme.com\")\n .build())\n .build())\n .parseableTimeRange(LogSearchScheduleParseableTimeRangeArgs.builder()\n .beginBoundedTimeRange(LogSearchScheduleParseableTimeRangeBeginBoundedTimeRangeArgs.builder()\n .from(LogSearchScheduleParseableTimeRangeBeginBoundedTimeRangeFromArgs.builder()\n .relativeTimeRange(LogSearchScheduleParseableTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs.builder()\n .relativeTime(\"-15m\")\n .build())\n .build())\n .build())\n .build())\n .scheduleType(\"1Week\")\n .threshold(LogSearchScheduleThresholdArgs.builder()\n .count(10)\n .operator(\"gt\")\n .thresholdType(\"group\")\n .build())\n .timeZone(\"America/Los_Angeles\")\n .parameters( \n LogSearchScheduleParameterArgs.builder()\n .name(\"param1\")\n .value(\"*\")\n .build(),\n LogSearchScheduleParameterArgs.builder()\n .name(\"param2\")\n .value(\"*\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleLogSearch:\n type: sumologic:LogSearch\n properties:\n description: Demo search description\n parentId: ${personalFolder.id}\n queryString: |2\n _sourceCategory=api\n | parse \"parameter1=*,\" as parameter1\n | parse \"parameter2=*,\" as parameter2\n | where parameter1 matches {{param1}}\n | where parameter2 matches {{param2}}\n | count by _sourceHost\n parsingMode: AutoParse\n runByReceiptTime: true\n timeRange:\n beginBoundedTimeRange:\n from:\n relativeTimeRange:\n relativeTime: -30m\n queryParameters:\n - name: param1\n description: Description for param1\n dataType: STRING\n value: '*'\n - name: param2\n description: Description for param2\n dataType: STRING\n value: '*'\n schedule:\n cronExpression: 0 0 * * * ? *\n muteErrorEmails: false\n notification:\n emailSearchNotification:\n includeCsvAttachment: false\n includeHistogram: false\n includeQuery: true\n includeResultSet: true\n subjectTemplate: 'Search Alert: {{TriggerCondition}} found for {{SearchName}}'\n toLists:\n - will@acme.com\n parseableTimeRange:\n beginBoundedTimeRange:\n from:\n relativeTimeRange:\n relativeTime: -15m\n scheduleType: 1Week\n threshold:\n count: 10\n operator: gt\n thresholdType: group\n timeZone: America/Los_Angeles\n parameters:\n - name: param1\n value: '*'\n - name: param2\n value: '*'\nvariables:\n personalFolder:\n fn::invoke:\n Function: sumologic:getPersonalFolder\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}\n## Attributes reference\n\nIn addition to all arguments above, the following attributes are exported:\n\n- `id` - The ID of the log search.\n\n\n## Import\n\nA log search can be imported using it's identifier, e.g.hcl\n\n```sh\n $ pulumi import sumologic:index/logSearch:LogSearch example_search 0000000007FFD79D\n```\n\n ", "properties": { "description": { "type": "string", @@ -20657,7 +20947,8 @@ "type": "array", "items": { "$ref": "#/types/sumologic:index/LogSearchQueryParameter:LogSearchQueryParameter" - } + }, + "description": "Up to 10 `query_parameter` blocks can be added one for each parameter in the `query_string`. \nSee query parameter schema.\n" }, "queryString": { "type": "string", @@ -20703,7 +20994,8 @@ "type": "array", "items": { "$ref": "#/types/sumologic:index/LogSearchQueryParameter:LogSearchQueryParameter" - } + }, + "description": "Up to 10 `query_parameter` blocks can be added one for each parameter in the `query_string`. \nSee query parameter schema.\n" }, "queryString": { "type": "string", @@ -20750,7 +21042,8 @@ "type": "array", "items": { "$ref": "#/types/sumologic:index/LogSearchQueryParameter:LogSearchQueryParameter" - } + }, + "description": "Up to 10 `query_parameter` blocks can be added one for each parameter in the `query_string`. \nSee query parameter schema.\n" }, "queryString": { "type": "string", @@ -21179,6 +21472,126 @@ "type": "object" } }, + "sumologic:index/metricsSearch:MetricsSearch": { + "description": "Provides a [Sumologic Metrics Search](https://help.sumologic.com/docs/metrics/metrics-queries/metrics-explorer/).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sumologic from \"@pulumi/sumologic\";\n\nconst personalFolder = sumologic.getPersonalFolder({});\nconst exampleMetricsSearch = new sumologic.MetricsSearch(\"exampleMetricsSearch\", {\n title: \"Demo Metrics Search\",\n description: \"Demo search description\",\n parentId: personalFolder.then(personalFolder =\u003e personalFolder.id),\n metricsQueries: [{\n rowId: \"A\",\n query: \"metric=cpu_idle | avg\",\n }],\n desiredQuantizationInSecs: 0,\n timeRange: {\n beginBoundedTimeRange: {\n from: {\n relativeTimeRange: {\n relativeTime: \"-30m\",\n },\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_sumologic as sumologic\n\npersonal_folder = sumologic.get_personal_folder()\nexample_metrics_search = sumologic.MetricsSearch(\"exampleMetricsSearch\",\n title=\"Demo Metrics Search\",\n description=\"Demo search description\",\n parent_id=personal_folder.id,\n metrics_queries=[sumologic.MetricsSearchMetricsQueryArgs(\n row_id=\"A\",\n query=\"metric=cpu_idle | avg\",\n )],\n desired_quantization_in_secs=0,\n time_range=sumologic.MetricsSearchTimeRangeArgs(\n begin_bounded_time_range=sumologic.MetricsSearchTimeRangeBeginBoundedTimeRangeArgs(\n from_=sumologic.MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs(\n relative_time_range=sumologic.MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs(\n relative_time=\"-30m\",\n ),\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing SumoLogic = Pulumi.SumoLogic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var personalFolder = SumoLogic.GetPersonalFolder.Invoke();\n\n var exampleMetricsSearch = new SumoLogic.MetricsSearch(\"exampleMetricsSearch\", new()\n {\n Title = \"Demo Metrics Search\",\n Description = \"Demo search description\",\n ParentId = personalFolder.Apply(getPersonalFolderResult =\u003e getPersonalFolderResult.Id),\n MetricsQueries = new[]\n {\n new SumoLogic.Inputs.MetricsSearchMetricsQueryArgs\n {\n RowId = \"A\",\n Query = \"metric=cpu_idle | avg\",\n },\n },\n DesiredQuantizationInSecs = 0,\n TimeRange = new SumoLogic.Inputs.MetricsSearchTimeRangeArgs\n {\n BeginBoundedTimeRange = new SumoLogic.Inputs.MetricsSearchTimeRangeBeginBoundedTimeRangeArgs\n {\n From = new SumoLogic.Inputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs\n {\n RelativeTimeRange = new SumoLogic.Inputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs\n {\n RelativeTime = \"-30m\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-sumologic/sdk/go/sumologic\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpersonalFolder, err := sumologic.GetPersonalFolder(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sumologic.NewMetricsSearch(ctx, \"exampleMetricsSearch\", \u0026sumologic.MetricsSearchArgs{\n\t\t\tTitle: pulumi.String(\"Demo Metrics Search\"),\n\t\t\tDescription: pulumi.String(\"Demo search description\"),\n\t\t\tParentId: *pulumi.String(personalFolder.Id),\n\t\t\tMetricsQueries: sumologic.MetricsSearchMetricsQueryArray{\n\t\t\t\t\u0026sumologic.MetricsSearchMetricsQueryArgs{\n\t\t\t\t\tRowId: pulumi.String(\"A\"),\n\t\t\t\t\tQuery: pulumi.String(\"metric=cpu_idle | avg\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDesiredQuantizationInSecs: pulumi.Int(0),\n\t\t\tTimeRange: \u0026sumologic.MetricsSearchTimeRangeArgs{\n\t\t\t\tBeginBoundedTimeRange: \u0026sumologic.MetricsSearchTimeRangeBeginBoundedTimeRangeArgs{\n\t\t\t\t\tFrom: \u0026sumologic.MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs{\n\t\t\t\t\t\tRelativeTimeRange: \u0026sumologic.MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs{\n\t\t\t\t\t\t\tRelativeTime: pulumi.String(\"-30m\"),\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.sumologic.SumologicFunctions;\nimport com.pulumi.sumologic.inputs.GetPersonalFolderArgs;\nimport com.pulumi.sumologic.MetricsSearch;\nimport com.pulumi.sumologic.MetricsSearchArgs;\nimport com.pulumi.sumologic.inputs.MetricsSearchMetricsQueryArgs;\nimport com.pulumi.sumologic.inputs.MetricsSearchTimeRangeArgs;\nimport com.pulumi.sumologic.inputs.MetricsSearchTimeRangeBeginBoundedTimeRangeArgs;\nimport com.pulumi.sumologic.inputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs;\nimport com.pulumi.sumologic.inputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs;\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 personalFolder = SumologicFunctions.getPersonalFolder();\n\n var exampleMetricsSearch = new MetricsSearch(\"exampleMetricsSearch\", MetricsSearchArgs.builder() \n .title(\"Demo Metrics Search\")\n .description(\"Demo search description\")\n .parentId(personalFolder.applyValue(getPersonalFolderResult -\u003e getPersonalFolderResult.id()))\n .metricsQueries(MetricsSearchMetricsQueryArgs.builder()\n .rowId(\"A\")\n .query(\"metric=cpu_idle | avg\")\n .build())\n .desiredQuantizationInSecs(0)\n .timeRange(MetricsSearchTimeRangeArgs.builder()\n .beginBoundedTimeRange(MetricsSearchTimeRangeBeginBoundedTimeRangeArgs.builder()\n .from(MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs.builder()\n .relativeTimeRange(MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs.builder()\n .relativeTime(\"-30m\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleMetricsSearch:\n type: sumologic:MetricsSearch\n properties:\n title: Demo Metrics Search\n description: Demo search description\n parentId: ${personalFolder.id}\n metricsQueries:\n - rowId: A\n query: metric=cpu_idle | avg\n desiredQuantizationInSecs: 0\n timeRange:\n beginBoundedTimeRange:\n from:\n relativeTimeRange:\n relativeTime: -30m\nvariables:\n personalFolder:\n fn::invoke:\n Function: sumologic:getPersonalFolder\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}\n## Attributes reference\n\nIn addition to all arguments above, the following attributes are exported:\n\n- `id` - The ID of the log search.\n\n\n## Import\n\nA metrics search can be imported using it's identifier, e.g.hcl\n\n```sh\n $ pulumi import sumologic:index/metricsSearch:MetricsSearch example_search 0000000007FFD79D\n```\n\n [1]https://help.sumologic.com/docs/metrics/metrics-queries/metrics-explorer/ ", + "properties": { + "description": { + "type": "string", + "description": "Description of the search.\n" + }, + "desiredQuantizationInSecs": { + "type": "integer", + "description": "Desired quantization in seconds. Default value is `0`.\n" + }, + "logQuery": { + "type": "string", + "description": "Log query used to add an overlay to the chart.\n" + }, + "metricsQueries": { + "type": "array", + "items": { + "$ref": "#/types/sumologic:index/MetricsSearchMetricsQuery:MetricsSearchMetricsQuery" + }, + "description": "Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six.\n" + }, + "parentId": { + "type": "string", + "description": "The identifier of the folder to create the log search in.\n" + }, + "timeRange": { + "$ref": "#/types/sumologic:index/MetricsSearchTimeRange:MetricsSearchTimeRange", + "description": "Time range of the log search. See time range schema\n" + }, + "title": { + "type": "string", + "description": "Title of the search.\n" + } + }, + "required": [ + "description", + "metricsQueries", + "parentId", + "timeRange", + "title" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Description of the search.\n" + }, + "desiredQuantizationInSecs": { + "type": "integer", + "description": "Desired quantization in seconds. Default value is `0`.\n" + }, + "logQuery": { + "type": "string", + "description": "Log query used to add an overlay to the chart.\n" + }, + "metricsQueries": { + "type": "array", + "items": { + "$ref": "#/types/sumologic:index/MetricsSearchMetricsQuery:MetricsSearchMetricsQuery" + }, + "description": "Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six.\n" + }, + "parentId": { + "type": "string", + "description": "The identifier of the folder to create the log search in.\n" + }, + "timeRange": { + "$ref": "#/types/sumologic:index/MetricsSearchTimeRange:MetricsSearchTimeRange", + "description": "Time range of the log search. See time range schema\n" + }, + "title": { + "type": "string", + "description": "Title of the search.\n" + } + }, + "requiredInputs": [ + "description", + "metricsQueries", + "parentId", + "timeRange", + "title" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering MetricsSearch resources.\n", + "properties": { + "description": { + "type": "string", + "description": "Description of the search.\n" + }, + "desiredQuantizationInSecs": { + "type": "integer", + "description": "Desired quantization in seconds. Default value is `0`.\n" + }, + "logQuery": { + "type": "string", + "description": "Log query used to add an overlay to the chart.\n" + }, + "metricsQueries": { + "type": "array", + "items": { + "$ref": "#/types/sumologic:index/MetricsSearchMetricsQuery:MetricsSearchMetricsQuery" + }, + "description": "Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six.\n" + }, + "parentId": { + "type": "string", + "description": "The identifier of the folder to create the log search in.\n" + }, + "timeRange": { + "$ref": "#/types/sumologic:index/MetricsSearchTimeRange:MetricsSearchTimeRange", + "description": "Time range of the log search. See time range schema\n" + }, + "title": { + "type": "string", + "description": "Title of the search.\n" + } + }, + "type": "object" + } + }, "sumologic:index/monitor:Monitor": { "description": "Provides the ability to create, read, delete, and update [Monitors](https://help.sumologic.com/?cid=10020).\nIf Fine Grain Permission (FGP) feature is enabled with Monitors Content at one's Sumo Logic account, one can also set those permission details under this monitor resource. For further details about FGP, please see this [Monitor Permission document](https://help.sumologic.com/Visualizations-and-Alerts/Alerts/Monitors#configure-permissions-for-a-monitor).\n\n## Example SLO Monitors\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.sumologic.Monitor;\nimport com.pulumi.sumologic.MonitorArgs;\nimport com.pulumi.sumologic.inputs.MonitorNotificationArgs;\nimport com.pulumi.sumologic.inputs.MonitorNotificationNotificationArgs;\nimport com.pulumi.sumologic.inputs.MonitorTriggerConditionsArgs;\nimport com.pulumi.sumologic.inputs.MonitorTriggerConditionsSloSliConditionArgs;\nimport com.pulumi.sumologic.inputs.MonitorTriggerConditionsSloSliConditionCriticalArgs;\nimport com.pulumi.sumologic.inputs.MonitorTriggerConditionsSloSliConditionWarningArgs;\nimport com.pulumi.sumologic.inputs.MonitorTriggerConditionsSloBurnRateConditionArgs;\nimport com.pulumi.sumologic.inputs.MonitorTriggerConditionsSloBurnRateConditionCriticalArgs;\nimport com.pulumi.sumologic.inputs.MonitorTriggerConditionsSloBurnRateConditionWarningArgs;\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 var tfSloMonitor1 = new Monitor(\"tfSloMonitor1\", MonitorArgs.builder() \n .contentType(\"Monitor\")\n .evaluationDelay(\"5m\")\n .isDisabled(false)\n .monitorType(\"Slo\")\n .notifications(MonitorNotificationArgs.builder()\n .notification(MonitorNotificationNotificationArgs.builder()\n .connectionType(\"Email\")\n .messageBody(\"Triggered {{TriggerType}} Alert on {{Name}}: {{QueryURL}}\")\n .recipients(\"abc@example.com\")\n .subject(\"Monitor Alert: {{TriggerType}} on {{Name}}\")\n .timeZone(\"PST\")\n .build())\n .runForTriggerTypes( \n \"Critical\",\n \"ResolvedCritical\")\n .build())\n .playbook(\"test playbook\")\n .sloId(\"0000000000000009\")\n .triggerConditions(MonitorTriggerConditionsArgs.builder()\n .sloSliCondition(MonitorTriggerConditionsSloSliConditionArgs.builder()\n .critical(MonitorTriggerConditionsSloSliConditionCriticalArgs.builder()\n .sliThreshold(99.5)\n .build())\n .warning(MonitorTriggerConditionsSloSliConditionWarningArgs.builder()\n .sliThreshold(99.9)\n .build())\n .build())\n .build())\n .type(\"MonitorsLibraryMonitor\")\n .build());\n\n var tfSloMonitor2 = new Monitor(\"tfSloMonitor2\", MonitorArgs.builder() \n .contentType(\"Monitor\")\n .evaluationDelay(\"5m\")\n .isDisabled(false)\n .monitorType(\"Slo\")\n .sloId(\"0000000000000009\")\n .triggerConditions(MonitorTriggerConditionsArgs.builder()\n .sloBurnRateCondition(MonitorTriggerConditionsSloBurnRateConditionArgs.builder()\n .critical(MonitorTriggerConditionsSloBurnRateConditionCriticalArgs.builder()\n .burnRate(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build())\n .warning(MonitorTriggerConditionsSloBurnRateConditionWarningArgs.builder()\n .burnRate( \n %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference),\n %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build())\n .build())\n .build())\n .type(\"MonitorsLibraryMonitor\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tfSloMonitor1:\n type: sumologic:Monitor\n properties:\n contentType: Monitor\n evaluationDelay: 5m\n isDisabled: false\n monitorType: Slo\n notifications:\n - notification:\n connectionType: Email\n messageBody: 'Triggered {{TriggerType}} Alert on {{Name}}: {{QueryURL}}'\n recipients:\n - abc@example.com\n subject: 'Monitor Alert: {{TriggerType}} on {{Name}}'\n timeZone: PST\n runForTriggerTypes:\n - Critical\n - ResolvedCritical\n playbook: test playbook\n sloId: '0000000000000009'\n triggerConditions:\n sloSliCondition:\n critical:\n sliThreshold: 99.5\n warning:\n sliThreshold: 99.9\n type: MonitorsLibraryMonitor\n tfSloMonitor2:\n type: sumologic:Monitor\n properties:\n contentType: Monitor\n evaluationDelay: 5m\n isDisabled: false\n monitorType: Slo\n sloId: '0000000000000009'\n triggerConditions:\n sloBurnRateCondition:\n critical:\n burnRate:\n - burnRateThreshold: 50\n timeRange: 1d\n warning:\n burnRate:\n - burnRateThreshold: 30\n timeRange: 3d\n - burnRateThreshold: 20\n timeRange: 4d\n type: MonitorsLibraryMonitor\n```\n\n## Monitor Folders\n\n\u003c\u003c\u003c\u003c\u003c\u003c\u003c HEAD\nNOTE: Monitor folders are considered a different resource from Library content folders.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sumologic from \"@pulumi/sumologic\";\n\nconst tfMonitorFolder1 = new sumologic.MonitorFolder(\"tfMonitorFolder1\", {description: \"a folder for monitors\"});\n```\n```python\nimport pulumi\nimport pulumi_sumologic as sumologic\n\ntf_monitor_folder1 = sumologic.MonitorFolder(\"tfMonitorFolder1\", description=\"a folder for monitors\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing SumoLogic = Pulumi.SumoLogic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var tfMonitorFolder1 = new SumoLogic.MonitorFolder(\"tfMonitorFolder1\", new()\n {\n Description = \"a folder for monitors\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-sumologic/sdk/go/sumologic\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sumologic.NewMonitorFolder(ctx, \"tfMonitorFolder1\", \u0026sumologic.MonitorFolderArgs{\n\t\t\tDescription: pulumi.String(\"a folder for monitors\"),\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.sumologic.MonitorFolder;\nimport com.pulumi.sumologic.MonitorFolderArgs;\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 var tfMonitorFolder1 = new MonitorFolder(\"tfMonitorFolder1\", MonitorFolderArgs.builder() \n .description(\"a folder for monitors\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tfMonitorFolder1:\n type: sumologic:MonitorFolder\n properties:\n description: a folder for monitors\n```\n=======\nNOTE: Monitor folders are considered a different resource from Library content folders. See [sumologic.MonitorFolder][2] for more details.\n\u003e\u003e\u003e\u003e\u003e\u003e\u003e v2.11.0\n\n## The `trigger_conditions` block\n\nA `trigger_conditions` block configures conditions for sending notifications.\n### Example\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\n```\n```python\nimport pulumi\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\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 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 }\n}\n```\n```yaml\n{}\n```\n### Arguments\nA `trigger_conditions` block contains one or more subblocks of the following types:\n- `logs_static_condition`\n- `metrics_static_condition`\n- `logs_outlier_condition`\n- `metrics_outlier_condition`\n- `logs_missing_data_condition`\n- `metrics_missing_data_condition`\n- `slo_sli_condition`\n- `slo_burn_rate_condition`\n\nSubblocks should be limited to at most 1 missing data condition and at most 1 static / outlier condition.\n\nHere is a summary of arguments for each condition type (fields which are not marked as `Required` are optional):\n#### logs_static_condition\n - `field`\n - `critical`\n - `time_range` (Required) : Accepted format: Optional `-` sign followed by `\u003cnumber\u003e` followed by a `\u003ctime_unit\u003e` character: `s` for seconds, `m` for minutes, `h` for hours, `d` for days. Examples: `30m`, `-12h`.\n - `alert` (Required)\n - `threshold`\n - `threshold_type`\n - `resolution` (Required)\n - `threshold`\n - `threshold_type`\n - `resolution_window` Accepted format: `\u003cnumber\u003e` followed by a `\u003ctime_unit\u003e` character: `s` for seconds, `m` for minutes, `h` for hours, `d` for days. Examples: `0s, 30m`.\n - `warning`\n - `time_range` (Required) : Accepted format: Optional `-` sign followed by `\u003cnumber\u003e` followed by a `\u003ctime_unit\u003e` character: `s` for seconds, `m` for minutes, `h` for hours, `d` for days. Examples: `30m`, `-12h`.\n - `alert` (Required)\n - `threshold`\n - `threshold_type`\n - `resolution` (Required)\n - `threshold`\n - `threshold_type`\n - `resolution_window` Accepted format: `\u003cnumber\u003e` followed by a `\u003ctime_unit\u003e` character: `s` for seconds, `m` for minutes, `h` for hours, `d` for days. Examples: `0s, 30m`.\n#### metrics_static_condition\n - `critical`\n - `time_range` (Required) : Accepted format: Optional `-` sign followed by `\u003cnumber\u003e` followed by a `\u003ctime_unit\u003e` character: `s` for seconds, `m` for minutes, `h` for hours, `d` for days. Examples: `30m`, `-12h`.\n - `occurrence_type` (Required)\n - `alert` (Required)\n - `threshold`\n - `threshold_type`\n - `min_data_points` (Optional)\n - `resolution` (Required)\n - `threshold`\n - `threshold_type`\n - `min_data_points` (Optional)\n - `warning`\n - `time_range` (Required) : Accepted format: Optional `-` sign followed by `\u003cnumber\u003e` followed by a `\u003ctime_unit\u003e` character: `s` for seconds, `m` for minutes, `h` for hours, `d` for days. Examples: `30m`, `-12h`.\n - `occurrence_type` (Required)\n - `alert` (Required)\n - `threshold`\n - `threshold_type`\n - `min_data_points` (Optional)\n - `resolution` (Required)\n - `threshold`\n - `threshold_type`\n - `min_data_points` (Optional)\n#### logs_outlier_condition\n - `field`\n - `direction`\n - `critical`\n - `window`\n - `consecutive`\n - `threshold`\n - `warning`\n - `window`\n - `consecutive`\n - `threshold`\n#### metrics_outlier_condition\n - `direction`\n - `critical`\n - `baseline_window`\n - `threshold`\n - `warning`\n - `baseline_window`\n - `threshold`\n#### logs_missing_data_condition\n - `time_range` (Required) : Accepted format: Optional `-` sign followed by `\u003cnumber\u003e` followed by a `\u003ctime_unit\u003e` character: `s` for seconds, `m` for minutes, `h` for hours, `d` for days. Examples: `30m`, `-12h`.\n#### metrics_missing_data_condition\n - `time_range` (Required) : Accepted format: Optional `-` sign followed by `\u003cnumber\u003e` followed by a `\u003ctime_unit\u003e` character: `s` for seconds, `m` for minutes, `h` for hours, `d` for days. Examples: `30m`, `-12h`.\n#### slo_sli_condition\n - `critical`\n - `sli_threshold` (Required) : The remaining SLI error budget threshold percentage [0,100).\n - `warning`\n - `sli_threshold` (Required)\n \n#### slo_burn_rate_condition\n - `critical`\n - `time_range` (Deprecated) : The relative time range for the burn rate percentage evaluation. Accepted format: Optional `-` sign followed by `\u003cnumber\u003e` followed by a `\u003ctime_unit\u003e` character: `s` for seconds, `m` for minutes, `h` for hours, `d` for days. Examples: `30m`, `-12h`.\n - `burn_rate_threshold` (Deprecated) : The burn rate percentage threshold.\n - `burn_rate` (Required if above two fields are not present): Block to specify burn rate threshold and time range for the condition.\n - `burn_rate_threshold` (Required): The burn rate percentage threshold.\n - `time_range` (Required): The relative time range for the burn rate percentage evaluation. Accepted format: Optional `-` sign followed by `\u003cnumber\u003e` followed by a `\u003ctime_unit\u003e` character: `s` for seconds, `m` for minutes, `h` for hours, `d` for days. Examples: `30m`, `-12h`.\n - `warning`\n - `time_range` (Deprecated) : Accepted format: Optional `-` sign followed by `\u003cnumber\u003e` followed by a `\u003ctime_unit\u003e` character: `s` for seconds, `m` for minutes, `h` for hours, `d` for days. Examples: `30m`, `-12h`.\n - `burn_rate_threshold` (Deprecated)\n - `burn_rate` (Required if above two fields are not present): Block to specify burn rate threshold and time range for the condition.\n - `burn_rate_threshold` (Required): The burn rate percentage threshold.\n - `time_range` (Required): The relative time range for the burn rate percentage evaluation. Accepted format: Optional `-` sign followed by `\u003cnumber\u003e` followed by a `\u003ctime_unit\u003e` character: `s` for seconds, `m` for minutes, `h` for hours, `d` for days. Examples: `30m`, `-12h`.\n\n## The `triggers` block\n\nThe `triggers` block is deprecated. Please use `trigger_conditions` to specify notification conditions.\n\nHere's an example logs monitor that uses `triggers` to specify trigger conditions:\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sumologic from \"@pulumi/sumologic\";\n\nconst tfLogsMonitor1 = new sumologic.Monitor(\"tfLogsMonitor1\", {\n contentType: \"Monitor\",\n description: \"tf logs monitor\",\n isDisabled: false,\n monitorType: \"Logs\",\n notifications: [\n {\n notification: {\n connectionType: \"Email\",\n messageBody: \"Triggered {{TriggerType}} Alert on {{Name}}: {{QueryURL}}\",\n recipients: [\"abc@example.com\"],\n subject: \"Monitor Alert: {{TriggerType}} on {{Name}}\",\n timeZone: \"PST\",\n },\n runForTriggerTypes: [\n \"Critical\",\n \"ResolvedCritical\",\n ],\n },\n {\n notification: {\n connectionId: \"0000000000ABC123\",\n connectionType: \"Webhook\",\n },\n runForTriggerTypes: [\n \"Critical\",\n \"ResolvedCritical\",\n ],\n },\n ],\n queries: [{\n query: \"_sourceCategory=event-action info\",\n rowId: \"A\",\n }],\n triggers: [\n {\n detectionMethod: \"StaticCondition\",\n occurrenceType: \"ResultCount\",\n threshold: 40,\n thresholdType: \"GreaterThan\",\n timeRange: \"15m\",\n triggerSource: \"AllResults\",\n triggerType: \"Critical\",\n },\n {\n detectionMethod: \"StaticCondition\",\n occurrenceType: \"ResultCount\",\n resolutionWindow: \"5m\",\n threshold: 40,\n thresholdType: \"LessThanOrEqual\",\n timeRange: \"15m\",\n triggerSource: \"AllResults\",\n triggerType: \"ResolvedCritical\",\n },\n ],\n type: \"MonitorsLibraryMonitor\",\n});\n```\n```python\nimport pulumi\nimport pulumi_sumologic as sumologic\n\ntf_logs_monitor1 = sumologic.Monitor(\"tfLogsMonitor1\",\n content_type=\"Monitor\",\n description=\"tf logs monitor\",\n is_disabled=False,\n monitor_type=\"Logs\",\n notifications=[\n sumologic.MonitorNotificationArgs(\n notification=sumologic.MonitorNotificationNotificationArgs(\n connection_type=\"Email\",\n message_body=\"Triggered {{TriggerType}} Alert on {{Name}}: {{QueryURL}}\",\n recipients=[\"abc@example.com\"],\n subject=\"Monitor Alert: {{TriggerType}} on {{Name}}\",\n time_zone=\"PST\",\n ),\n run_for_trigger_types=[\n \"Critical\",\n \"ResolvedCritical\",\n ],\n ),\n sumologic.MonitorNotificationArgs(\n notification=sumologic.MonitorNotificationNotificationArgs(\n connection_id=\"0000000000ABC123\",\n connection_type=\"Webhook\",\n ),\n run_for_trigger_types=[\n \"Critical\",\n \"ResolvedCritical\",\n ],\n ),\n ],\n queries=[sumologic.MonitorQueryArgs(\n query=\"_sourceCategory=event-action info\",\n row_id=\"A\",\n )],\n triggers=[\n sumologic.MonitorTriggerArgs(\n detection_method=\"StaticCondition\",\n occurrence_type=\"ResultCount\",\n threshold=40,\n threshold_type=\"GreaterThan\",\n time_range=\"15m\",\n trigger_source=\"AllResults\",\n trigger_type=\"Critical\",\n ),\n sumologic.MonitorTriggerArgs(\n detection_method=\"StaticCondition\",\n occurrence_type=\"ResultCount\",\n resolution_window=\"5m\",\n threshold=40,\n threshold_type=\"LessThanOrEqual\",\n time_range=\"15m\",\n trigger_source=\"AllResults\",\n trigger_type=\"ResolvedCritical\",\n ),\n ],\n type=\"MonitorsLibraryMonitor\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing SumoLogic = Pulumi.SumoLogic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var tfLogsMonitor1 = new SumoLogic.Monitor(\"tfLogsMonitor1\", new()\n {\n ContentType = \"Monitor\",\n Description = \"tf logs monitor\",\n IsDisabled = false,\n MonitorType = \"Logs\",\n Notifications = new[]\n {\n new SumoLogic.Inputs.MonitorNotificationArgs\n {\n Notification = new SumoLogic.Inputs.MonitorNotificationNotificationArgs\n {\n ConnectionType = \"Email\",\n MessageBody = \"Triggered {{TriggerType}} Alert on {{Name}}: {{QueryURL}}\",\n Recipients = new[]\n {\n \"abc@example.com\",\n },\n Subject = \"Monitor Alert: {{TriggerType}} on {{Name}}\",\n TimeZone = \"PST\",\n },\n RunForTriggerTypes = new[]\n {\n \"Critical\",\n \"ResolvedCritical\",\n },\n },\n new SumoLogic.Inputs.MonitorNotificationArgs\n {\n Notification = new SumoLogic.Inputs.MonitorNotificationNotificationArgs\n {\n ConnectionId = \"0000000000ABC123\",\n ConnectionType = \"Webhook\",\n },\n RunForTriggerTypes = new[]\n {\n \"Critical\",\n \"ResolvedCritical\",\n },\n },\n },\n Queries = new[]\n {\n new SumoLogic.Inputs.MonitorQueryArgs\n {\n Query = \"_sourceCategory=event-action info\",\n RowId = \"A\",\n },\n },\n Triggers = new[]\n {\n new SumoLogic.Inputs.MonitorTriggerArgs\n {\n DetectionMethod = \"StaticCondition\",\n OccurrenceType = \"ResultCount\",\n Threshold = 40,\n ThresholdType = \"GreaterThan\",\n TimeRange = \"15m\",\n TriggerSource = \"AllResults\",\n TriggerType = \"Critical\",\n },\n new SumoLogic.Inputs.MonitorTriggerArgs\n {\n DetectionMethod = \"StaticCondition\",\n OccurrenceType = \"ResultCount\",\n ResolutionWindow = \"5m\",\n Threshold = 40,\n ThresholdType = \"LessThanOrEqual\",\n TimeRange = \"15m\",\n TriggerSource = \"AllResults\",\n TriggerType = \"ResolvedCritical\",\n },\n },\n Type = \"MonitorsLibraryMonitor\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-sumologic/sdk/go/sumologic\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sumologic.NewMonitor(ctx, \"tfLogsMonitor1\", \u0026sumologic.MonitorArgs{\n\t\t\tContentType: pulumi.String(\"Monitor\"),\n\t\t\tDescription: pulumi.String(\"tf logs monitor\"),\n\t\t\tIsDisabled: pulumi.Bool(false),\n\t\t\tMonitorType: pulumi.String(\"Logs\"),\n\t\t\tNotifications: sumologic.MonitorNotificationArray{\n\t\t\t\t\u0026sumologic.MonitorNotificationArgs{\n\t\t\t\t\tNotification: \u0026sumologic.MonitorNotificationNotificationArgs{\n\t\t\t\t\t\tConnectionType: pulumi.String(\"Email\"),\n\t\t\t\t\t\tMessageBody: pulumi.String(\"Triggered {{TriggerType}} Alert on {{Name}}: {{QueryURL}}\"),\n\t\t\t\t\t\tRecipients: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"abc@example.com\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tSubject: pulumi.String(\"Monitor Alert: {{TriggerType}} on {{Name}}\"),\n\t\t\t\t\t\tTimeZone: pulumi.String(\"PST\"),\n\t\t\t\t\t},\n\t\t\t\t\tRunForTriggerTypes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Critical\"),\n\t\t\t\t\t\tpulumi.String(\"ResolvedCritical\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026sumologic.MonitorNotificationArgs{\n\t\t\t\t\tNotification: \u0026sumologic.MonitorNotificationNotificationArgs{\n\t\t\t\t\t\tConnectionId: pulumi.String(\"0000000000ABC123\"),\n\t\t\t\t\t\tConnectionType: pulumi.String(\"Webhook\"),\n\t\t\t\t\t},\n\t\t\t\t\tRunForTriggerTypes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Critical\"),\n\t\t\t\t\t\tpulumi.String(\"ResolvedCritical\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tQueries: sumologic.MonitorQueryArray{\n\t\t\t\t\u0026sumologic.MonitorQueryArgs{\n\t\t\t\t\tQuery: pulumi.String(\"_sourceCategory=event-action info\"),\n\t\t\t\t\tRowId: pulumi.String(\"A\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTriggers: sumologic.MonitorTriggerArray{\n\t\t\t\t\u0026sumologic.MonitorTriggerArgs{\n\t\t\t\t\tDetectionMethod: pulumi.String(\"StaticCondition\"),\n\t\t\t\t\tOccurrenceType: pulumi.String(\"ResultCount\"),\n\t\t\t\t\tThreshold: pulumi.Float64(40),\n\t\t\t\t\tThresholdType: pulumi.String(\"GreaterThan\"),\n\t\t\t\t\tTimeRange: pulumi.String(\"15m\"),\n\t\t\t\t\tTriggerSource: pulumi.String(\"AllResults\"),\n\t\t\t\t\tTriggerType: pulumi.String(\"Critical\"),\n\t\t\t\t},\n\t\t\t\t\u0026sumologic.MonitorTriggerArgs{\n\t\t\t\t\tDetectionMethod: pulumi.String(\"StaticCondition\"),\n\t\t\t\t\tOccurrenceType: pulumi.String(\"ResultCount\"),\n\t\t\t\t\tResolutionWindow: pulumi.String(\"5m\"),\n\t\t\t\t\tThreshold: pulumi.Float64(40),\n\t\t\t\t\tThresholdType: pulumi.String(\"LessThanOrEqual\"),\n\t\t\t\t\tTimeRange: pulumi.String(\"15m\"),\n\t\t\t\t\tTriggerSource: pulumi.String(\"AllResults\"),\n\t\t\t\t\tTriggerType: pulumi.String(\"ResolvedCritical\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tType: pulumi.String(\"MonitorsLibraryMonitor\"),\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.sumologic.Monitor;\nimport com.pulumi.sumologic.MonitorArgs;\nimport com.pulumi.sumologic.inputs.MonitorNotificationArgs;\nimport com.pulumi.sumologic.inputs.MonitorNotificationNotificationArgs;\nimport com.pulumi.sumologic.inputs.MonitorQueryArgs;\nimport com.pulumi.sumologic.inputs.MonitorTriggerArgs;\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 var tfLogsMonitor1 = new Monitor(\"tfLogsMonitor1\", MonitorArgs.builder() \n .contentType(\"Monitor\")\n .description(\"tf logs monitor\")\n .isDisabled(false)\n .monitorType(\"Logs\")\n .notifications( \n MonitorNotificationArgs.builder()\n .notification(MonitorNotificationNotificationArgs.builder()\n .connectionType(\"Email\")\n .messageBody(\"Triggered {{TriggerType}} Alert on {{Name}}: {{QueryURL}}\")\n .recipients(\"abc@example.com\")\n .subject(\"Monitor Alert: {{TriggerType}} on {{Name}}\")\n .timeZone(\"PST\")\n .build())\n .runForTriggerTypes( \n \"Critical\",\n \"ResolvedCritical\")\n .build(),\n MonitorNotificationArgs.builder()\n .notification(MonitorNotificationNotificationArgs.builder()\n .connectionId(\"0000000000ABC123\")\n .connectionType(\"Webhook\")\n .build())\n .runForTriggerTypes( \n \"Critical\",\n \"ResolvedCritical\")\n .build())\n .queries(MonitorQueryArgs.builder()\n .query(\"_sourceCategory=event-action info\")\n .rowId(\"A\")\n .build())\n .triggers( \n MonitorTriggerArgs.builder()\n .detectionMethod(\"StaticCondition\")\n .occurrenceType(\"ResultCount\")\n .threshold(40)\n .thresholdType(\"GreaterThan\")\n .timeRange(\"15m\")\n .triggerSource(\"AllResults\")\n .triggerType(\"Critical\")\n .build(),\n MonitorTriggerArgs.builder()\n .detectionMethod(\"StaticCondition\")\n .occurrenceType(\"ResultCount\")\n .resolutionWindow(\"5m\")\n .threshold(40)\n .thresholdType(\"LessThanOrEqual\")\n .timeRange(\"15m\")\n .triggerSource(\"AllResults\")\n .triggerType(\"ResolvedCritical\")\n .build())\n .type(\"MonitorsLibraryMonitor\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tfLogsMonitor1:\n type: sumologic:Monitor\n properties:\n contentType: Monitor\n description: tf logs monitor\n isDisabled: false\n monitorType: Logs\n notifications:\n - notification:\n connectionType: Email\n messageBody: 'Triggered {{TriggerType}} Alert on {{Name}}: {{QueryURL}}'\n recipients:\n - abc@example.com\n subject: 'Monitor Alert: {{TriggerType}} on {{Name}}'\n timeZone: PST\n runForTriggerTypes:\n - Critical\n - ResolvedCritical\n - notification:\n connectionId: 0000000000ABC123\n connectionType: Webhook\n runForTriggerTypes:\n - Critical\n - ResolvedCritical\n queries:\n - query: _sourceCategory=event-action info\n rowId: A\n triggers:\n - detectionMethod: StaticCondition\n occurrenceType: ResultCount\n threshold: 40\n thresholdType: GreaterThan\n timeRange: 15m\n triggerSource: AllResults\n triggerType: Critical\n - detectionMethod: StaticCondition\n occurrenceType: ResultCount\n resolutionWindow: 5m\n threshold: 40\n thresholdType: LessThanOrEqual\n timeRange: 15m\n triggerSource: AllResults\n triggerType: ResolvedCritical\n type: MonitorsLibraryMonitor\n```\n\n\n## Import\n\nMonitors can be imported using the monitor ID, such ashcl\n\n```sh\n $ pulumi import sumologic:index/monitor:Monitor test 1234567890\n```\n\n [1]https://help.sumologic.com/?cid=10020 [2]monitor_folder.html.markdown [3]https://help.sumologic.com/Visualizations-and-Alerts/Alerts/Monitors#configure-permissions-for-a-monitor ", "properties": { @@ -21240,7 +21653,7 @@ "items": { "type": "string" }, - "description": "The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true.\n" + "description": "The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping.\n" }, "notifications": { "type": "array", @@ -21382,7 +21795,7 @@ "items": { "type": "string" }, - "description": "The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true.\n" + "description": "The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping.\n" }, "notifications": { "type": "array", @@ -21514,7 +21927,7 @@ "items": { "type": "string" }, - "description": "The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true.\n" + "description": "The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping.\n" }, "notifications": { "type": "array", @@ -22522,6 +22935,219 @@ "type": "object" } }, + "sumologic:index/rumSource:RumSource": { + "description": "Provides a Sumologic Rum Source.\n\n\n## Import\n\nRum sources can be imported using the collector and source IDs, e.g.hcl\n\n```sh\n $ pulumi import sumologic:index/rumSource:RumSource test 123/456\n```\n\n Rum sources can also be imported using the collector name and source name, e.g.hcl\n\n```sh\n $ pulumi import sumologic:index/rumSource:RumSource test my-test-collector/my-test-source\n```\n\n ", + "properties": { + "automaticDateParsing": { + "type": "boolean" + }, + "category": { + "type": "string" + }, + "collectorId": { + "type": "integer" + }, + "contentType": { + "type": "string" + }, + "cutoffRelativeTime": { + "type": "string" + }, + "cutoffTimestamp": { + "type": "integer" + }, + "defaultDateFormats": { + "type": "array", + "items": { + "$ref": "#/types/sumologic:index/RumSourceDefaultDateFormat:RumSourceDefaultDateFormat" + } + }, + "description": { + "type": "string" + }, + "fields": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/sumologic:index/RumSourceFilter:RumSourceFilter" + } + }, + "forceTimezone": { + "type": "boolean" + }, + "hostName": { + "type": "string" + }, + "manualPrefixRegexp": { + "type": "string" + }, + "multilineProcessingEnabled": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "path": { + "$ref": "#/types/sumologic:index/RumSourcePath:RumSourcePath" + }, + "timezone": { + "type": "string" + }, + "useAutolineMatching": { + "type": "boolean" + } + }, + "required": [ + "collectorId", + "name" + ], + "inputProperties": { + "automaticDateParsing": { + "type": "boolean" + }, + "category": { + "type": "string" + }, + "collectorId": { + "type": "integer", + "willReplaceOnChanges": true + }, + "contentType": { + "type": "string" + }, + "cutoffRelativeTime": { + "type": "string", + "willReplaceOnChanges": true + }, + "cutoffTimestamp": { + "type": "integer" + }, + "defaultDateFormats": { + "type": "array", + "items": { + "$ref": "#/types/sumologic:index/RumSourceDefaultDateFormat:RumSourceDefaultDateFormat" + } + }, + "description": { + "type": "string" + }, + "fields": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/sumologic:index/RumSourceFilter:RumSourceFilter" + } + }, + "forceTimezone": { + "type": "boolean" + }, + "hostName": { + "type": "string" + }, + "manualPrefixRegexp": { + "type": "string" + }, + "multilineProcessingEnabled": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "path": { + "$ref": "#/types/sumologic:index/RumSourcePath:RumSourcePath" + }, + "timezone": { + "type": "string" + }, + "useAutolineMatching": { + "type": "boolean" + } + }, + "requiredInputs": [ + "collectorId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering RumSource resources.\n", + "properties": { + "automaticDateParsing": { + "type": "boolean" + }, + "category": { + "type": "string" + }, + "collectorId": { + "type": "integer", + "willReplaceOnChanges": true + }, + "contentType": { + "type": "string" + }, + "cutoffRelativeTime": { + "type": "string", + "willReplaceOnChanges": true + }, + "cutoffTimestamp": { + "type": "integer" + }, + "defaultDateFormats": { + "type": "array", + "items": { + "$ref": "#/types/sumologic:index/RumSourceDefaultDateFormat:RumSourceDefaultDateFormat" + } + }, + "description": { + "type": "string" + }, + "fields": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/sumologic:index/RumSourceFilter:RumSourceFilter" + } + }, + "forceTimezone": { + "type": "boolean" + }, + "hostName": { + "type": "string" + }, + "manualPrefixRegexp": { + "type": "string" + }, + "multilineProcessingEnabled": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "path": { + "$ref": "#/types/sumologic:index/RumSourcePath:RumSourcePath" + }, + "timezone": { + "type": "string" + }, + "useAutolineMatching": { + "type": "boolean" + } + }, + "type": "object" + } + }, "sumologic:index/s3ArchiveSource:S3ArchiveSource": { "description": "Provides a [Sumologic AWS S3 Archive Source][2].\n\n__IMPORTANT:__ The AWS credentials are stored in plain-text in the state. This is a potential security issue.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as sumologic from \"@pulumi/sumologic\";\n\nconst collector = new sumologic.Collector(\"collector\", {description: \"Just testing this\"});\nconst terraformS3ArchiveSource = new sumologic.S3ArchiveSource(\"terraformS3ArchiveSource\", {\n authentication: {\n accessKey: \"someKey\",\n secretKey: \"******\",\n type: \"S3BucketAuthentication\",\n },\n category: \"aws/s3\",\n collectorId: collector.id,\n contentType: \"AwsS3Bucket\",\n description: \"My description\",\n path: {\n bucketName: \"Bucket1\",\n pathExpression: \"*\",\n type: \"S3BucketPathExpression\",\n },\n paused: false,\n scanInterval: 300000,\n});\n```\n```python\nimport pulumi\nimport pulumi_sumologic as sumologic\n\ncollector = sumologic.Collector(\"collector\", description=\"Just testing this\")\nterraform_s3_archive_source = sumologic.S3ArchiveSource(\"terraformS3ArchiveSource\",\n authentication=sumologic.S3ArchiveSourceAuthenticationArgs(\n access_key=\"someKey\",\n secret_key=\"******\",\n type=\"S3BucketAuthentication\",\n ),\n category=\"aws/s3\",\n collector_id=collector.id,\n content_type=\"AwsS3Bucket\",\n description=\"My description\",\n path=sumologic.S3ArchiveSourcePathArgs(\n bucket_name=\"Bucket1\",\n path_expression=\"*\",\n type=\"S3BucketPathExpression\",\n ),\n paused=False,\n scan_interval=300000)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing SumoLogic = Pulumi.SumoLogic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var collector = new SumoLogic.Collector(\"collector\", new()\n {\n Description = \"Just testing this\",\n });\n\n var terraformS3ArchiveSource = new SumoLogic.S3ArchiveSource(\"terraformS3ArchiveSource\", new()\n {\n Authentication = new SumoLogic.Inputs.S3ArchiveSourceAuthenticationArgs\n {\n AccessKey = \"someKey\",\n SecretKey = \"******\",\n Type = \"S3BucketAuthentication\",\n },\n Category = \"aws/s3\",\n CollectorId = collector.Id,\n ContentType = \"AwsS3Bucket\",\n Description = \"My description\",\n Path = new SumoLogic.Inputs.S3ArchiveSourcePathArgs\n {\n BucketName = \"Bucket1\",\n PathExpression = \"*\",\n Type = \"S3BucketPathExpression\",\n },\n Paused = false,\n ScanInterval = 300000,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-sumologic/sdk/go/sumologic\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcollector, err := sumologic.NewCollector(ctx, \"collector\", \u0026sumologic.CollectorArgs{\n\t\t\tDescription: pulumi.String(\"Just testing this\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sumologic.NewS3ArchiveSource(ctx, \"terraformS3ArchiveSource\", \u0026sumologic.S3ArchiveSourceArgs{\n\t\t\tAuthentication: \u0026sumologic.S3ArchiveSourceAuthenticationArgs{\n\t\t\t\tAccessKey: pulumi.String(\"someKey\"),\n\t\t\t\tSecretKey: pulumi.String(\"******\"),\n\t\t\t\tType: pulumi.String(\"S3BucketAuthentication\"),\n\t\t\t},\n\t\t\tCategory: pulumi.String(\"aws/s3\"),\n\t\t\tCollectorId: collector.ID(),\n\t\t\tContentType: pulumi.String(\"AwsS3Bucket\"),\n\t\t\tDescription: pulumi.String(\"My description\"),\n\t\t\tPath: \u0026sumologic.S3ArchiveSourcePathArgs{\n\t\t\t\tBucketName: pulumi.String(\"Bucket1\"),\n\t\t\t\tPathExpression: pulumi.String(\"*\"),\n\t\t\t\tType: pulumi.String(\"S3BucketPathExpression\"),\n\t\t\t},\n\t\t\tPaused: pulumi.Bool(false),\n\t\t\tScanInterval: pulumi.Int(300000),\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.sumologic.Collector;\nimport com.pulumi.sumologic.CollectorArgs;\nimport com.pulumi.sumologic.S3ArchiveSource;\nimport com.pulumi.sumologic.S3ArchiveSourceArgs;\nimport com.pulumi.sumologic.inputs.S3ArchiveSourceAuthenticationArgs;\nimport com.pulumi.sumologic.inputs.S3ArchiveSourcePathArgs;\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 var collector = new Collector(\"collector\", CollectorArgs.builder() \n .description(\"Just testing this\")\n .build());\n\n var terraformS3ArchiveSource = new S3ArchiveSource(\"terraformS3ArchiveSource\", S3ArchiveSourceArgs.builder() \n .authentication(S3ArchiveSourceAuthenticationArgs.builder()\n .accessKey(\"someKey\")\n .secretKey(\"******\")\n .type(\"S3BucketAuthentication\")\n .build())\n .category(\"aws/s3\")\n .collectorId(collector.id())\n .contentType(\"AwsS3Bucket\")\n .description(\"My description\")\n .path(S3ArchiveSourcePathArgs.builder()\n .bucketName(\"Bucket1\")\n .pathExpression(\"*\")\n .type(\"S3BucketPathExpression\")\n .build())\n .paused(false)\n .scanInterval(300000)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n terraformS3ArchiveSource:\n type: sumologic:S3ArchiveSource\n properties:\n authentication:\n accessKey: someKey\n secretKey: '******'\n type: S3BucketAuthentication\n category: aws/s3\n collectorId: ${collector.id}\n contentType: AwsS3Bucket\n description: My description\n path:\n bucketName: Bucket1\n pathExpression: '*'\n type: S3BucketPathExpression\n paused: false\n scanInterval: 300000\n collector:\n type: sumologic:Collector\n properties:\n description: Just testing this\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nS3 sources can be imported using the collector and source IDs (`collector/source`), e.g.hcl\n\n```sh\n $ pulumi import sumologic:index/s3ArchiveSource:S3ArchiveSource test 123/456\n```\n\n S3 sources can be imported using the collector name and source name (`collectorName/sourceName`), e.g.hcl\n\n```sh\n $ pulumi import sumologic:index/s3ArchiveSource:S3ArchiveSource test my-test-collector/my-test-source\n```\n\n [1]https://help.sumologic.com/Send_Data/Sources/03Use_JSON_to_Configure_Sources/JSON_Parameters_for_Hosted_Sources [2]https://help.sumologic.com/docs/manage/archive/#create-an-aws-s3-archivesource ", "properties": { diff --git a/provider/go.mod b/provider/go.mod index ef71909c..23ad6427 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -5,8 +5,8 @@ go 1.19 require ( github.com/SumoLogic/terraform-provider-sumologic v0.0.0 github.com/hashicorp/terraform-plugin-sdk v1.17.2 - github.com/pulumi/pulumi-terraform-bridge/v3 v3.50.1 - github.com/pulumi/pulumi/sdk/v3 v3.71.0 + github.com/pulumi/pulumi-terraform-bridge/v3 v3.56.2 + github.com/pulumi/pulumi/sdk/v3 v3.76.1 ) replace ( @@ -18,13 +18,13 @@ replace ( require ( cloud.google.com/go v0.110.0 // indirect - cloud.google.com/go/compute v1.18.0 // indirect + cloud.google.com/go/compute v1.19.1 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect - cloud.google.com/go/iam v0.12.0 // indirect - cloud.google.com/go/kms v1.9.0 // indirect + cloud.google.com/go/iam v0.13.0 // indirect + cloud.google.com/go/kms v1.10.1 // indirect cloud.google.com/go/logging v1.7.0 // indirect cloud.google.com/go/longrunning v0.4.1 // indirect - cloud.google.com/go/storage v1.28.1 // indirect + cloud.google.com/go/storage v1.29.0 // indirect github.com/AlecAivazis/survey/v2 v2.0.5 // indirect github.com/Azure/azure-sdk-for-go v66.0.0+incompatible // indirect github.com/Azure/azure-sdk-for-go/sdk/azcore v1.1.1 // indirect @@ -48,8 +48,8 @@ require ( github.com/Masterminds/semver/v3 v3.1.1 // indirect github.com/Masterminds/sprig/v3 v3.2.2 // indirect github.com/Microsoft/go-winio v0.5.2 // indirect - github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4 // indirect - github.com/acomagu/bufpipe v1.0.3 // indirect + github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8 // indirect + github.com/acomagu/bufpipe v1.0.4 // indirect github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect github.com/agext/levenshtein v1.2.3 // indirect github.com/apparentlymart/go-cidr v1.1.0 // indirect @@ -93,8 +93,8 @@ require ( github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813 // indirect github.com/go-errors/errors v1.4.0 // indirect github.com/go-git/gcfg v1.5.0 // indirect - github.com/go-git/go-billy/v5 v5.4.0 // indirect - github.com/go-git/go-git/v5 v5.6.0 // indirect + github.com/go-git/go-billy/v5 v5.4.1 // indirect + github.com/go-git/go-git/v5 v5.6.1 // indirect github.com/gofrs/uuid v4.2.0+incompatible // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang-jwt/jwt v3.2.1+incompatible // indirect @@ -109,7 +109,7 @@ require ( github.com/google/uuid v1.3.0 // indirect github.com/google/wire v0.5.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect - github.com/googleapis/gax-go/v2 v2.7.0 // indirect + github.com/googleapis/gax-go/v2 v2.7.1 // indirect github.com/gorilla/mux v1.8.0 // indirect github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect @@ -117,10 +117,10 @@ require ( github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 // indirect github.com/hashicorp/go-getter v1.7.1 // indirect - github.com/hashicorp/go-hclog v1.2.2 // indirect + github.com/hashicorp/go-hclog v1.5.0 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect - github.com/hashicorp/go-plugin v1.4.8 // indirect + github.com/hashicorp/go-plugin v1.4.10 // indirect github.com/hashicorp/go-retryablehttp v0.7.1 // indirect github.com/hashicorp/go-rootcerts v1.0.2 // indirect github.com/hashicorp/go-safetemp v1.0.0 // indirect @@ -132,14 +132,14 @@ require ( github.com/hashicorp/go-version v1.6.0 // indirect github.com/hashicorp/golang-lru v0.5.4 // indirect github.com/hashicorp/hcl v1.0.0 // indirect - github.com/hashicorp/hcl/v2 v2.16.2 // indirect + github.com/hashicorp/hcl/v2 v2.17.0 // indirect github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93 // indirect github.com/hashicorp/logutils v1.0.0 // indirect github.com/hashicorp/terraform-config-inspect v0.0.0-20210625153042-09f34846faab // indirect github.com/hashicorp/terraform-exec v0.17.2 // indirect github.com/hashicorp/terraform-json v0.14.0 // indirect github.com/hashicorp/terraform-plugin-test/v2 v2.2.1 // indirect - github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734 // indirect + github.com/hashicorp/terraform-svchost v0.1.1 // indirect github.com/hashicorp/vault/api v1.8.2 // indirect github.com/hashicorp/vault/sdk v0.6.1 // indirect github.com/hashicorp/yamux v0.1.1 // indirect @@ -156,10 +156,10 @@ require ( github.com/klauspost/compress v1.15.11 // indirect github.com/kylelemons/godebug v1.1.0 // indirect github.com/mattn/go-colorable v0.1.12 // indirect - github.com/mattn/go-isatty v0.0.16 // indirect + github.com/mattn/go-isatty v0.0.18 // indirect github.com/mattn/go-runewidth v0.0.13 // indirect github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b // indirect - github.com/mitchellh/cli v1.1.4 // indirect + github.com/mitchellh/cli v1.1.5 // indirect github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect @@ -187,9 +187,9 @@ require ( github.com/pulumi/pulumi-java/pkg v0.9.4 // indirect github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.4 // indirect github.com/pulumi/pulumi-yaml v1.1.1 // indirect - github.com/pulumi/pulumi/pkg/v3 v3.71.0 // indirect + github.com/pulumi/pulumi/pkg/v3 v3.76.1 // indirect github.com/pulumi/schema-tools v0.1.2 // indirect - github.com/pulumi/terraform-diff-reader v0.0.0-20201211191010-ad4715e9285e // indirect + github.com/pulumi/terraform-diff-reader v0.0.2 // indirect github.com/rivo/uniseg v0.4.4 // indirect github.com/rogpeppe/go-internal v1.9.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect @@ -198,7 +198,7 @@ require ( github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 // indirect github.com/segmentio/asm v1.1.3 // indirect github.com/segmentio/encoding v0.3.5 // indirect - github.com/sergi/go-diff v1.2.0 // indirect + github.com/sergi/go-diff v1.3.1 // indirect github.com/shopspring/decimal v1.3.1 // indirect github.com/skeema/knownhosts v1.1.0 // indirect github.com/spf13/afero v1.9.5 // indirect @@ -223,20 +223,20 @@ require ( go.uber.org/atomic v1.9.0 // indirect gocloud.dev v0.27.0 // indirect gocloud.dev/secrets/hashivault v0.27.0 // indirect - golang.org/x/crypto v0.7.0 // indirect + golang.org/x/crypto v0.10.0 // indirect golang.org/x/mod v0.10.0 // indirect - golang.org/x/net v0.8.0 // indirect - golang.org/x/oauth2 v0.6.0 // indirect - golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.6.0 // indirect - golang.org/x/term v0.6.0 // indirect - golang.org/x/text v0.8.0 // indirect - golang.org/x/time v0.1.0 // indirect + golang.org/x/net v0.11.0 // indirect + golang.org/x/oauth2 v0.7.0 // indirect + golang.org/x/sync v0.2.0 // indirect + golang.org/x/sys v0.9.0 // indirect + golang.org/x/term v0.9.0 // indirect + golang.org/x/text v0.10.0 // indirect + golang.org/x/time v0.3.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect - google.golang.org/api v0.110.0 // indirect + google.golang.org/api v0.114.0 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4 // indirect - google.golang.org/grpc v1.55.0 // indirect + google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect + google.golang.org/grpc v1.56.1 // indirect google.golang.org/protobuf v1.30.0 // indirect gopkg.in/square/go-jose.v2 v2.6.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect diff --git a/provider/go.sum b/provider/go.sum index 1c8dff9f..5c3c0979 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -74,8 +74,8 @@ cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= -cloud.google.com/go/compute v1.18.0 h1:FEigFqoDbys2cvFkZ9Fjq4gnHBP55anJ0yQyau2f9oY= -cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs= +cloud.google.com/go/compute v1.19.1 h1:am86mquDUgjGNWxiGn+5PGLbmgiWXlE/yNWpIpNvuXY= +cloud.google.com/go/compute v1.19.1/go.mod h1:6ylj3a05WF8leseCdIf77NK0g1ey+nj5IKd5/kvShxE= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= @@ -118,11 +118,11 @@ cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= -cloud.google.com/go/iam v0.12.0 h1:DRtTY29b75ciH6Ov1PHb4/iat2CLCvrOm40Q0a6DFpE= -cloud.google.com/go/iam v0.12.0/go.mod h1:knyHGviacl11zrtZUoDuYpDgLjvr28sLQaG0YB2GYAY= +cloud.google.com/go/iam v0.13.0 h1:+CmB+K0J/33d0zSQ9SlFWUeCCEn5XJA0ZMZ3pHE9u8k= +cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA= -cloud.google.com/go/kms v1.9.0 h1:b0votJQa/9DSsxgHwN33/tTLA7ZHVzfWhDCrfiXijSo= -cloud.google.com/go/kms v1.9.0/go.mod h1:qb1tPTgfF9RQP8e1wq4cLFErVuTJv7UsSC915J8dh3w= +cloud.google.com/go/kms v1.10.1 h1:7hm1bRqGCA1GBRQUrp831TwJ9TWhP+tvLuP497CQS2g= +cloud.google.com/go/kms v1.10.1/go.mod h1:rIWk/TryCkR59GMC3YtHtXeLzd634lBbKenvyySAyYI= cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= @@ -192,8 +192,8 @@ cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= cloud.google.com/go/storage v1.24.0/go.mod h1:3xrJEFMXBsQLgxwThyjuD3aYlroL0TMRec1ypGUQ0KE= cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= -cloud.google.com/go/storage v1.28.1 h1:F5QDG5ChchaAVQhINh24U99OWHURqrW8OmQcGKXcbgI= -cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y= +cloud.google.com/go/storage v1.29.0 h1:6weCgzRvMg7lzuUurI4697AqIRPU1SvzHhynwpW31jI= +cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjpS5GBrB8h4= cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= cloud.google.com/go/trace v1.0.0/go.mod h1:4iErSByzxkyHWzzlAj63/Gmjz0NH1ASqhJguHpGcr6A= @@ -294,7 +294,7 @@ github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF0 github.com/Masterminds/semver/v3 v3.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc= github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= -github.com/Masterminds/sprig/v3 v3.2.0/go.mod h1:tWhwTbUTndesPNeF0C900vKoq283u6zp4APT9vaF3SI= +github.com/Masterminds/sprig/v3 v3.2.1/go.mod h1:UoaO7Yp8KlPnJIYWTFkMaqPUYKTfGFPhxNuwnnxkKlk= github.com/Masterminds/sprig/v3 v3.2.2 h1:17jRggJu518dr3QaafizSXOjKYp94wKfABxUmyxvxX8= github.com/Masterminds/sprig/v3 v3.2.2/go.mod h1:UoaO7Yp8KlPnJIYWTFkMaqPUYKTfGFPhxNuwnnxkKlk= github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= @@ -327,8 +327,8 @@ github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8/go.mod h1:oX5x61 github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2 h1:+vx7roKuyA63nhn5WAunQHLTznkw5W8b1Xc0dNjp83s= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= -github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4 h1:ra2OtmuW0AE5csawV4YXMNGNQQXvLRps3z2Z59OPO+I= -github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4/go.mod h1:UBYPn8k0D56RtnR8RFQMjmh4KrZzWJ5o7Z9SYjossQ8= +github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8 h1:wPbRQzjjwFc0ih8puEVAOFGELsn1zoIIYdxvML7mDxA= +github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8/go.mod h1:I0gYDMZ6Z5GRU7l58bNFSkPTFN6Yl12dsUlAZ8xy98g= github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= @@ -337,8 +337,9 @@ github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:H github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= -github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk= github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= +github.com/acomagu/bufpipe v1.0.4 h1:e3H4WUzM3npvo5uv95QuJM3cQspFNtFBzvJ2oNjKIDQ= +github.com/acomagu/bufpipe v1.0.4/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da h1:KjTM2ks9d14ZYCvmHS9iAKVt9AyzRSqNU1qabPih5BY= github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da/go.mod h1:eHEWzANqSiWQsof+nXEI9bUVUyV6F53Fp89EuCh2EAA= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= @@ -776,14 +777,14 @@ github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4= github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= github.com/go-git/go-billy/v5 v5.3.1/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= -github.com/go-git/go-billy/v5 v5.4.0 h1:Vaw7LaSTRJOUric7pe4vnzBSgyuf2KrLsu2Y4ZpQBDE= -github.com/go-git/go-billy/v5 v5.4.0/go.mod h1:vjbugF6Fz7JIflbVpl1hJsGjSHNltrSw45YK/ukIvQg= +github.com/go-git/go-billy/v5 v5.4.1 h1:Uwp5tDRkPr+l/TnbHOQzp+tmJfLceOlbVucgpTz8ix4= +github.com/go-git/go-billy/v5 v5.4.1/go.mod h1:vjbugF6Fz7JIflbVpl1hJsGjSHNltrSw45YK/ukIvQg= github.com/go-git/go-git-fixtures/v4 v4.2.1/go.mod h1:K8zd3kDUAykwTdDCr+I0per6Y6vMiRR/nnVTBtavnB0= github.com/go-git/go-git-fixtures/v4 v4.3.1 h1:y5z6dd3qi8Hl+stezc8p3JxDkoTRqMAlKnXHuzrfjTQ= github.com/go-git/go-git-fixtures/v4 v4.3.1/go.mod h1:8LHG1a3SRW71ettAD/jW13h8c6AqjVSeL11RAdgaqpo= github.com/go-git/go-git/v5 v5.4.2/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti4ihgckDc= -github.com/go-git/go-git/v5 v5.6.0 h1:JvBdYfcttd+0kdpuWO7KTu0FYgCf5W0t5VwkWGobaa4= -github.com/go-git/go-git/v5 v5.6.0/go.mod h1:6nmJ0tJ3N4noMV1Omv7rC5FG3/o8Cm51TB4CJp7mRmE= +github.com/go-git/go-git/v5 v5.6.1 h1:q4ZRqQl4pR/ZJHc1L5CFjGA1a10u76aV1iC+nh+bHsk= +github.com/go-git/go-git/v5 v5.6.1/go.mod h1:mvyoL6Unz0PiTQrGQfSfiLFhBH1c1e84ylC2MDs4ee8= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -1036,8 +1037,8 @@ github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99 github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= -github.com/googleapis/gax-go/v2 v2.7.0 h1:IcsPKeInNvYi7eqSaDjiZqDDKu5rsmunY0Y1YupQSSQ= -github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8= +github.com/googleapis/gax-go/v2 v2.7.1 h1:gF4c0zjUP2H/s/hEGyLA3I0fA2ZWjzYiONAD6cvPr8A= +github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= @@ -1102,8 +1103,9 @@ github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39 github.com/hashicorp/go-hclog v0.12.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-hclog v0.16.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-hclog v1.2.2 h1:ihRI7YFwcZdiSD7SIenIhHfQH3OuDvWerAUBZbeQS3M= github.com/hashicorp/go-hclog v1.2.2/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= +github.com/hashicorp/go-hclog v1.5.0 h1:bI2ocEMgcVlz55Oj1xZNBsVi900c7II+fWDyV9o+13c= +github.com/hashicorp/go-hclog v1.5.0/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-immutable-radix v1.2.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= @@ -1119,8 +1121,8 @@ github.com/hashicorp/go-plugin v1.0.1/go.mod h1:++UyYGoz3o5w9ZzAdZxtQKrWWP+iqPBn github.com/hashicorp/go-plugin v1.3.0/go.mod h1:F9eH4LrE/ZsRdbwhfjs9k9HoDUwAHnYtXdgmf1AVNs0= github.com/hashicorp/go-plugin v1.4.3/go.mod h1:5fGEH17QVwTTcR0zV7yhDPLLmFX9YSZ38b18Udy6vYQ= github.com/hashicorp/go-plugin v1.4.4/go.mod h1:viDMjcLJuDui6pXb8U4HVfb8AamCWhHGUjr2IrTF67s= -github.com/hashicorp/go-plugin v1.4.8 h1:CHGwpxYDOttQOY7HOWgETU9dyVjOXzniXDqJcYJE1zM= -github.com/hashicorp/go-plugin v1.4.8/go.mod h1:viDMjcLJuDui6pXb8U4HVfb8AamCWhHGUjr2IrTF67s= +github.com/hashicorp/go-plugin v1.4.10 h1:xUbmA4jC6Dq163/fWcp8P3JuHilrHHMLNRxzGQJ9hNk= +github.com/hashicorp/go-plugin v1.4.10/go.mod h1:6/1TEzT0eQznvI/gV2CM29DLSkAK/e58mUWKVsPaph0= github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= github.com/hashicorp/go-retryablehttp v0.7.1 h1:sUiuQAnLlbvmExtFQs72iFW/HXeUn8Z1aJLQ4LJJbTQ= @@ -1169,8 +1171,8 @@ github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T github.com/hashicorp/hcl/v2 v2.0.0/go.mod h1:oVVDG71tEinNGYCxinCYadcmKU9bglqW9pV3txagJ90= github.com/hashicorp/hcl/v2 v2.3.0/go.mod h1:d+FwDBbOLvpAM3Z6J7gPj/VoAGkNe/gm352ZhjJ/Zv8= github.com/hashicorp/hcl/v2 v2.8.2/go.mod h1:bQTN5mpo+jewjJgh8jr0JUguIi7qPHUF6yIfAEN3jqY= -github.com/hashicorp/hcl/v2 v2.16.2 h1:mpkHZh/Tv+xet3sy3F9Ld4FyI2tUpWe9x3XtPx9f1a0= -github.com/hashicorp/hcl/v2 v2.16.2/go.mod h1:JRmR89jycNkrrqnMmvPDMd56n1rQJ2Q6KocSLCMCXng= +github.com/hashicorp/hcl/v2 v2.17.0 h1:z1XvSUyXd1HP10U4lrLg5e0JMVz6CPaJvAgxM0KNZVY= +github.com/hashicorp/hcl/v2 v2.17.0/go.mod h1:gJyW2PTShkJqQBKpAmPO3yxMxIuoXkOF2TpqXzrQyx4= github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93 h1:T1Q6ag9tCwun16AW+XK3tAql24P4uTGUMIn1/92WsQQ= github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93/go.mod h1:n2TSygSNwsLJ76m8qFXTSc7beTb+auJxYdqrnoqwZWE= github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= @@ -1195,8 +1197,8 @@ github.com/hashicorp/terraform-json v0.10.0/go.mod h1:3defM4kkMfttwiE7VakJDwCd4R github.com/hashicorp/terraform-json v0.13.0/go.mod h1:y5OdLBCT+rxbwnpxZs9kGL7R9ExU76+cpdY8zHwoazk= github.com/hashicorp/terraform-json v0.14.0 h1:sh9iZ1Y8IFJLx+xQiKHGud6/TSUCM0N8e17dKDpqV7s= github.com/hashicorp/terraform-json v0.14.0/go.mod h1:5A9HIWPkk4e5aeeXIBbkcOvaZbIYnAIkEyqP2pNSckM= -github.com/hashicorp/terraform-plugin-go v0.14.3 h1:nlnJ1GXKdMwsC8g1Nh05tK2wsC3+3BL/DBBxFEki+j0= -github.com/hashicorp/terraform-plugin-log v0.7.0 h1:SDxJUyT8TwN4l5b5/VkiTIaQgY6R+Y2BQ0sRZftGKQs= +github.com/hashicorp/terraform-plugin-go v0.16.0 h1:DSOQ0rz5FUiVO4NUzMs8ln9gsPgHMTsfns7Nk+6gPuE= +github.com/hashicorp/terraform-plugin-log v0.9.0 h1:i7hOA+vdAItN1/7UrfBqBwvYPQ9TFvymaRGZED3FCV0= github.com/hashicorp/terraform-plugin-sdk v1.7.0/go.mod h1:OjgQmey5VxnPej/buEhe+YqKm0KNvV3QqU4hkqHqPCY= github.com/hashicorp/terraform-plugin-sdk v1.17.2 h1:V7DUR3yBWFrVB9z3ddpY7kiYVSsq4NYR67NiTs93NQo= github.com/hashicorp/terraform-plugin-sdk v1.17.2/go.mod h1:wkvldbraEMkz23NxkkAsFS88A1R9eUiooiaUZyS6TLw= @@ -1207,8 +1209,9 @@ github.com/hashicorp/terraform-plugin-test/v2 v2.1.1/go.mod h1:HaW2G5cDTVyiEKt7P github.com/hashicorp/terraform-plugin-test/v2 v2.2.1 h1:d3Rzmi5bnRzcAZon91FY4TDCMUYdU8c5vpPpf2Tz+c8= github.com/hashicorp/terraform-plugin-test/v2 v2.2.1/go.mod h1:eZ9JL3O69Cb71Skn6OhHyj17sLmHRb+H6VrDcJjKrYU= github.com/hashicorp/terraform-svchost v0.0.0-20191011084731-65d371908596/go.mod h1:kNDNcF7sN4DocDLBkQYz73HGKwN1ANB1blq4lIYLYvg= -github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734 h1:HKLsbzeOsfXmKNpr3GiT18XAblV0BjCbzL8KQAMZGa0= github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734/go.mod h1:kNDNcF7sN4DocDLBkQYz73HGKwN1ANB1blq4lIYLYvg= +github.com/hashicorp/terraform-svchost v0.1.1 h1:EZZimZ1GxdqFRinZ1tpJwVxxt49xc/S52uzrw4x0jKQ= +github.com/hashicorp/terraform-svchost v0.1.1/go.mod h1:mNsjQfZyf/Jhz35v6/0LWcv26+X7JPS+buii2c9/ctc= github.com/hashicorp/vault/api v1.7.2/go.mod h1:xbfA+1AvxFseDzxxdWaL0uO99n1+tndus4GCrtouy0M= github.com/hashicorp/vault/api v1.8.2 h1:C7OL9YtOtwQbTKI9ogB0A1wffRbCN+rH/LLCHO3d8HM= github.com/hashicorp/vault/api v1.8.2/go.mod h1:ML8aYzBIhY5m1MD1B2Q0JV89cC85YVH4t5kBaZiyVaE= @@ -1226,7 +1229,7 @@ github.com/hexops/autogold v1.3.0 h1:IEtGNPxBeBu8RMn8eKWh/Ll9dVNgSnJ7bp/qHgMQ14o github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= github.com/hexops/valast v1.4.0 h1:sFzyxPDP0riFQUzSBXTCCrAbbIndHPWMndxuEjXdZlc= github.com/hinshun/vt10x v0.0.0-20180616224451-1954e6464174/go.mod h1:DqJ97dSdRW1W22yXSB90986pcOyQ7r45iio1KN2ez1A= -github.com/hinshun/vt10x v0.0.0-20220119200601-820417d04eec h1:qv2VnGeEQHchGaZ/u7lxST/RaJw+cv273q79D81Xbog= +github.com/hinshun/vt10x v0.0.0-20220301184237-5011da428d02 h1:AgcIVYPa6XJnU3phs104wLj8l5GEththEw6+F79YsIY= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/huandu/xstrings v1.3.1/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/huandu/xstrings v1.3.2 h1:L18LIDzqlW6xN2rEkpdV8+oL/IXWJ1APd+vsdYy4Wdw= @@ -1409,8 +1412,8 @@ github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcME github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= -github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.18 h1:DOKFKCQ7FNG2L1rbrmstDN4QVRdS89Nkh85u68Uwp98= +github.com/mattn/go-isatty v0.0.18/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= @@ -1434,8 +1437,8 @@ github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= github.com/mitchellh/cli v1.1.2/go.mod h1:6iaV0fGdElS6dPBx0EApTxHrcWvmJphyh2n8YBLPPZ4= -github.com/mitchellh/cli v1.1.4 h1:qj8czE26AU4PbiaPXK5uVmMSM+V5BYsFBiM9HhGRLUA= -github.com/mitchellh/cli v1.1.4/go.mod h1:vTLESy5mRhKOs9KDp0/RATawxP1UqBmdrpVRMnpcvKQ= +github.com/mitchellh/cli v1.1.5 h1:OxRIeJXpAMztws/XHlN2vu6imG5Dpq+j61AzAX5fLng= +github.com/mitchellh/cli v1.1.5/go.mod h1:v8+iFts2sPIKUV1ltktPXMCC8fumSKFItNcD2cLtRR4= github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db h1:62I3jR2EmQ4l5rM/4FEfDWcRD+abF5XlKShorW5LRoQ= github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db/go.mod h1:l0dey0ia/Uv7NcFFVbCLtqEBQbrT4OCwCSKTEv6enCw= github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= @@ -1683,20 +1686,20 @@ github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40T github.com/pulumi/pulumi-java/pkg v0.9.4 h1:gIQZmlUI1o9ye8CL2XFqtmAX6Lwr9uj/+HzjboiSmK4= github.com/pulumi/pulumi-java/pkg v0.9.4/go.mod h1:c6rSw/+q4O0IImgJ9axxoC6QesbPYWBaG5gimbHouUQ= github.com/pulumi/pulumi-terraform-bridge/testing v0.0.1 h1:SCg1gjfY9N4yn8U8peIUYATifjoDABkyR7H9lmefsfc= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.50.1 h1:3lfYzYjs/8ZtJuOm3xHhnGV9T5FQ+MObIOIcNEOQxEk= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.50.1/go.mod h1:ek2NJSTqeI5+V6wL2Cv8qy3f7S0Uc04UT/m6U582fSs= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.56.2 h1:NY9kPxzquV8rW/YYYlu0o7LLF/NmfUGEY/uZ06h/CMw= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.56.2/go.mod h1:ykaml8e6XS/yI9JOcNZ+6gLirs6EWTB0FmjbT+JyEdU= github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.4 h1:rIzMmtcVpPX8ynaz6/nW5AHNY63DiNfCohqmxWvMpM4= github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.4/go.mod h1:Kt8RIZWa/N8rW3+0g6NrqCBmF3o+HuIhFaZpssEkG6w= github.com/pulumi/pulumi-yaml v1.1.1 h1:8pyBNIU8+ym0wYpjhsCqN+cutygfK1XbhY2YEeNfyXY= github.com/pulumi/pulumi-yaml v1.1.1/go.mod h1:GhpdS6rFpwqvUtKdA+fQy8P28iNvncng39IXh5q68vE= -github.com/pulumi/pulumi/pkg/v3 v3.71.0 h1:SdmFCDKQGz6HxbHi+7CDTRQ9pQfWOJWmLL5Kh4ayQEk= -github.com/pulumi/pulumi/pkg/v3 v3.71.0/go.mod h1:U4IvxPAIezAbJwwyGl2faq09XC0BP3RxQbwZmBYy6fM= -github.com/pulumi/pulumi/sdk/v3 v3.71.0 h1:D/02vc3Xn/eKxwCDWuYmkxAO1Jm7waOeiuxercQQWLY= -github.com/pulumi/pulumi/sdk/v3 v3.71.0/go.mod h1:BUUBfQZsH0FPuznRfFHkR+b96VlXELnn+DgidFj4XSQ= +github.com/pulumi/pulumi/pkg/v3 v3.76.1 h1:OdQHwI2oB8Q1Es13by63QhDqIdk7Kl4w39UTrX3M44Y= +github.com/pulumi/pulumi/pkg/v3 v3.76.1/go.mod h1:DnDxyPUhLJv334MdPIIGYD0V7i7fVb7j9AvYf18MI6w= +github.com/pulumi/pulumi/sdk/v3 v3.76.1 h1:ItfwcLvxAyX+Pl+BPgx+J5mhKF3/LWOMls/vneTXp9o= +github.com/pulumi/pulumi/sdk/v3 v3.76.1/go.mod h1:HiE9Wf+DVrg8Em1D6bxRCdDMsNkj8//vLCST73xH2Hc= github.com/pulumi/schema-tools v0.1.2 h1:Fd9xvUjgck4NA+7/jSk7InqCUT4Kj940+EcnbQKpfZo= github.com/pulumi/schema-tools v0.1.2/go.mod h1:62lgj52Tzq11eqWTIaKd+EVyYAu5dEcDJxMhTjvMO/k= -github.com/pulumi/terraform-diff-reader v0.0.0-20201211191010-ad4715e9285e h1:Dik4Qe/+xguB8JagPyXNlbOnRiXGmq/PSPQTGunYnTk= -github.com/pulumi/terraform-diff-reader v0.0.0-20201211191010-ad4715e9285e/go.mod h1:sZ9FUzGO+yM41hsQHs/yIcj/Y993qMdBxBU5mpDmAfQ= +github.com/pulumi/terraform-diff-reader v0.0.2 h1:kTE4nEXU3/SYXESvAIem+wyHMI3abqkI3OhJ0G04LLI= +github.com/pulumi/terraform-diff-reader v0.0.2/go.mod h1:sZ9FUzGO+yM41hsQHs/yIcj/Y993qMdBxBU5mpDmAfQ= github.com/rakyll/embedmd v0.0.0-20171029212350-c8060a0752a2/go.mod h1:7jOTMgqac46PZcF54q6l2hkLEG8op93fZu61KmxWDV4= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= @@ -1742,8 +1745,9 @@ github.com/segmentio/encoding v0.3.5 h1:UZEiaZ55nlXGDL92scoVuw00RmiRCazIEmvPSbSv github.com/segmentio/encoding v0.3.5/go.mod h1:n0JeuIqEQrQoPDGsjo8UNd1iA0U8d8+oHAA4E3G3OxM= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= -github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= +github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8= +github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I= github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= github.com/shopspring/decimal v1.3.1 h1:2Usl1nmF/WZucqkFZhnfFYxxxu8LG21F6nPQBE5gKV8= @@ -1862,12 +1866,10 @@ github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f/go.mod h1:DD4vA1 github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= github.com/vmihailenco/msgpack v4.0.1+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= github.com/vmihailenco/msgpack v4.0.4+incompatible h1:dSLoQfGFAo3F6OoNhwUmLwVgaUXK79GlxNBwueZn0xI= -github.com/vmihailenco/msgpack/v4 v4.3.12 h1:07s4sz9IReOgdikxLTKNbBdqDMLsjPKXwvCazn8G65U= github.com/vmihailenco/msgpack/v4 v4.3.12/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4= github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9znI5mJU= github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= -github.com/vmihailenco/tagparser v0.1.2 h1:gnjoVuB/kljJ5wICEEOpx98oXMWPLj22G67Vbd1qPqc= github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= github.com/vultr/govultr/v2 v2.17.2/go.mod h1:ZFOKGWmgjytfyjeyAdhQlSWwTjh2ig+X49cAp50dzXI= @@ -1909,6 +1911,7 @@ github.com/zclconf/go-cty v1.9.1/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUA github.com/zclconf/go-cty v1.10.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= github.com/zclconf/go-cty v1.13.2 h1:4GvrUxe/QUDYuJKAav4EYqdM47/kZa672LwmXFmEKT0= github.com/zclconf/go-cty v1.13.2/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= +github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b h1:FosyBZYxY34Wul7O/MSKey3txpPYyCqVO5ZyceuQJEI= github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= github.com/zclconf/go-cty-yaml v1.0.1/go.mod h1:IP3Ylp0wQpYm50IHK8OZWKMu6sPJIUgKa8XhiVHura0= github.com/zclconf/go-cty-yaml v1.0.2 h1:dNyg4QLTrv2IfJpm7Wtxi55ed5gLGOlPrZ6kMd51hY0= @@ -2056,9 +2059,9 @@ golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= -golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= -golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A= -golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= +golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= +golang.org/x/crypto v0.10.0 h1:LKqV2xt9+kDzSTfOhx4FrkEBcMrAgHSYgzywV9zcGmM= +golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -2187,9 +2190,10 @@ golang.org/x/net v0.0.0-20220826154423-83b083e8dc8b/go.mod h1:YDH+HFinaLZZlnHAfS golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= -golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= -golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ= -golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.11.0 h1:Gi2tvZIJyBtO9SDr1q9h5hEQCp/4L2RQ+ar0qjx2oNU= +golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -2219,8 +2223,8 @@ golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= -golang.org/x/oauth2 v0.6.0 h1:Lh8GPgSKBfWSwFvtuWOfeI3aAAnbXTSutYxJiOJFgIw= -golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw= +golang.org/x/oauth2 v0.7.0 h1:qe6s0zUXlPX80/dITx3440hWZ7GwMwgDDyrSGTPJG/g= +golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -2236,8 +2240,8 @@ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.2.0 h1:PUR+T4wwASmuSTYdKjYHI5TD22Wy5ogLU5qZCOLxBrI= +golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -2385,13 +2389,13 @@ golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220731174439-a90be440212d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.9.0 h1:KS/R3tvhPqvJvwcKfnBHJwwthS11LRhmM5D59eEXa0s= +golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -2399,9 +2403,9 @@ golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuX 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= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= -golang.org/x/term v0.6.0 h1:clScbb1cHjoCkyRbWwBEUZ5H/tIFu5TAXIqaZD0Gcjw= -golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.9.0 h1:GRRCnKYhdQrD8kfRAdQ6Zcw1P0OcELxGLKJvtjVMZ28= +golang.org/x/term v0.9.0/go.mod h1:M6DEAAIenWoTxdKrOltXcmDY3rSplQUkrvaDU5FcQyo= 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= @@ -2412,8 +2416,9 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68= -golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.10.0 h1:UpjohKhiEgNc0CSauXmwYftY1+LlaC75SJwh0SgCX58= +golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -2426,8 +2431,8 @@ golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20220224211638-0e9765cccd65/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20220609170525-579cf78fd858/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.1.0 h1:xYY+Bajn2a7VBmTM5GikTmnK8ZuX8YgnQCqZpbBNtmA= -golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= +golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -2514,7 +2519,7 @@ golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E golang.org/x/tools v0.1.11/go.mod h1:SgwaegtQh8clINPpECJMqnxLv9I09HLqnW3RMqW0CA4= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= -golang.org/x/tools v0.7.0 h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4= +golang.org/x/tools v0.9.3 h1:Gn1I8+64MsuTb/HpH+LmQtNas23LhUVr3rYZ0eKuaMM= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -2582,8 +2587,8 @@ google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= -google.golang.org/api v0.110.0 h1:l+rh0KYUooe9JGbGVx71tbFo4SMbMTXK3I3ia2QSEeU= -google.golang.org/api v0.110.0/go.mod h1:7FC4Vvx1Mooxh8C5HWjzZHcavuS2f6pmJpZx60ca7iI= +google.golang.org/api v0.114.0 h1:1xQPji6cO2E2vLiI+C/XiFAnsn1WV3mjaEwGLhi3grE= +google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -2714,8 +2719,8 @@ google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqw google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= -google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4 h1:DdoeryqhaXp1LtT/emMP1BRJPHHKFi5akj/nbx/zNTA= -google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= @@ -2764,8 +2769,8 @@ google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACu google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.55.0 h1:3Oj82/tFSCeUrRTg/5E/7d/W5A1tj6Ky1ABAuZuv5ag= -google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8= +google.golang.org/grpc v1.56.1 h1:z0dNfjIl0VpaZ9iSVjA6daGatAYwPGstTjt5vkRMFkQ= +google.golang.org/grpc v1.56.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= 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= @@ -2905,7 +2910,7 @@ lukechampine.com/frand v1.4.2 h1:RzFIpOvkMXuPMBb9maa4ND4wjBn71E1Jpf8BzJHMaVw= lukechampine.com/frand v1.4.2/go.mod h1:4S/TM2ZgrKejMcKMbeLjISpJMO+/eZ1zu3vYX9dtj3s= mvdan.cc/gofumpt v0.1.0 h1:hsVv+Y9UsZ/mFZTxJZuHVI6shSQCtzZ11h1JEFPAZLw= nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= -pgregory.net/rapid v0.5.5 h1:jkgx1TjbQPD/feRoK+S/mXw9e1uj6WilpHrXJowi6oA= +pgregory.net/rapid v0.6.1 h1:4eyrDxyht86tT4Ztm+kvlyNBLIk071gR+ZQdhphc9dQ= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= diff --git a/upstream b/upstream index a0747371..77790f82 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit a07473718ed401d95a962e2a9e56c3f823f772ec +Subproject commit 77790f828653d88601bdb8f0e3bcb657d2213cef From 9d0341d84e323e1a840341c4b179830a65d6a7b8 Mon Sep 17 00:00:00 2001 From: aq17 Date: Tue, 8 Aug 2023 19:24:38 -0700 Subject: [PATCH 2/5] make build_sdks --- sdk/dotnet/CseMatchList.cs | 11 - sdk/dotnet/IngestBudgetV2.cs | 29 +- .../Inputs/LogSearchQueryParameterArgs.cs | 9 +- .../Inputs/LogSearchQueryParameterGetArgs.cs | 9 +- .../Inputs/LogSearchScheduleParameterArgs.cs | 2 +- .../LogSearchScheduleParameterGetArgs.cs | 2 +- .../Inputs/MetricsSearchMetricsQueryArgs.cs | 36 + .../MetricsSearchMetricsQueryGetArgs.cs | 36 + .../Inputs/MetricsSearchTimeRangeArgs.cs | 34 + ...earchTimeRangeBeginBoundedTimeRangeArgs.cs | 34 + ...hTimeRangeBeginBoundedTimeRangeFromArgs.cs | 44 + ...nBoundedTimeRangeFromEpochTimeRangeArgs.cs | 26 + ...undedTimeRangeFromEpochTimeRangeGetArgs.cs | 26 + ...meRangeBeginBoundedTimeRangeFromGetArgs.cs | 44 + ...oundedTimeRangeFromIso8601TimeRangeArgs.cs | 26 + ...dedTimeRangeFromIso8601TimeRangeGetArgs.cs | 26 + ...oundedTimeRangeFromLiteralTimeRangeArgs.cs | 27 + ...dedTimeRangeFromLiteralTimeRangeGetArgs.cs | 27 + ...undedTimeRangeFromRelativeTimeRangeArgs.cs | 32 + ...edTimeRangeFromRelativeTimeRangeGetArgs.cs | 32 + ...chTimeRangeBeginBoundedTimeRangeGetArgs.cs | 34 + ...rchTimeRangeBeginBoundedTimeRangeToArgs.cs | 44 + ...ginBoundedTimeRangeToEpochTimeRangeArgs.cs | 26 + ...BoundedTimeRangeToEpochTimeRangeGetArgs.cs | 26 + ...TimeRangeBeginBoundedTimeRangeToGetArgs.cs | 44 + ...nBoundedTimeRangeToIso8601TimeRangeArgs.cs | 26 + ...undedTimeRangeToIso8601TimeRangeGetArgs.cs | 26 + ...nBoundedTimeRangeToLiteralTimeRangeArgs.cs | 27 + ...undedTimeRangeToLiteralTimeRangeGetArgs.cs | 27 + ...BoundedTimeRangeToRelativeTimeRangeArgs.cs | 32 + ...ndedTimeRangeToRelativeTimeRangeGetArgs.cs | 32 + ...chTimeRangeCompleteLiteralTimeRangeArgs.cs | 27 + ...imeRangeCompleteLiteralTimeRangeGetArgs.cs | 27 + .../Inputs/MetricsSearchTimeRangeGetArgs.cs | 34 + .../Inputs/RumSourceDefaultDateFormatArgs.cs | 26 + .../RumSourceDefaultDateFormatGetArgs.cs | 26 + sdk/dotnet/Inputs/RumSourceFilterArgs.cs | 32 + sdk/dotnet/Inputs/RumSourceFilterGetArgs.cs | 32 + sdk/dotnet/Inputs/RumSourcePathArgs.cs | 86 + sdk/dotnet/Inputs/RumSourcePathGetArgs.cs | 86 + sdk/dotnet/LogSearch.cs | 52 +- sdk/dotnet/MetricsSearch.cs | 274 ++ sdk/dotnet/Monitor.cs | 6 +- sdk/dotnet/Outputs/LogSearchQueryParameter.cs | 9 +- .../Outputs/LogSearchScheduleParameter.cs | 2 +- .../Outputs/MetricsSearchMetricsQuery.cs | 39 + sdk/dotnet/Outputs/MetricsSearchTimeRange.cs | 37 + ...icsSearchTimeRangeBeginBoundedTimeRange.cs | 37 + ...earchTimeRangeBeginBoundedTimeRangeFrom.cs | 49 + ...BeginBoundedTimeRangeFromEpochTimeRange.cs | 27 + ...ginBoundedTimeRangeFromIso8601TimeRange.cs | 27 + ...ginBoundedTimeRangeFromLiteralTimeRange.cs | 28 + ...inBoundedTimeRangeFromRelativeTimeRange.cs | 33 + ...sSearchTimeRangeBeginBoundedTimeRangeTo.cs | 49 + ...geBeginBoundedTimeRangeToEpochTimeRange.cs | 27 + ...BeginBoundedTimeRangeToIso8601TimeRange.cs | 27 + ...BeginBoundedTimeRangeToLiteralTimeRange.cs | 28 + ...eginBoundedTimeRangeToRelativeTimeRange.cs | 33 + ...SearchTimeRangeCompleteLiteralTimeRange.cs | 28 + .../Outputs/RumSourceDefaultDateFormat.cs | 29 + sdk/dotnet/Outputs/RumSourceFilter.cs | 37 + sdk/dotnet/Outputs/RumSourcePath.cs | 77 + sdk/dotnet/RumSource.cs | 283 ++ sdk/go/sumologic/awsInventorySource.go | 2 + sdk/go/sumologic/awsXraySource.go | 2 + sdk/go/sumologic/cloudSyslogSource.go | 2 + sdk/go/sumologic/cloudToCloudSource.go | 2 + sdk/go/sumologic/cloudfrontSource.go | 2 + sdk/go/sumologic/cloudtrailSource.go | 2 + sdk/go/sumologic/cloudwatchSource.go | 2 + sdk/go/sumologic/collector.go | 2 + .../collectorIngestBudgetAssignment.go | 2 + sdk/go/sumologic/config/config.go | 7 +- sdk/go/sumologic/connection.go | 26 +- sdk/go/sumologic/content.go | 2 + sdk/go/sumologic/contentPermission.go | 2 + sdk/go/sumologic/cseAggregationRule.go | 2 + sdk/go/sumologic/cseAutomation.go | 2 + sdk/go/sumologic/cseChainRule.go | 2 + sdk/go/sumologic/cseCustomEntityType.go | 2 + sdk/go/sumologic/cseCustomInsight.go | 2 + sdk/go/sumologic/cseCustomMatchListColumn.go | 2 + .../sumologic/cseEntityCriticalityConfig.go | 2 + .../cseEntityEntityGroupConfiguration.go | 2 + .../cseEntityNormalizationConfiguration.go | 2 + sdk/go/sumologic/cseFirstSeenRule.go | 2 + sdk/go/sumologic/cseInsightsConfiguration.go | 2 + sdk/go/sumologic/cseInsightsResolution.go | 2 + sdk/go/sumologic/cseInsightsStatus.go | 2 + .../cseInventoryEntityGroupConfiguration.go | 2 + sdk/go/sumologic/cseLogMapping.go | 2 + sdk/go/sumologic/cseMatchList.go | 20 +- sdk/go/sumologic/cseMatchRule.go | 2 + sdk/go/sumologic/cseNetworkBlock.go | 2 + sdk/go/sumologic/cseOutlierRule.go | 2 + sdk/go/sumologic/cseRuleTuningExpression.go | 2 + sdk/go/sumologic/cseThresholdRule.go | 2 + sdk/go/sumologic/dashboard.go | 12 +- sdk/go/sumologic/elbSource.go | 2 + sdk/go/sumologic/field.go | 2 + sdk/go/sumologic/fieldExtractionRule.go | 2 + sdk/go/sumologic/folder.go | 2 + sdk/go/sumologic/gcpMetricsSource.go | 2 + sdk/go/sumologic/gcpSource.go | 2 + sdk/go/sumologic/getAdminRecommendedFolder.go | 2 + sdk/go/sumologic/getCallerIdentity.go | 2 + sdk/go/sumologic/getCollector.go | 2 + .../getCseLogMappingVendorProduct.go | 2 + sdk/go/sumologic/getFolder.go | 2 + sdk/go/sumologic/getHttpSource.go | 2 + sdk/go/sumologic/getMyUserId.go | 2 + sdk/go/sumologic/getPersonalFolder.go | 2 + sdk/go/sumologic/getRole.go | 2 + sdk/go/sumologic/getUser.go | 2 + sdk/go/sumologic/hierarchy.go | 2 + sdk/go/sumologic/httpSource.go | 2 + sdk/go/sumologic/ingestBudget.go | 2 + sdk/go/sumologic/ingestBudgetV2.go | 34 +- sdk/go/sumologic/init.go | 20 +- sdk/go/sumologic/installedCollector.go | 2 + .../{config => internal}/pulumiUtilities.go | 40 +- sdk/go/sumologic/internal/pulumiVersion.go | 11 + sdk/go/sumologic/kineisLogSource.go | 2 + sdk/go/sumologic/kinesisMetricsSource.go | 2 + sdk/go/sumologic/localFileSource.go | 2 + sdk/go/sumologic/logSearch.go | 62 +- sdk/go/sumologic/lookupTable.go | 2 + sdk/go/sumologic/metadataSource.go | 2 + sdk/go/sumologic/metricsSearch.go | 386 ++ sdk/go/sumologic/monitor.go | 14 +- sdk/go/sumologic/monitorFolder.go | 2 + sdk/go/sumologic/partition.go | 2 + sdk/go/sumologic/passwordPolicy.go | 2 + sdk/go/sumologic/policies.go | 2 + sdk/go/sumologic/pollingSource.go | 2 + sdk/go/sumologic/provider.go | 6 +- sdk/go/sumologic/pulumiTypes.go | 3 + sdk/go/sumologic/pulumiTypes1.go | 3097 ++++++++++++++++- sdk/go/sumologic/pulumiUtilities.go | 87 - sdk/go/sumologic/role.go | 2 + sdk/go/sumologic/rumSource.go | 384 ++ sdk/go/sumologic/s3archiveSource.go | 2 + sdk/go/sumologic/s3auditSource.go | 2 + sdk/go/sumologic/s3source.go | 2 + sdk/go/sumologic/samlConfiguration.go | 2 + sdk/go/sumologic/scheduledView.go | 2 + sdk/go/sumologic/slo.go | 2 + sdk/go/sumologic/sloFolder.go | 2 + sdk/go/sumologic/subdomain.go | 2 + sdk/go/sumologic/token.go | 2 + sdk/go/sumologic/user.go | 2 + .../com/pulumi/sumologic/CseMatchList.java | 8 - .../pulumi/sumologic/CseMatchListArgs.java | 26 - .../com/pulumi/sumologic/IngestBudgetV2.java | 23 +- .../pulumi/sumologic/IngestBudgetV2Args.java | 45 +- .../java/com/pulumi/sumologic/LogSearch.java | 42 +- .../com/pulumi/sumologic/LogSearchArgs.java | 31 + .../com/pulumi/sumologic/MetricsSearch.java | 244 ++ .../pulumi/sumologic/MetricsSearchArgs.java | 324 ++ .../java/com/pulumi/sumologic/Monitor.java | 4 +- .../com/pulumi/sumologic/MonitorArgs.java | 10 +- .../java/com/pulumi/sumologic/RumSource.java | 201 ++ .../com/pulumi/sumologic/RumSourceArgs.java | 368 ++ .../sumologic/inputs/CseMatchListState.java | 26 - .../sumologic/inputs/IngestBudgetV2State.java | 45 +- .../inputs/LogSearchQueryParameterArgs.java | 44 +- .../LogSearchScheduleParameterArgs.java | 8 +- .../sumologic/inputs/LogSearchState.java | 31 + .../inputs/MetricsSearchMetricsQueryArgs.java | 136 + .../sumologic/inputs/MetricsSearchState.java | 319 ++ .../inputs/MetricsSearchTimeRangeArgs.java | 129 + ...rchTimeRangeBeginBoundedTimeRangeArgs.java | 130 + ...imeRangeBeginBoundedTimeRangeFromArgs.java | 197 ++ ...oundedTimeRangeFromEpochTimeRangeArgs.java | 82 + ...ndedTimeRangeFromIso8601TimeRangeArgs.java | 82 + ...ndedTimeRangeFromLiteralTimeRangeArgs.java | 86 + ...dedTimeRangeFromRelativeTimeRangeArgs.java | 106 + ...hTimeRangeBeginBoundedTimeRangeToArgs.java | 197 ++ ...nBoundedTimeRangeToEpochTimeRangeArgs.java | 82 + ...oundedTimeRangeToIso8601TimeRangeArgs.java | 82 + ...oundedTimeRangeToLiteralTimeRangeArgs.java | 86 + ...undedTimeRangeToRelativeTimeRangeArgs.java | 106 + ...TimeRangeCompleteLiteralTimeRangeArgs.java | 86 + .../pulumi/sumologic/inputs/MonitorState.java | 10 +- .../RumSourceDefaultDateFormatArgs.java | 81 + .../sumologic/inputs/RumSourceFilterArgs.java | 117 + .../sumologic/inputs/RumSourcePathArgs.java | 366 ++ .../sumologic/inputs/RumSourceState.java | 367 ++ .../outputs/LogSearchQueryParameter.java | 20 +- .../outputs/LogSearchScheduleParameter.java | 4 +- .../outputs/MetricsSearchMetricsQuery.java | 82 + .../outputs/MetricsSearchTimeRange.java | 81 + ...sSearchTimeRangeBeginBoundedTimeRange.java | 81 + ...rchTimeRangeBeginBoundedTimeRangeFrom.java | 119 + ...ginBoundedTimeRangeFromEpochTimeRange.java | 54 + ...nBoundedTimeRangeFromIso8601TimeRange.java | 54 + ...nBoundedTimeRangeFromLiteralTimeRange.java | 56 + ...BoundedTimeRangeFromRelativeTimeRange.java | 66 + ...earchTimeRangeBeginBoundedTimeRangeTo.java | 119 + ...BeginBoundedTimeRangeToEpochTimeRange.java | 54 + ...ginBoundedTimeRangeToIso8601TimeRange.java | 54 + ...ginBoundedTimeRangeToLiteralTimeRange.java | 56 + ...inBoundedTimeRangeToRelativeTimeRange.java | 66 + ...archTimeRangeCompleteLiteralTimeRange.java | 56 + .../outputs/RumSourceDefaultDateFormat.java | 60 + .../sumologic/outputs/RumSourceFilter.java | 84 + .../sumologic/outputs/RumSourcePath.java | 205 ++ sdk/nodejs/cseMatchList.ts | 9 - sdk/nodejs/index.ts | 16 + sdk/nodejs/ingestBudgetV2.ts | 25 +- sdk/nodejs/logSearch.ts | 44 +- sdk/nodejs/metricsSearch.ts | 228 ++ sdk/nodejs/monitor.ts | 6 +- sdk/nodejs/provider.ts | 2 +- sdk/nodejs/rumSource.ts | 179 + sdk/nodejs/tsconfig.json | 2 + sdk/nodejs/types/input.ts | 215 +- sdk/nodejs/types/output.ts | 215 +- sdk/python/pulumi_sumologic/__init__.py | 18 + sdk/python/pulumi_sumologic/_inputs.py | 1004 +++++- sdk/python/pulumi_sumologic/cse_match_list.py | 13 - .../get_admin_recommended_folder.py | 6 +- .../pulumi_sumologic/get_caller_identity.py | 6 +- sdk/python/pulumi_sumologic/get_collector.py | 12 +- .../get_cse_log_mapping_vendor_product.py | 8 +- sdk/python/pulumi_sumologic/get_folder.py | 6 +- .../pulumi_sumologic/get_http_source.py | 16 +- sdk/python/pulumi_sumologic/get_my_user_id.py | 2 +- .../pulumi_sumologic/get_personal_folder.py | 6 +- sdk/python/pulumi_sumologic/get_role.py | 10 +- sdk/python/pulumi_sumologic/get_user.py | 12 +- .../pulumi_sumologic/ingest_budget_v2.py | 71 +- sdk/python/pulumi_sumologic/log_search.py | 84 +- sdk/python/pulumi_sumologic/metrics_search.py | 518 +++ sdk/python/pulumi_sumologic/monitor.py | 23 +- sdk/python/pulumi_sumologic/outputs.py | 1234 ++++++- sdk/python/pulumi_sumologic/rum_source.py | 741 ++++ 237 files changed, 16406 insertions(+), 846 deletions(-) create mode 100644 sdk/dotnet/Inputs/MetricsSearchMetricsQueryArgs.cs create mode 100644 sdk/dotnet/Inputs/MetricsSearchMetricsQueryGetArgs.cs create mode 100644 sdk/dotnet/Inputs/MetricsSearchTimeRangeArgs.cs create mode 100644 sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeArgs.cs create mode 100644 sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs.cs create mode 100644 sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs.cs create mode 100644 sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeGetArgs.cs create mode 100644 sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromGetArgs.cs create mode 100644 sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs.cs create mode 100644 sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeGetArgs.cs create mode 100644 sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs.cs create mode 100644 sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeGetArgs.cs create mode 100644 sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs.cs create mode 100644 sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeGetArgs.cs create mode 100644 sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeGetArgs.cs create mode 100644 sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs.cs create mode 100644 sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs.cs create mode 100644 sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeGetArgs.cs create mode 100644 sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToGetArgs.cs create mode 100644 sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs.cs create mode 100644 sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeGetArgs.cs create mode 100644 sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs.cs create mode 100644 sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeGetArgs.cs create mode 100644 sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs.cs create mode 100644 sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeGetArgs.cs create mode 100644 sdk/dotnet/Inputs/MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs.cs create mode 100644 sdk/dotnet/Inputs/MetricsSearchTimeRangeCompleteLiteralTimeRangeGetArgs.cs create mode 100644 sdk/dotnet/Inputs/MetricsSearchTimeRangeGetArgs.cs create mode 100644 sdk/dotnet/Inputs/RumSourceDefaultDateFormatArgs.cs create mode 100644 sdk/dotnet/Inputs/RumSourceDefaultDateFormatGetArgs.cs create mode 100644 sdk/dotnet/Inputs/RumSourceFilterArgs.cs create mode 100644 sdk/dotnet/Inputs/RumSourceFilterGetArgs.cs create mode 100644 sdk/dotnet/Inputs/RumSourcePathArgs.cs create mode 100644 sdk/dotnet/Inputs/RumSourcePathGetArgs.cs create mode 100644 sdk/dotnet/MetricsSearch.cs create mode 100644 sdk/dotnet/Outputs/MetricsSearchMetricsQuery.cs create mode 100644 sdk/dotnet/Outputs/MetricsSearchTimeRange.cs create mode 100644 sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRange.cs create mode 100644 sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFrom.cs create mode 100644 sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange.cs create mode 100644 sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange.cs create mode 100644 sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange.cs create mode 100644 sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange.cs create mode 100644 sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeTo.cs create mode 100644 sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange.cs create mode 100644 sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange.cs create mode 100644 sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange.cs create mode 100644 sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange.cs create mode 100644 sdk/dotnet/Outputs/MetricsSearchTimeRangeCompleteLiteralTimeRange.cs create mode 100644 sdk/dotnet/Outputs/RumSourceDefaultDateFormat.cs create mode 100644 sdk/dotnet/Outputs/RumSourceFilter.cs create mode 100644 sdk/dotnet/Outputs/RumSourcePath.cs create mode 100644 sdk/dotnet/RumSource.cs rename sdk/go/sumologic/{config => internal}/pulumiUtilities.go (60%) create mode 100644 sdk/go/sumologic/internal/pulumiVersion.go create mode 100644 sdk/go/sumologic/metricsSearch.go delete mode 100644 sdk/go/sumologic/pulumiUtilities.go create mode 100644 sdk/go/sumologic/rumSource.go create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/MetricsSearch.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/MetricsSearchArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/RumSource.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/RumSourceArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchMetricsQueryArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchState.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/inputs/RumSourceDefaultDateFormatArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/inputs/RumSourceFilterArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/inputs/RumSourcePathArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/inputs/RumSourceState.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchMetricsQuery.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRange.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRange.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFrom.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeTo.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeCompleteLiteralTimeRange.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/outputs/RumSourceDefaultDateFormat.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/outputs/RumSourceFilter.java create mode 100644 sdk/java/src/main/java/com/pulumi/sumologic/outputs/RumSourcePath.java create mode 100644 sdk/nodejs/metricsSearch.ts create mode 100644 sdk/nodejs/rumSource.ts create mode 100644 sdk/python/pulumi_sumologic/metrics_search.py create mode 100644 sdk/python/pulumi_sumologic/rum_source.py diff --git a/sdk/dotnet/CseMatchList.cs b/sdk/dotnet/CseMatchList.cs index af612199..322e0846 100644 --- a/sdk/dotnet/CseMatchList.cs +++ b/sdk/dotnet/CseMatchList.cs @@ -70,9 +70,6 @@ public partial class CseMatchList : global::Pulumi.CustomResource [Output("description")] public Output Description { get; private set; } = null!; - /// - /// List of match list items. See match_list_item schema for details. - /// [Output("items")] public Output> Items { get; private set; } = null!; @@ -154,10 +151,6 @@ public sealed class CseMatchListArgs : global::Pulumi.ResourceArgs [Input("items")] private InputList? _items; - - /// - /// List of match list items. See match_list_item schema for details. - /// public InputList Items { get => _items ?? (_items = new InputList()); @@ -204,10 +197,6 @@ public sealed class CseMatchListState : global::Pulumi.ResourceArgs [Input("items")] private InputList? _items; - - /// - /// List of match list items. See match_list_item schema for details. - /// public InputList Items { get => _items ?? (_items = new InputList()); diff --git a/sdk/dotnet/IngestBudgetV2.cs b/sdk/dotnet/IngestBudgetV2.cs index d3944f39..5e223c4d 100644 --- a/sdk/dotnet/IngestBudgetV2.cs +++ b/sdk/dotnet/IngestBudgetV2.cs @@ -26,6 +26,7 @@ namespace Pulumi.SumoLogic /// { /// Action = "keepCollecting", /// AuditThreshold = 85, + /// BudgetType = "dailyVolume", /// CapacityBytes = 30000000000, /// Description = "For testing purposes", /// ResetTime = "00:00", @@ -38,10 +39,10 @@ namespace Pulumi.SumoLogic /// /// ## Import /// - /// Ingest budgets can be imported using the name, e.g.hcl + /// Ingest budgets can be imported using the budget ID, e.g.hcl /// /// ```sh - /// $ pulumi import sumologic:index/ingestBudgetV2:IngestBudgetV2 budget budgetName + /// $ pulumi import sumologic:index/ingestBudgetV2:IngestBudgetV2 budget 00000000000123AB /// ``` /// /// [1]https://help.sumologic.com/Beta/Metadata_Ingest_Budgets [2]https://en.wikipedia.org/wiki/Tz_database @@ -64,7 +65,13 @@ public partial class IngestBudgetV2 : global::Pulumi.CustomResource public Output AuditThreshold { get; private set; } = null!; /// - /// Capacity of the ingest budget, in bytes. + /// The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`. + /// + [Output("budgetType")] + public Output BudgetType { get; private set; } = null!; + + /// + /// Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min. /// [Output("capacityBytes")] public Output CapacityBytes { get; private set; } = null!; @@ -160,7 +167,13 @@ public sealed class IngestBudgetV2Args : global::Pulumi.ResourceArgs public Input? AuditThreshold { get; set; } /// - /// Capacity of the ingest budget, in bytes. + /// The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`. + /// + [Input("budgetType")] + public Input? BudgetType { get; set; } + + /// + /// Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min. /// [Input("capacityBytes", required: true)] public Input CapacityBytes { get; set; } = null!; @@ -218,7 +231,13 @@ public sealed class IngestBudgetV2State : global::Pulumi.ResourceArgs public Input? AuditThreshold { get; set; } /// - /// Capacity of the ingest budget, in bytes. + /// The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`. + /// + [Input("budgetType")] + public Input? BudgetType { get; set; } + + /// + /// Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min. /// [Input("capacityBytes")] public Input? CapacityBytes { get; set; } diff --git a/sdk/dotnet/Inputs/LogSearchQueryParameterArgs.cs b/sdk/dotnet/Inputs/LogSearchQueryParameterArgs.cs index 50a5c330..27732df4 100644 --- a/sdk/dotnet/Inputs/LogSearchQueryParameterArgs.cs +++ b/sdk/dotnet/Inputs/LogSearchQueryParameterArgs.cs @@ -12,6 +12,13 @@ namespace Pulumi.SumoLogic.Inputs public sealed class LogSearchQueryParameterArgs : global::Pulumi.ResourceArgs { + /// + /// The data type of the parameter. Supported values are: + /// 1. `NUMBER` + /// 2. `STRING` + /// 3. `ANY` + /// 4. `KEYWORD` + /// [Input("dataType", required: true)] public Input DataType { get; set; } = null!; @@ -28,7 +35,7 @@ public sealed class LogSearchQueryParameterArgs : global::Pulumi.ResourceArgs public Input Name { get; set; } = null!; /// - /// Value of scheduled search parameter. + /// The default value for the parameter. It should be compatible with the type set in the `data_type` field. /// [Input("value", required: true)] public Input Value { get; set; } = null!; diff --git a/sdk/dotnet/Inputs/LogSearchQueryParameterGetArgs.cs b/sdk/dotnet/Inputs/LogSearchQueryParameterGetArgs.cs index 3d643f93..ac72e763 100644 --- a/sdk/dotnet/Inputs/LogSearchQueryParameterGetArgs.cs +++ b/sdk/dotnet/Inputs/LogSearchQueryParameterGetArgs.cs @@ -12,6 +12,13 @@ namespace Pulumi.SumoLogic.Inputs public sealed class LogSearchQueryParameterGetArgs : global::Pulumi.ResourceArgs { + /// + /// The data type of the parameter. Supported values are: + /// 1. `NUMBER` + /// 2. `STRING` + /// 3. `ANY` + /// 4. `KEYWORD` + /// [Input("dataType", required: true)] public Input DataType { get; set; } = null!; @@ -28,7 +35,7 @@ public sealed class LogSearchQueryParameterGetArgs : global::Pulumi.ResourceArgs public Input Name { get; set; } = null!; /// - /// Value of scheduled search parameter. + /// The default value for the parameter. It should be compatible with the type set in the `data_type` field. /// [Input("value", required: true)] public Input Value { get; set; } = null!; diff --git a/sdk/dotnet/Inputs/LogSearchScheduleParameterArgs.cs b/sdk/dotnet/Inputs/LogSearchScheduleParameterArgs.cs index d8a9e60f..749ed3b4 100644 --- a/sdk/dotnet/Inputs/LogSearchScheduleParameterArgs.cs +++ b/sdk/dotnet/Inputs/LogSearchScheduleParameterArgs.cs @@ -19,7 +19,7 @@ public sealed class LogSearchScheduleParameterArgs : global::Pulumi.ResourceArgs public Input Name { get; set; } = null!; /// - /// Value of scheduled search parameter. + /// The default value for the parameter. It should be compatible with the type set in the `data_type` field. /// [Input("value", required: true)] public Input Value { get; set; } = null!; diff --git a/sdk/dotnet/Inputs/LogSearchScheduleParameterGetArgs.cs b/sdk/dotnet/Inputs/LogSearchScheduleParameterGetArgs.cs index a902d64b..f0ace69b 100644 --- a/sdk/dotnet/Inputs/LogSearchScheduleParameterGetArgs.cs +++ b/sdk/dotnet/Inputs/LogSearchScheduleParameterGetArgs.cs @@ -19,7 +19,7 @@ public sealed class LogSearchScheduleParameterGetArgs : global::Pulumi.ResourceA public Input Name { get; set; } = null!; /// - /// Value of scheduled search parameter. + /// The default value for the parameter. It should be compatible with the type set in the `data_type` field. /// [Input("value", required: true)] public Input Value { get; set; } = null!; diff --git a/sdk/dotnet/Inputs/MetricsSearchMetricsQueryArgs.cs b/sdk/dotnet/Inputs/MetricsSearchMetricsQueryArgs.cs new file mode 100644 index 00000000..750c0c32 --- /dev/null +++ b/sdk/dotnet/Inputs/MetricsSearchMetricsQueryArgs.cs @@ -0,0 +1,36 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class MetricsSearchMetricsQueryArgs : global::Pulumi.ResourceArgs + { + /// + /// A metric query consists of a metric, one or more filters and optionally, one or more [Metrics Operators](https://help.sumologic.com/?cid=10144). + /// Strictly speaking, both filters and operators are optional. + /// Most of the [Metrics Operators](https://help.sumologic.com/?cid=10144) are allowed in the query string except `fillmissing`, `outlier`, `quantize` and `timeshift`. + /// In practice, your metric queries will almost always contain filters that narrow the scope of your query. + /// For more information about the query language see [Metrics Queries](https://help.sumologic.com/?cid=1079). + /// + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + /// + /// Row id for the query row, A to Z letter. + /// + [Input("rowId", required: true)] + public Input RowId { get; set; } = null!; + + public MetricsSearchMetricsQueryArgs() + { + } + public static new MetricsSearchMetricsQueryArgs Empty => new MetricsSearchMetricsQueryArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MetricsSearchMetricsQueryGetArgs.cs b/sdk/dotnet/Inputs/MetricsSearchMetricsQueryGetArgs.cs new file mode 100644 index 00000000..426ff217 --- /dev/null +++ b/sdk/dotnet/Inputs/MetricsSearchMetricsQueryGetArgs.cs @@ -0,0 +1,36 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class MetricsSearchMetricsQueryGetArgs : global::Pulumi.ResourceArgs + { + /// + /// A metric query consists of a metric, one or more filters and optionally, one or more [Metrics Operators](https://help.sumologic.com/?cid=10144). + /// Strictly speaking, both filters and operators are optional. + /// Most of the [Metrics Operators](https://help.sumologic.com/?cid=10144) are allowed in the query string except `fillmissing`, `outlier`, `quantize` and `timeshift`. + /// In practice, your metric queries will almost always contain filters that narrow the scope of your query. + /// For more information about the query language see [Metrics Queries](https://help.sumologic.com/?cid=1079). + /// + [Input("query", required: true)] + public Input Query { get; set; } = null!; + + /// + /// Row id for the query row, A to Z letter. + /// + [Input("rowId", required: true)] + public Input RowId { get; set; } = null!; + + public MetricsSearchMetricsQueryGetArgs() + { + } + public static new MetricsSearchMetricsQueryGetArgs Empty => new MetricsSearchMetricsQueryGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MetricsSearchTimeRangeArgs.cs b/sdk/dotnet/Inputs/MetricsSearchTimeRangeArgs.cs new file mode 100644 index 00000000..0221f1fa --- /dev/null +++ b/sdk/dotnet/Inputs/MetricsSearchTimeRangeArgs.cs @@ -0,0 +1,34 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class MetricsSearchTimeRangeArgs : global::Pulumi.ResourceArgs + { + /// + /// Bounded time range. See + /// begin_bounded_time_range schema schema for details. + /// + [Input("beginBoundedTimeRange")] + public Input? BeginBoundedTimeRange { get; set; } + + /// + /// Literal time range. See + /// complete_literal_time_range schema for details. + /// + [Input("completeLiteralTimeRange")] + public Input? CompleteLiteralTimeRange { get; set; } + + public MetricsSearchTimeRangeArgs() + { + } + public static new MetricsSearchTimeRangeArgs Empty => new MetricsSearchTimeRangeArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeArgs.cs b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeArgs.cs new file mode 100644 index 00000000..051365aa --- /dev/null +++ b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeArgs.cs @@ -0,0 +1,34 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeArgs : global::Pulumi.ResourceArgs + { + /// + /// Start boundary of bounded time range. See + /// time_range_boundary schema for details. + /// + [Input("from", required: true)] + public Input From { get; set; } = null!; + + /// + /// End boundary of bounded time range. See + /// time_range_boundary schema for details. + /// + [Input("to")] + public Input? To { get; set; } + + public MetricsSearchTimeRangeBeginBoundedTimeRangeArgs() + { + } + public static new MetricsSearchTimeRangeBeginBoundedTimeRangeArgs Empty => new MetricsSearchTimeRangeBeginBoundedTimeRangeArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs.cs b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs.cs new file mode 100644 index 00000000..b26caf02 --- /dev/null +++ b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs.cs @@ -0,0 +1,44 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs : global::Pulumi.ResourceArgs + { + /// + /// Time since the epoch. + /// + [Input("epochTimeRange")] + public Input? EpochTimeRange { get; set; } + + /// + /// Time in ISO 8601 format. + /// + [Input("iso8601TimeRange")] + public Input? Iso8601TimeRange { get; set; } + + /// + /// Time in literal format. + /// + [Input("literalTimeRange")] + public Input? LiteralTimeRange { get; set; } + + /// + /// Time in relative format. + /// + [Input("relativeTimeRange")] + public Input? RelativeTimeRange { get; set; } + + public MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs() + { + } + public static new MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs Empty => new MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs.cs b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs.cs new file mode 100644 index 00000000..fcee2007 --- /dev/null +++ b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs.cs @@ -0,0 +1,26 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs : global::Pulumi.ResourceArgs + { + /// + /// Time as a number of milliseconds since the epoch. + /// + [Input("epochMillis", required: true)] + public Input EpochMillis { get; set; } = null!; + + public MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs() + { + } + public static new MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs Empty => new MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeGetArgs.cs b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeGetArgs.cs new file mode 100644 index 00000000..1797939a --- /dev/null +++ b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeGetArgs.cs @@ -0,0 +1,26 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Time as a number of milliseconds since the epoch. + /// + [Input("epochMillis", required: true)] + public Input EpochMillis { get; set; } = null!; + + public MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeGetArgs() + { + } + public static new MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeGetArgs Empty => new MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromGetArgs.cs b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromGetArgs.cs new file mode 100644 index 00000000..98296340 --- /dev/null +++ b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromGetArgs.cs @@ -0,0 +1,44 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeFromGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Time since the epoch. + /// + [Input("epochTimeRange")] + public Input? EpochTimeRange { get; set; } + + /// + /// Time in ISO 8601 format. + /// + [Input("iso8601TimeRange")] + public Input? Iso8601TimeRange { get; set; } + + /// + /// Time in literal format. + /// + [Input("literalTimeRange")] + public Input? LiteralTimeRange { get; set; } + + /// + /// Time in relative format. + /// + [Input("relativeTimeRange")] + public Input? RelativeTimeRange { get; set; } + + public MetricsSearchTimeRangeBeginBoundedTimeRangeFromGetArgs() + { + } + public static new MetricsSearchTimeRangeBeginBoundedTimeRangeFromGetArgs Empty => new MetricsSearchTimeRangeBeginBoundedTimeRangeFromGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs.cs b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs.cs new file mode 100644 index 00000000..9065eed7 --- /dev/null +++ b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs.cs @@ -0,0 +1,26 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs : global::Pulumi.ResourceArgs + { + /// + /// Time as a string in ISO 8601 format. + /// + [Input("iso8601Time", required: true)] + public Input Iso8601Time { get; set; } = null!; + + public MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs() + { + } + public static new MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs Empty => new MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeGetArgs.cs b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeGetArgs.cs new file mode 100644 index 00000000..aaf4c539 --- /dev/null +++ b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeGetArgs.cs @@ -0,0 +1,26 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Time as a string in ISO 8601 format. + /// + [Input("iso8601Time", required: true)] + public Input Iso8601Time { get; set; } = null!; + + public MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeGetArgs() + { + } + public static new MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeGetArgs Empty => new MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs.cs b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs.cs new file mode 100644 index 00000000..916a9784 --- /dev/null +++ b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs.cs @@ -0,0 +1,27 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + /// `previous_month`. + /// + [Input("rangeName", required: true)] + public Input RangeName { get; set; } = null!; + + public MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs() + { + } + public static new MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs Empty => new MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeGetArgs.cs b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeGetArgs.cs new file mode 100644 index 00000000..f04a9415 --- /dev/null +++ b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeGetArgs.cs @@ -0,0 +1,27 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + /// `previous_month`. + /// + [Input("rangeName", required: true)] + public Input RangeName { get; set; } = null!; + + public MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeGetArgs() + { + } + public static new MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeGetArgs Empty => new MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs.cs b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs.cs new file mode 100644 index 00000000..5b3c2232 --- /dev/null +++ b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs.cs @@ -0,0 +1,32 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs : global::Pulumi.ResourceArgs + { + /// + /// Relative time as a string consisting of following elements: + /// 1. `-` (optional): minus sign indicates time in the past, + /// 2. `<number>`: number of time units, + /// 3. `<time_unit>`: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + /// + /// Multiple pairs of `<number><time_unit>` may be provided, and they may be in any order. For example, + /// `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + /// + [Input("relativeTime", required: true)] + public Input RelativeTime { get; set; } = null!; + + public MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs() + { + } + public static new MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs Empty => new MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeGetArgs.cs b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeGetArgs.cs new file mode 100644 index 00000000..832fac17 --- /dev/null +++ b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeGetArgs.cs @@ -0,0 +1,32 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Relative time as a string consisting of following elements: + /// 1. `-` (optional): minus sign indicates time in the past, + /// 2. `<number>`: number of time units, + /// 3. `<time_unit>`: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + /// + /// Multiple pairs of `<number><time_unit>` may be provided, and they may be in any order. For example, + /// `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + /// + [Input("relativeTime", required: true)] + public Input RelativeTime { get; set; } = null!; + + public MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeGetArgs() + { + } + public static new MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeGetArgs Empty => new MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeGetArgs.cs b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeGetArgs.cs new file mode 100644 index 00000000..9c78b692 --- /dev/null +++ b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeGetArgs.cs @@ -0,0 +1,34 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Start boundary of bounded time range. See + /// time_range_boundary schema for details. + /// + [Input("from", required: true)] + public Input From { get; set; } = null!; + + /// + /// End boundary of bounded time range. See + /// time_range_boundary schema for details. + /// + [Input("to")] + public Input? To { get; set; } + + public MetricsSearchTimeRangeBeginBoundedTimeRangeGetArgs() + { + } + public static new MetricsSearchTimeRangeBeginBoundedTimeRangeGetArgs Empty => new MetricsSearchTimeRangeBeginBoundedTimeRangeGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs.cs b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs.cs new file mode 100644 index 00000000..f3fd7cf9 --- /dev/null +++ b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs.cs @@ -0,0 +1,44 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs : global::Pulumi.ResourceArgs + { + /// + /// Time since the epoch. + /// + [Input("epochTimeRange")] + public Input? EpochTimeRange { get; set; } + + /// + /// Time in ISO 8601 format. + /// + [Input("iso8601TimeRange")] + public Input? Iso8601TimeRange { get; set; } + + /// + /// Time in literal format. + /// + [Input("literalTimeRange")] + public Input? LiteralTimeRange { get; set; } + + /// + /// Time in relative format. + /// + [Input("relativeTimeRange")] + public Input? RelativeTimeRange { get; set; } + + public MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs() + { + } + public static new MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs Empty => new MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs.cs b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs.cs new file mode 100644 index 00000000..e69f7634 --- /dev/null +++ b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs.cs @@ -0,0 +1,26 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs : global::Pulumi.ResourceArgs + { + /// + /// Time as a number of milliseconds since the epoch. + /// + [Input("epochMillis", required: true)] + public Input EpochMillis { get; set; } = null!; + + public MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs() + { + } + public static new MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs Empty => new MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeGetArgs.cs b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeGetArgs.cs new file mode 100644 index 00000000..07ba6e59 --- /dev/null +++ b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeGetArgs.cs @@ -0,0 +1,26 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Time as a number of milliseconds since the epoch. + /// + [Input("epochMillis", required: true)] + public Input EpochMillis { get; set; } = null!; + + public MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeGetArgs() + { + } + public static new MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeGetArgs Empty => new MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToGetArgs.cs b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToGetArgs.cs new file mode 100644 index 00000000..6afcf6ea --- /dev/null +++ b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToGetArgs.cs @@ -0,0 +1,44 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeToGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Time since the epoch. + /// + [Input("epochTimeRange")] + public Input? EpochTimeRange { get; set; } + + /// + /// Time in ISO 8601 format. + /// + [Input("iso8601TimeRange")] + public Input? Iso8601TimeRange { get; set; } + + /// + /// Time in literal format. + /// + [Input("literalTimeRange")] + public Input? LiteralTimeRange { get; set; } + + /// + /// Time in relative format. + /// + [Input("relativeTimeRange")] + public Input? RelativeTimeRange { get; set; } + + public MetricsSearchTimeRangeBeginBoundedTimeRangeToGetArgs() + { + } + public static new MetricsSearchTimeRangeBeginBoundedTimeRangeToGetArgs Empty => new MetricsSearchTimeRangeBeginBoundedTimeRangeToGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs.cs b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs.cs new file mode 100644 index 00000000..053c1631 --- /dev/null +++ b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs.cs @@ -0,0 +1,26 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs : global::Pulumi.ResourceArgs + { + /// + /// Time as a string in ISO 8601 format. + /// + [Input("iso8601Time", required: true)] + public Input Iso8601Time { get; set; } = null!; + + public MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs() + { + } + public static new MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs Empty => new MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeGetArgs.cs b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeGetArgs.cs new file mode 100644 index 00000000..80058b48 --- /dev/null +++ b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeGetArgs.cs @@ -0,0 +1,26 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Time as a string in ISO 8601 format. + /// + [Input("iso8601Time", required: true)] + public Input Iso8601Time { get; set; } = null!; + + public MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeGetArgs() + { + } + public static new MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeGetArgs Empty => new MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs.cs b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs.cs new file mode 100644 index 00000000..2d44e29d --- /dev/null +++ b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs.cs @@ -0,0 +1,27 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + /// `previous_month`. + /// + [Input("rangeName", required: true)] + public Input RangeName { get; set; } = null!; + + public MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs() + { + } + public static new MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs Empty => new MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeGetArgs.cs b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeGetArgs.cs new file mode 100644 index 00000000..e29099da --- /dev/null +++ b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeGetArgs.cs @@ -0,0 +1,27 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + /// `previous_month`. + /// + [Input("rangeName", required: true)] + public Input RangeName { get; set; } = null!; + + public MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeGetArgs() + { + } + public static new MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeGetArgs Empty => new MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs.cs b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs.cs new file mode 100644 index 00000000..74ebd6cf --- /dev/null +++ b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs.cs @@ -0,0 +1,32 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs : global::Pulumi.ResourceArgs + { + /// + /// Relative time as a string consisting of following elements: + /// 1. `-` (optional): minus sign indicates time in the past, + /// 2. `<number>`: number of time units, + /// 3. `<time_unit>`: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + /// + /// Multiple pairs of `<number><time_unit>` may be provided, and they may be in any order. For example, + /// `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + /// + [Input("relativeTime", required: true)] + public Input RelativeTime { get; set; } = null!; + + public MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs() + { + } + public static new MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs Empty => new MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeGetArgs.cs b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeGetArgs.cs new file mode 100644 index 00000000..1c5517ee --- /dev/null +++ b/sdk/dotnet/Inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeGetArgs.cs @@ -0,0 +1,32 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Relative time as a string consisting of following elements: + /// 1. `-` (optional): minus sign indicates time in the past, + /// 2. `<number>`: number of time units, + /// 3. `<time_unit>`: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + /// + /// Multiple pairs of `<number><time_unit>` may be provided, and they may be in any order. For example, + /// `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + /// + [Input("relativeTime", required: true)] + public Input RelativeTime { get; set; } = null!; + + public MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeGetArgs() + { + } + public static new MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeGetArgs Empty => new MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs.cs b/sdk/dotnet/Inputs/MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs.cs new file mode 100644 index 00000000..66bf50cd --- /dev/null +++ b/sdk/dotnet/Inputs/MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs.cs @@ -0,0 +1,27 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + /// `previous_month`. + /// + [Input("rangeName", required: true)] + public Input RangeName { get; set; } = null!; + + public MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs() + { + } + public static new MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs Empty => new MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MetricsSearchTimeRangeCompleteLiteralTimeRangeGetArgs.cs b/sdk/dotnet/Inputs/MetricsSearchTimeRangeCompleteLiteralTimeRangeGetArgs.cs new file mode 100644 index 00000000..76ad1552 --- /dev/null +++ b/sdk/dotnet/Inputs/MetricsSearchTimeRangeCompleteLiteralTimeRangeGetArgs.cs @@ -0,0 +1,27 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class MetricsSearchTimeRangeCompleteLiteralTimeRangeGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + /// `previous_month`. + /// + [Input("rangeName", required: true)] + public Input RangeName { get; set; } = null!; + + public MetricsSearchTimeRangeCompleteLiteralTimeRangeGetArgs() + { + } + public static new MetricsSearchTimeRangeCompleteLiteralTimeRangeGetArgs Empty => new MetricsSearchTimeRangeCompleteLiteralTimeRangeGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MetricsSearchTimeRangeGetArgs.cs b/sdk/dotnet/Inputs/MetricsSearchTimeRangeGetArgs.cs new file mode 100644 index 00000000..b4588823 --- /dev/null +++ b/sdk/dotnet/Inputs/MetricsSearchTimeRangeGetArgs.cs @@ -0,0 +1,34 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class MetricsSearchTimeRangeGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Bounded time range. See + /// begin_bounded_time_range schema schema for details. + /// + [Input("beginBoundedTimeRange")] + public Input? BeginBoundedTimeRange { get; set; } + + /// + /// Literal time range. See + /// complete_literal_time_range schema for details. + /// + [Input("completeLiteralTimeRange")] + public Input? CompleteLiteralTimeRange { get; set; } + + public MetricsSearchTimeRangeGetArgs() + { + } + public static new MetricsSearchTimeRangeGetArgs Empty => new MetricsSearchTimeRangeGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/RumSourceDefaultDateFormatArgs.cs b/sdk/dotnet/Inputs/RumSourceDefaultDateFormatArgs.cs new file mode 100644 index 00000000..1572d606 --- /dev/null +++ b/sdk/dotnet/Inputs/RumSourceDefaultDateFormatArgs.cs @@ -0,0 +1,26 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class RumSourceDefaultDateFormatArgs : global::Pulumi.ResourceArgs + { + [Input("format", required: true)] + public Input Format { get; set; } = null!; + + [Input("locator")] + public Input? Locator { get; set; } + + public RumSourceDefaultDateFormatArgs() + { + } + public static new RumSourceDefaultDateFormatArgs Empty => new RumSourceDefaultDateFormatArgs(); + } +} diff --git a/sdk/dotnet/Inputs/RumSourceDefaultDateFormatGetArgs.cs b/sdk/dotnet/Inputs/RumSourceDefaultDateFormatGetArgs.cs new file mode 100644 index 00000000..de9790b6 --- /dev/null +++ b/sdk/dotnet/Inputs/RumSourceDefaultDateFormatGetArgs.cs @@ -0,0 +1,26 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class RumSourceDefaultDateFormatGetArgs : global::Pulumi.ResourceArgs + { + [Input("format", required: true)] + public Input Format { get; set; } = null!; + + [Input("locator")] + public Input? Locator { get; set; } + + public RumSourceDefaultDateFormatGetArgs() + { + } + public static new RumSourceDefaultDateFormatGetArgs Empty => new RumSourceDefaultDateFormatGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/RumSourceFilterArgs.cs b/sdk/dotnet/Inputs/RumSourceFilterArgs.cs new file mode 100644 index 00000000..c145444f --- /dev/null +++ b/sdk/dotnet/Inputs/RumSourceFilterArgs.cs @@ -0,0 +1,32 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class RumSourceFilterArgs : global::Pulumi.ResourceArgs + { + [Input("filterType", required: true)] + public Input FilterType { get; set; } = null!; + + [Input("mask")] + public Input? Mask { get; set; } + + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("regexp", required: true)] + public Input Regexp { get; set; } = null!; + + public RumSourceFilterArgs() + { + } + public static new RumSourceFilterArgs Empty => new RumSourceFilterArgs(); + } +} diff --git a/sdk/dotnet/Inputs/RumSourceFilterGetArgs.cs b/sdk/dotnet/Inputs/RumSourceFilterGetArgs.cs new file mode 100644 index 00000000..d36ba6d5 --- /dev/null +++ b/sdk/dotnet/Inputs/RumSourceFilterGetArgs.cs @@ -0,0 +1,32 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class RumSourceFilterGetArgs : global::Pulumi.ResourceArgs + { + [Input("filterType", required: true)] + public Input FilterType { get; set; } = null!; + + [Input("mask")] + public Input? Mask { get; set; } + + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("regexp", required: true)] + public Input Regexp { get; set; } = null!; + + public RumSourceFilterGetArgs() + { + } + public static new RumSourceFilterGetArgs Empty => new RumSourceFilterGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/RumSourcePathArgs.cs b/sdk/dotnet/Inputs/RumSourcePathArgs.cs new file mode 100644 index 00000000..6156efe8 --- /dev/null +++ b/sdk/dotnet/Inputs/RumSourcePathArgs.cs @@ -0,0 +1,86 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class RumSourcePathArgs : global::Pulumi.ResourceArgs + { + /// + /// (Recommended) Add an Application Name tag of a text string to show for the app name in spans (for example, bookings-app). This groups services in the Application Service View. If left blank, services will belong to a "default" application. + /// + [Input("applicationName")] + public Input? ApplicationName { get; set; } + + [Input("customTags")] + private InputMap? _customTags; + + /// + /// Defines custom tags attached to the spans. For example: "internal.version = 0.1.21" + /// + public InputMap CustomTags + { + get => _customTags ?? (_customTags = new InputMap()); + set => _customTags = value; + } + + /// + /// Your production, staging, or development environment name. + /// + [Input("deploymentEnvironment")] + public Input? DeploymentEnvironment { get; set; } + + [Input("ignoreUrls")] + private InputList? _ignoreUrls; + + /// + /// Add a list of URLs not to collect trace data from. Supports regex. Make sure provided URLs are valid JavaScript flavor regexes. For example: "/^https:\/\/www.tracker.com\/.*/, /^https:\/\/api.mydomain.com\/log\/.*/" + /// + public InputList IgnoreUrls + { + get => _ignoreUrls ?? (_ignoreUrls = new InputList()); + set => _ignoreUrls = value; + } + + [Input("propagateTraceHeaderCorsUrls")] + private InputList? _propagateTraceHeaderCorsUrls; + + /// + /// (Recommended) Add a list of URLs or URL patterns that pass tracing context to construct traces end-to-end. Provided URLs should be valid JavaScript flavor regexes. Some examples are "/^https:\/\/api.mydomain.com\/apiv3\/.*/" and "/^https:\/\/www.3rdparty.com\/.*/". + /// + public InputList PropagateTraceHeaderCorsUrls + { + get => _propagateTraceHeaderCorsUrls ?? (_propagateTraceHeaderCorsUrls = new InputList()); + set => _propagateTraceHeaderCorsUrls = value; + } + + /// + /// Add a Probabilistic sampling rate for heavy traffic sites in a decimal value based on percentage, for example, 10% would be entered as 0.1. Supports floating values between 0.0 and 1.0, defaults to 1.0 (all data is passed). + /// + [Input("samplingRate")] + public Input? SamplingRate { get; set; } + + /// + /// Specify if you want to enrich spans with the details level up to the city - if left blank, enrichment works down to the state level. + /// + [Input("selectedCountry")] + public Input? SelectedCountry { get; set; } + + /// + /// Add a Service Name of a text string to show for the service name in spans (for example, "bookings-web-app"). + /// + [Input("serviceName", required: true)] + public Input ServiceName { get; set; } = null!; + + public RumSourcePathArgs() + { + } + public static new RumSourcePathArgs Empty => new RumSourcePathArgs(); + } +} diff --git a/sdk/dotnet/Inputs/RumSourcePathGetArgs.cs b/sdk/dotnet/Inputs/RumSourcePathGetArgs.cs new file mode 100644 index 00000000..559666df --- /dev/null +++ b/sdk/dotnet/Inputs/RumSourcePathGetArgs.cs @@ -0,0 +1,86 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Inputs +{ + + public sealed class RumSourcePathGetArgs : global::Pulumi.ResourceArgs + { + /// + /// (Recommended) Add an Application Name tag of a text string to show for the app name in spans (for example, bookings-app). This groups services in the Application Service View. If left blank, services will belong to a "default" application. + /// + [Input("applicationName")] + public Input? ApplicationName { get; set; } + + [Input("customTags")] + private InputMap? _customTags; + + /// + /// Defines custom tags attached to the spans. For example: "internal.version = 0.1.21" + /// + public InputMap CustomTags + { + get => _customTags ?? (_customTags = new InputMap()); + set => _customTags = value; + } + + /// + /// Your production, staging, or development environment name. + /// + [Input("deploymentEnvironment")] + public Input? DeploymentEnvironment { get; set; } + + [Input("ignoreUrls")] + private InputList? _ignoreUrls; + + /// + /// Add a list of URLs not to collect trace data from. Supports regex. Make sure provided URLs are valid JavaScript flavor regexes. For example: "/^https:\/\/www.tracker.com\/.*/, /^https:\/\/api.mydomain.com\/log\/.*/" + /// + public InputList IgnoreUrls + { + get => _ignoreUrls ?? (_ignoreUrls = new InputList()); + set => _ignoreUrls = value; + } + + [Input("propagateTraceHeaderCorsUrls")] + private InputList? _propagateTraceHeaderCorsUrls; + + /// + /// (Recommended) Add a list of URLs or URL patterns that pass tracing context to construct traces end-to-end. Provided URLs should be valid JavaScript flavor regexes. Some examples are "/^https:\/\/api.mydomain.com\/apiv3\/.*/" and "/^https:\/\/www.3rdparty.com\/.*/". + /// + public InputList PropagateTraceHeaderCorsUrls + { + get => _propagateTraceHeaderCorsUrls ?? (_propagateTraceHeaderCorsUrls = new InputList()); + set => _propagateTraceHeaderCorsUrls = value; + } + + /// + /// Add a Probabilistic sampling rate for heavy traffic sites in a decimal value based on percentage, for example, 10% would be entered as 0.1. Supports floating values between 0.0 and 1.0, defaults to 1.0 (all data is passed). + /// + [Input("samplingRate")] + public Input? SamplingRate { get; set; } + + /// + /// Specify if you want to enrich spans with the details level up to the city - if left blank, enrichment works down to the state level. + /// + [Input("selectedCountry")] + public Input? SelectedCountry { get; set; } + + /// + /// Add a Service Name of a text string to show for the service name in spans (for example, "bookings-web-app"). + /// + [Input("serviceName", required: true)] + public Input ServiceName { get; set; } = null!; + + public RumSourcePathGetArgs() + { + } + public static new RumSourcePathGetArgs Empty => new RumSourcePathGetArgs(); + } +} diff --git a/sdk/dotnet/LogSearch.cs b/sdk/dotnet/LogSearch.cs index f6a1192b..6f7a8e5d 100644 --- a/sdk/dotnet/LogSearch.cs +++ b/sdk/dotnet/LogSearch.cs @@ -28,7 +28,13 @@ namespace Pulumi.SumoLogic /// { /// Description = "Demo search description", /// ParentId = personalFolder.Apply(getPersonalFolderResult => getPersonalFolderResult.Id), - /// QueryString = "_sourceCategory=api error | count by _sourceHost", + /// QueryString = @" _sourceCategory=api + /// | parse ""parameter1=*,"" as parameter1 + /// | parse ""parameter2=*,"" as parameter2 + /// | where parameter1 matches {{param1}} + /// | where parameter2 matches {{param2}} + /// | count by _sourceHost + /// ", /// ParsingMode = "AutoParse", /// RunByReceiptTime = true, /// TimeRange = new SumoLogic.Inputs.LogSearchTimeRangeArgs @@ -44,6 +50,23 @@ namespace Pulumi.SumoLogic /// }, /// }, /// }, + /// QueryParameters = new[] + /// { + /// new SumoLogic.Inputs.LogSearchQueryParameterArgs + /// { + /// Name = "param1", + /// Description = "Description for param1", + /// DataType = "STRING", + /// Value = "*", + /// }, + /// new SumoLogic.Inputs.LogSearchQueryParameterArgs + /// { + /// Name = "param2", + /// Description = "Description for param2", + /// DataType = "STRING", + /// Value = "*", + /// }, + /// }, /// Schedule = new SumoLogic.Inputs.LogSearchScheduleArgs /// { /// CronExpression = "0 0 * * * ? *", @@ -84,6 +107,19 @@ namespace Pulumi.SumoLogic /// ThresholdType = "group", /// }, /// TimeZone = "America/Los_Angeles", + /// Parameters = new[] + /// { + /// new SumoLogic.Inputs.LogSearchScheduleParameterArgs + /// { + /// Name = "param1", + /// Value = "*", + /// }, + /// new SumoLogic.Inputs.LogSearchScheduleParameterArgs + /// { + /// Name = "param2", + /// Value = "*", + /// }, + /// }, /// }, /// }); /// @@ -135,6 +171,10 @@ public partial class LogSearch : global::Pulumi.CustomResource [Output("parsingMode")] public Output ParsingMode { get; private set; } = null!; + /// + /// Up to 10 `query_parameter` blocks can be added one for each parameter in the `query_string`. + /// See query parameter schema. + /// [Output("queryParameters")] public Output> QueryParameters { get; private set; } = null!; @@ -240,6 +280,11 @@ public sealed class LogSearchArgs : global::Pulumi.ResourceArgs [Input("queryParameters")] private InputList? _queryParameters; + + /// + /// Up to 10 `query_parameter` blocks can be added one for each parameter in the `query_string`. + /// See query parameter schema. + /// public InputList QueryParameters { get => _queryParameters ?? (_queryParameters = new InputList()); @@ -310,6 +355,11 @@ public sealed class LogSearchState : global::Pulumi.ResourceArgs [Input("queryParameters")] private InputList? _queryParameters; + + /// + /// Up to 10 `query_parameter` blocks can be added one for each parameter in the `query_string`. + /// See query parameter schema. + /// public InputList QueryParameters { get => _queryParameters ?? (_queryParameters = new InputList()); diff --git a/sdk/dotnet/MetricsSearch.cs b/sdk/dotnet/MetricsSearch.cs new file mode 100644 index 00000000..f6f9a994 --- /dev/null +++ b/sdk/dotnet/MetricsSearch.cs @@ -0,0 +1,274 @@ +// *** 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; + +namespace Pulumi.SumoLogic +{ + /// + /// Provides a [Sumologic Metrics Search](https://help.sumologic.com/docs/metrics/metrics-queries/metrics-explorer/). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using SumoLogic = Pulumi.SumoLogic; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var personalFolder = SumoLogic.GetPersonalFolder.Invoke(); + /// + /// var exampleMetricsSearch = new SumoLogic.MetricsSearch("exampleMetricsSearch", new() + /// { + /// Title = "Demo Metrics Search", + /// Description = "Demo search description", + /// ParentId = personalFolder.Apply(getPersonalFolderResult => getPersonalFolderResult.Id), + /// MetricsQueries = new[] + /// { + /// new SumoLogic.Inputs.MetricsSearchMetricsQueryArgs + /// { + /// RowId = "A", + /// Query = "metric=cpu_idle | avg", + /// }, + /// }, + /// DesiredQuantizationInSecs = 0, + /// TimeRange = new SumoLogic.Inputs.MetricsSearchTimeRangeArgs + /// { + /// BeginBoundedTimeRange = new SumoLogic.Inputs.MetricsSearchTimeRangeBeginBoundedTimeRangeArgs + /// { + /// From = new SumoLogic.Inputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs + /// { + /// RelativeTimeRange = new SumoLogic.Inputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs + /// { + /// RelativeTime = "-30m", + /// }, + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// ## Attributes reference + /// + /// In addition to all arguments above, the following attributes are exported: + /// + /// - `id` - The ID of the log search. + /// + /// ## Import + /// + /// A metrics search can be imported using it's identifier, e.g.hcl + /// + /// ```sh + /// $ pulumi import sumologic:index/metricsSearch:MetricsSearch example_search 0000000007FFD79D + /// ``` + /// + /// [1]https://help.sumologic.com/docs/metrics/metrics-queries/metrics-explorer/ + /// + [SumoLogicResourceType("sumologic:index/metricsSearch:MetricsSearch")] + public partial class MetricsSearch : global::Pulumi.CustomResource + { + /// + /// Description of the search. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Desired quantization in seconds. Default value is `0`. + /// + [Output("desiredQuantizationInSecs")] + public Output DesiredQuantizationInSecs { get; private set; } = null!; + + /// + /// Log query used to add an overlay to the chart. + /// + [Output("logQuery")] + public Output LogQuery { get; private set; } = null!; + + /// + /// Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. + /// + [Output("metricsQueries")] + public Output> MetricsQueries { get; private set; } = null!; + + /// + /// The identifier of the folder to create the log search in. + /// + [Output("parentId")] + public Output ParentId { get; private set; } = null!; + + /// + /// Time range of the log search. See time range schema + /// + [Output("timeRange")] + public Output TimeRange { get; private set; } = null!; + + /// + /// Title of the search. + /// + [Output("title")] + public Output Title { get; private set; } = null!; + + + /// + /// Create a MetricsSearch 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 MetricsSearch(string name, MetricsSearchArgs args, CustomResourceOptions? options = null) + : base("sumologic:index/metricsSearch:MetricsSearch", name, args ?? new MetricsSearchArgs(), MakeResourceOptions(options, "")) + { + } + + private MetricsSearch(string name, Input id, MetricsSearchState? state = null, CustomResourceOptions? options = null) + : base("sumologic:index/metricsSearch:MetricsSearch", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + 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 MetricsSearch 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 MetricsSearch Get(string name, Input id, MetricsSearchState? state = null, CustomResourceOptions? options = null) + { + return new MetricsSearch(name, id, state, options); + } + } + + public sealed class MetricsSearchArgs : global::Pulumi.ResourceArgs + { + /// + /// Description of the search. + /// + [Input("description", required: true)] + public Input Description { get; set; } = null!; + + /// + /// Desired quantization in seconds. Default value is `0`. + /// + [Input("desiredQuantizationInSecs")] + public Input? DesiredQuantizationInSecs { get; set; } + + /// + /// Log query used to add an overlay to the chart. + /// + [Input("logQuery")] + public Input? LogQuery { get; set; } + + [Input("metricsQueries", required: true)] + private InputList? _metricsQueries; + + /// + /// Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. + /// + public InputList MetricsQueries + { + get => _metricsQueries ?? (_metricsQueries = new InputList()); + set => _metricsQueries = value; + } + + /// + /// The identifier of the folder to create the log search in. + /// + [Input("parentId", required: true)] + public Input ParentId { get; set; } = null!; + + /// + /// Time range of the log search. See time range schema + /// + [Input("timeRange", required: true)] + public Input TimeRange { get; set; } = null!; + + /// + /// Title of the search. + /// + [Input("title", required: true)] + public Input Title { get; set; } = null!; + + public MetricsSearchArgs() + { + } + public static new MetricsSearchArgs Empty => new MetricsSearchArgs(); + } + + public sealed class MetricsSearchState : global::Pulumi.ResourceArgs + { + /// + /// Description of the search. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Desired quantization in seconds. Default value is `0`. + /// + [Input("desiredQuantizationInSecs")] + public Input? DesiredQuantizationInSecs { get; set; } + + /// + /// Log query used to add an overlay to the chart. + /// + [Input("logQuery")] + public Input? LogQuery { get; set; } + + [Input("metricsQueries")] + private InputList? _metricsQueries; + + /// + /// Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. + /// + public InputList MetricsQueries + { + get => _metricsQueries ?? (_metricsQueries = new InputList()); + set => _metricsQueries = value; + } + + /// + /// The identifier of the folder to create the log search in. + /// + [Input("parentId")] + public Input? ParentId { get; set; } + + /// + /// Time range of the log search. See time range schema + /// + [Input("timeRange")] + public Input? TimeRange { get; set; } + + /// + /// Title of the search. + /// + [Input("title")] + public Input? Title { get; set; } + + public MetricsSearchState() + { + } + public static new MetricsSearchState Empty => new MetricsSearchState(); + } +} diff --git a/sdk/dotnet/Monitor.cs b/sdk/dotnet/Monitor.cs index 1d1c80f3..2e3cb012 100644 --- a/sdk/dotnet/Monitor.cs +++ b/sdk/dotnet/Monitor.cs @@ -330,7 +330,7 @@ public partial class Monitor : global::Pulumi.CustomResource public Output Name { get; private set; } = null!; /// - /// The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. + /// The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. /// [Output("notificationGroupFields")] public Output> NotificationGroupFields { get; private set; } = null!; @@ -525,7 +525,7 @@ public sealed class MonitorArgs : global::Pulumi.ResourceArgs private InputList? _notificationGroupFields; /// - /// The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. + /// The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. /// public InputList NotificationGroupFields { @@ -721,7 +721,7 @@ public sealed class MonitorState : global::Pulumi.ResourceArgs private InputList? _notificationGroupFields; /// - /// The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. + /// The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. /// public InputList NotificationGroupFields { diff --git a/sdk/dotnet/Outputs/LogSearchQueryParameter.cs b/sdk/dotnet/Outputs/LogSearchQueryParameter.cs index d53832b9..ddcf864a 100644 --- a/sdk/dotnet/Outputs/LogSearchQueryParameter.cs +++ b/sdk/dotnet/Outputs/LogSearchQueryParameter.cs @@ -13,6 +13,13 @@ namespace Pulumi.SumoLogic.Outputs [OutputType] public sealed class LogSearchQueryParameter { + /// + /// The data type of the parameter. Supported values are: + /// 1. `NUMBER` + /// 2. `STRING` + /// 3. `ANY` + /// 4. `KEYWORD` + /// public readonly string DataType; /// /// Description of the search. @@ -23,7 +30,7 @@ public sealed class LogSearchQueryParameter /// public readonly string Name; /// - /// Value of scheduled search parameter. + /// The default value for the parameter. It should be compatible with the type set in the `data_type` field. /// public readonly string Value; diff --git a/sdk/dotnet/Outputs/LogSearchScheduleParameter.cs b/sdk/dotnet/Outputs/LogSearchScheduleParameter.cs index a8947d7b..4b61c56f 100644 --- a/sdk/dotnet/Outputs/LogSearchScheduleParameter.cs +++ b/sdk/dotnet/Outputs/LogSearchScheduleParameter.cs @@ -18,7 +18,7 @@ public sealed class LogSearchScheduleParameter /// public readonly string Name; /// - /// Value of scheduled search parameter. + /// The default value for the parameter. It should be compatible with the type set in the `data_type` field. /// public readonly string Value; diff --git a/sdk/dotnet/Outputs/MetricsSearchMetricsQuery.cs b/sdk/dotnet/Outputs/MetricsSearchMetricsQuery.cs new file mode 100644 index 00000000..a1ceaf76 --- /dev/null +++ b/sdk/dotnet/Outputs/MetricsSearchMetricsQuery.cs @@ -0,0 +1,39 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Outputs +{ + + [OutputType] + public sealed class MetricsSearchMetricsQuery + { + /// + /// A metric query consists of a metric, one or more filters and optionally, one or more [Metrics Operators](https://help.sumologic.com/?cid=10144). + /// Strictly speaking, both filters and operators are optional. + /// Most of the [Metrics Operators](https://help.sumologic.com/?cid=10144) are allowed in the query string except `fillmissing`, `outlier`, `quantize` and `timeshift`. + /// In practice, your metric queries will almost always contain filters that narrow the scope of your query. + /// For more information about the query language see [Metrics Queries](https://help.sumologic.com/?cid=1079). + /// + public readonly string Query; + /// + /// Row id for the query row, A to Z letter. + /// + public readonly string RowId; + + [OutputConstructor] + private MetricsSearchMetricsQuery( + string query, + + string rowId) + { + Query = query; + RowId = rowId; + } + } +} diff --git a/sdk/dotnet/Outputs/MetricsSearchTimeRange.cs b/sdk/dotnet/Outputs/MetricsSearchTimeRange.cs new file mode 100644 index 00000000..0d8fd3c2 --- /dev/null +++ b/sdk/dotnet/Outputs/MetricsSearchTimeRange.cs @@ -0,0 +1,37 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Outputs +{ + + [OutputType] + public sealed class MetricsSearchTimeRange + { + /// + /// Bounded time range. See + /// begin_bounded_time_range schema schema for details. + /// + public readonly Outputs.MetricsSearchTimeRangeBeginBoundedTimeRange? BeginBoundedTimeRange; + /// + /// Literal time range. See + /// complete_literal_time_range schema for details. + /// + public readonly Outputs.MetricsSearchTimeRangeCompleteLiteralTimeRange? CompleteLiteralTimeRange; + + [OutputConstructor] + private MetricsSearchTimeRange( + Outputs.MetricsSearchTimeRangeBeginBoundedTimeRange? beginBoundedTimeRange, + + Outputs.MetricsSearchTimeRangeCompleteLiteralTimeRange? completeLiteralTimeRange) + { + BeginBoundedTimeRange = beginBoundedTimeRange; + CompleteLiteralTimeRange = completeLiteralTimeRange; + } + } +} diff --git a/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRange.cs b/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRange.cs new file mode 100644 index 00000000..babc155c --- /dev/null +++ b/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRange.cs @@ -0,0 +1,37 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Outputs +{ + + [OutputType] + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRange + { + /// + /// Start boundary of bounded time range. See + /// time_range_boundary schema for details. + /// + public readonly Outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFrom From; + /// + /// End boundary of bounded time range. See + /// time_range_boundary schema for details. + /// + public readonly Outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeTo? To; + + [OutputConstructor] + private MetricsSearchTimeRangeBeginBoundedTimeRange( + Outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFrom from, + + Outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeTo? to) + { + From = from; + To = to; + } + } +} diff --git a/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFrom.cs b/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFrom.cs new file mode 100644 index 00000000..4bc21547 --- /dev/null +++ b/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFrom.cs @@ -0,0 +1,49 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Outputs +{ + + [OutputType] + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeFrom + { + /// + /// Time since the epoch. + /// + public readonly Outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange? EpochTimeRange; + /// + /// Time in ISO 8601 format. + /// + public readonly Outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange? Iso8601TimeRange; + /// + /// Time in literal format. + /// + public readonly Outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange? LiteralTimeRange; + /// + /// Time in relative format. + /// + public readonly Outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange? RelativeTimeRange; + + [OutputConstructor] + private MetricsSearchTimeRangeBeginBoundedTimeRangeFrom( + Outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange? epochTimeRange, + + Outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange? iso8601TimeRange, + + Outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange? literalTimeRange, + + Outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange? relativeTimeRange) + { + EpochTimeRange = epochTimeRange; + Iso8601TimeRange = iso8601TimeRange; + LiteralTimeRange = literalTimeRange; + RelativeTimeRange = relativeTimeRange; + } + } +} diff --git a/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange.cs b/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange.cs new file mode 100644 index 00000000..4f4db0cf --- /dev/null +++ b/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange.cs @@ -0,0 +1,27 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Outputs +{ + + [OutputType] + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange + { + /// + /// Time as a number of milliseconds since the epoch. + /// + public readonly int EpochMillis; + + [OutputConstructor] + private MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange(int epochMillis) + { + EpochMillis = epochMillis; + } + } +} diff --git a/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange.cs b/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange.cs new file mode 100644 index 00000000..472f9bcb --- /dev/null +++ b/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange.cs @@ -0,0 +1,27 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Outputs +{ + + [OutputType] + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange + { + /// + /// Time as a string in ISO 8601 format. + /// + public readonly string Iso8601Time; + + [OutputConstructor] + private MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange(string iso8601Time) + { + Iso8601Time = iso8601Time; + } + } +} diff --git a/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange.cs b/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange.cs new file mode 100644 index 00000000..40a9ad8d --- /dev/null +++ b/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange.cs @@ -0,0 +1,28 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Outputs +{ + + [OutputType] + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange + { + /// + /// Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + /// `previous_month`. + /// + public readonly string RangeName; + + [OutputConstructor] + private MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange(string rangeName) + { + RangeName = rangeName; + } + } +} diff --git a/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange.cs b/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange.cs new file mode 100644 index 00000000..185f5fbc --- /dev/null +++ b/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange.cs @@ -0,0 +1,33 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Outputs +{ + + [OutputType] + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange + { + /// + /// Relative time as a string consisting of following elements: + /// 1. `-` (optional): minus sign indicates time in the past, + /// 2. `<number>`: number of time units, + /// 3. `<time_unit>`: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + /// + /// Multiple pairs of `<number><time_unit>` may be provided, and they may be in any order. For example, + /// `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + /// + public readonly string RelativeTime; + + [OutputConstructor] + private MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange(string relativeTime) + { + RelativeTime = relativeTime; + } + } +} diff --git a/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeTo.cs b/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeTo.cs new file mode 100644 index 00000000..16f2e2ea --- /dev/null +++ b/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeTo.cs @@ -0,0 +1,49 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Outputs +{ + + [OutputType] + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeTo + { + /// + /// Time since the epoch. + /// + public readonly Outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange? EpochTimeRange; + /// + /// Time in ISO 8601 format. + /// + public readonly Outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange? Iso8601TimeRange; + /// + /// Time in literal format. + /// + public readonly Outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange? LiteralTimeRange; + /// + /// Time in relative format. + /// + public readonly Outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange? RelativeTimeRange; + + [OutputConstructor] + private MetricsSearchTimeRangeBeginBoundedTimeRangeTo( + Outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange? epochTimeRange, + + Outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange? iso8601TimeRange, + + Outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange? literalTimeRange, + + Outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange? relativeTimeRange) + { + EpochTimeRange = epochTimeRange; + Iso8601TimeRange = iso8601TimeRange; + LiteralTimeRange = literalTimeRange; + RelativeTimeRange = relativeTimeRange; + } + } +} diff --git a/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange.cs b/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange.cs new file mode 100644 index 00000000..e56eca3d --- /dev/null +++ b/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange.cs @@ -0,0 +1,27 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Outputs +{ + + [OutputType] + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange + { + /// + /// Time as a number of milliseconds since the epoch. + /// + public readonly int EpochMillis; + + [OutputConstructor] + private MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange(int epochMillis) + { + EpochMillis = epochMillis; + } + } +} diff --git a/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange.cs b/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange.cs new file mode 100644 index 00000000..91171c19 --- /dev/null +++ b/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange.cs @@ -0,0 +1,27 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Outputs +{ + + [OutputType] + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange + { + /// + /// Time as a string in ISO 8601 format. + /// + public readonly string Iso8601Time; + + [OutputConstructor] + private MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange(string iso8601Time) + { + Iso8601Time = iso8601Time; + } + } +} diff --git a/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange.cs b/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange.cs new file mode 100644 index 00000000..69b14e35 --- /dev/null +++ b/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange.cs @@ -0,0 +1,28 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Outputs +{ + + [OutputType] + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange + { + /// + /// Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + /// `previous_month`. + /// + public readonly string RangeName; + + [OutputConstructor] + private MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange(string rangeName) + { + RangeName = rangeName; + } + } +} diff --git a/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange.cs b/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange.cs new file mode 100644 index 00000000..edac5db0 --- /dev/null +++ b/sdk/dotnet/Outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange.cs @@ -0,0 +1,33 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Outputs +{ + + [OutputType] + public sealed class MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange + { + /// + /// Relative time as a string consisting of following elements: + /// 1. `-` (optional): minus sign indicates time in the past, + /// 2. `<number>`: number of time units, + /// 3. `<time_unit>`: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + /// + /// Multiple pairs of `<number><time_unit>` may be provided, and they may be in any order. For example, + /// `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + /// + public readonly string RelativeTime; + + [OutputConstructor] + private MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange(string relativeTime) + { + RelativeTime = relativeTime; + } + } +} diff --git a/sdk/dotnet/Outputs/MetricsSearchTimeRangeCompleteLiteralTimeRange.cs b/sdk/dotnet/Outputs/MetricsSearchTimeRangeCompleteLiteralTimeRange.cs new file mode 100644 index 00000000..a111a3b4 --- /dev/null +++ b/sdk/dotnet/Outputs/MetricsSearchTimeRangeCompleteLiteralTimeRange.cs @@ -0,0 +1,28 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Outputs +{ + + [OutputType] + public sealed class MetricsSearchTimeRangeCompleteLiteralTimeRange + { + /// + /// Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + /// `previous_month`. + /// + public readonly string RangeName; + + [OutputConstructor] + private MetricsSearchTimeRangeCompleteLiteralTimeRange(string rangeName) + { + RangeName = rangeName; + } + } +} diff --git a/sdk/dotnet/Outputs/RumSourceDefaultDateFormat.cs b/sdk/dotnet/Outputs/RumSourceDefaultDateFormat.cs new file mode 100644 index 00000000..04a86b47 --- /dev/null +++ b/sdk/dotnet/Outputs/RumSourceDefaultDateFormat.cs @@ -0,0 +1,29 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Outputs +{ + + [OutputType] + public sealed class RumSourceDefaultDateFormat + { + public readonly string Format; + public readonly string? Locator; + + [OutputConstructor] + private RumSourceDefaultDateFormat( + string format, + + string? locator) + { + Format = format; + Locator = locator; + } + } +} diff --git a/sdk/dotnet/Outputs/RumSourceFilter.cs b/sdk/dotnet/Outputs/RumSourceFilter.cs new file mode 100644 index 00000000..4e9020ac --- /dev/null +++ b/sdk/dotnet/Outputs/RumSourceFilter.cs @@ -0,0 +1,37 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Outputs +{ + + [OutputType] + public sealed class RumSourceFilter + { + public readonly string FilterType; + public readonly string? Mask; + public readonly string Name; + public readonly string Regexp; + + [OutputConstructor] + private RumSourceFilter( + string filterType, + + string? mask, + + string name, + + string regexp) + { + FilterType = filterType; + Mask = mask; + Name = name; + Regexp = regexp; + } + } +} diff --git a/sdk/dotnet/Outputs/RumSourcePath.cs b/sdk/dotnet/Outputs/RumSourcePath.cs new file mode 100644 index 00000000..04cf7873 --- /dev/null +++ b/sdk/dotnet/Outputs/RumSourcePath.cs @@ -0,0 +1,77 @@ +// *** 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; + +namespace Pulumi.SumoLogic.Outputs +{ + + [OutputType] + public sealed class RumSourcePath + { + /// + /// (Recommended) Add an Application Name tag of a text string to show for the app name in spans (for example, bookings-app). This groups services in the Application Service View. If left blank, services will belong to a "default" application. + /// + public readonly string? ApplicationName; + /// + /// Defines custom tags attached to the spans. For example: "internal.version = 0.1.21" + /// + public readonly ImmutableDictionary? CustomTags; + /// + /// Your production, staging, or development environment name. + /// + public readonly string? DeploymentEnvironment; + /// + /// Add a list of URLs not to collect trace data from. Supports regex. Make sure provided URLs are valid JavaScript flavor regexes. For example: "/^https:\/\/www.tracker.com\/.*/, /^https:\/\/api.mydomain.com\/log\/.*/" + /// + public readonly ImmutableArray IgnoreUrls; + /// + /// (Recommended) Add a list of URLs or URL patterns that pass tracing context to construct traces end-to-end. Provided URLs should be valid JavaScript flavor regexes. Some examples are "/^https:\/\/api.mydomain.com\/apiv3\/.*/" and "/^https:\/\/www.3rdparty.com\/.*/". + /// + public readonly ImmutableArray PropagateTraceHeaderCorsUrls; + /// + /// Add a Probabilistic sampling rate for heavy traffic sites in a decimal value based on percentage, for example, 10% would be entered as 0.1. Supports floating values between 0.0 and 1.0, defaults to 1.0 (all data is passed). + /// + public readonly double? SamplingRate; + /// + /// Specify if you want to enrich spans with the details level up to the city - if left blank, enrichment works down to the state level. + /// + public readonly string? SelectedCountry; + /// + /// Add a Service Name of a text string to show for the service name in spans (for example, "bookings-web-app"). + /// + public readonly string ServiceName; + + [OutputConstructor] + private RumSourcePath( + string? applicationName, + + ImmutableDictionary? customTags, + + string? deploymentEnvironment, + + ImmutableArray ignoreUrls, + + ImmutableArray propagateTraceHeaderCorsUrls, + + double? samplingRate, + + string? selectedCountry, + + string serviceName) + { + ApplicationName = applicationName; + CustomTags = customTags; + DeploymentEnvironment = deploymentEnvironment; + IgnoreUrls = ignoreUrls; + PropagateTraceHeaderCorsUrls = propagateTraceHeaderCorsUrls; + SamplingRate = samplingRate; + SelectedCountry = selectedCountry; + ServiceName = serviceName; + } + } +} diff --git a/sdk/dotnet/RumSource.cs b/sdk/dotnet/RumSource.cs new file mode 100644 index 00000000..5b306a89 --- /dev/null +++ b/sdk/dotnet/RumSource.cs @@ -0,0 +1,283 @@ +// *** 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; + +namespace Pulumi.SumoLogic +{ + /// + /// Provides a Sumologic Rum Source. + /// + /// ## Import + /// + /// Rum sources can be imported using the collector and source IDs, e.g.hcl + /// + /// ```sh + /// $ pulumi import sumologic:index/rumSource:RumSource test 123/456 + /// ``` + /// + /// Rum sources can also be imported using the collector name and source name, e.g.hcl + /// + /// ```sh + /// $ pulumi import sumologic:index/rumSource:RumSource test my-test-collector/my-test-source + /// ``` + /// + [SumoLogicResourceType("sumologic:index/rumSource:RumSource")] + public partial class RumSource : global::Pulumi.CustomResource + { + [Output("automaticDateParsing")] + public Output AutomaticDateParsing { get; private set; } = null!; + + [Output("category")] + public Output Category { get; private set; } = null!; + + [Output("collectorId")] + public Output CollectorId { get; private set; } = null!; + + [Output("contentType")] + public Output ContentType { get; private set; } = null!; + + [Output("cutoffRelativeTime")] + public Output CutoffRelativeTime { get; private set; } = null!; + + [Output("cutoffTimestamp")] + public Output CutoffTimestamp { get; private set; } = null!; + + [Output("defaultDateFormats")] + public Output> DefaultDateFormats { get; private set; } = null!; + + [Output("description")] + public Output Description { get; private set; } = null!; + + [Output("fields")] + public Output?> Fields { get; private set; } = null!; + + [Output("filters")] + public Output> Filters { get; private set; } = null!; + + [Output("forceTimezone")] + public Output ForceTimezone { get; private set; } = null!; + + [Output("hostName")] + public Output HostName { get; private set; } = null!; + + [Output("manualPrefixRegexp")] + public Output ManualPrefixRegexp { get; private set; } = null!; + + [Output("multilineProcessingEnabled")] + public Output MultilineProcessingEnabled { get; private set; } = null!; + + [Output("name")] + public Output Name { get; private set; } = null!; + + [Output("path")] + public Output Path { get; private set; } = null!; + + [Output("timezone")] + public Output Timezone { get; private set; } = null!; + + [Output("useAutolineMatching")] + public Output UseAutolineMatching { get; private set; } = null!; + + + /// + /// Create a RumSource 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 RumSource(string name, RumSourceArgs args, CustomResourceOptions? options = null) + : base("sumologic:index/rumSource:RumSource", name, args ?? new RumSourceArgs(), MakeResourceOptions(options, "")) + { + } + + private RumSource(string name, Input id, RumSourceState? state = null, CustomResourceOptions? options = null) + : base("sumologic:index/rumSource:RumSource", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + 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 RumSource 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 RumSource Get(string name, Input id, RumSourceState? state = null, CustomResourceOptions? options = null) + { + return new RumSource(name, id, state, options); + } + } + + public sealed class RumSourceArgs : global::Pulumi.ResourceArgs + { + [Input("automaticDateParsing")] + public Input? AutomaticDateParsing { get; set; } + + [Input("category")] + public Input? Category { get; set; } + + [Input("collectorId", required: true)] + public Input CollectorId { get; set; } = null!; + + [Input("contentType")] + public Input? ContentType { get; set; } + + [Input("cutoffRelativeTime")] + public Input? CutoffRelativeTime { get; set; } + + [Input("cutoffTimestamp")] + public Input? CutoffTimestamp { get; set; } + + [Input("defaultDateFormats")] + private InputList? _defaultDateFormats; + public InputList DefaultDateFormats + { + get => _defaultDateFormats ?? (_defaultDateFormats = new InputList()); + set => _defaultDateFormats = value; + } + + [Input("description")] + public Input? Description { get; set; } + + [Input("fields")] + private InputMap? _fields; + public InputMap Fields + { + get => _fields ?? (_fields = new InputMap()); + set => _fields = value; + } + + [Input("filters")] + private InputList? _filters; + public InputList Filters + { + get => _filters ?? (_filters = new InputList()); + set => _filters = value; + } + + [Input("forceTimezone")] + public Input? ForceTimezone { get; set; } + + [Input("hostName")] + public Input? HostName { get; set; } + + [Input("manualPrefixRegexp")] + public Input? ManualPrefixRegexp { get; set; } + + [Input("multilineProcessingEnabled")] + public Input? MultilineProcessingEnabled { get; set; } + + [Input("name")] + public Input? Name { get; set; } + + [Input("path")] + public Input? Path { get; set; } + + [Input("timezone")] + public Input? Timezone { get; set; } + + [Input("useAutolineMatching")] + public Input? UseAutolineMatching { get; set; } + + public RumSourceArgs() + { + } + public static new RumSourceArgs Empty => new RumSourceArgs(); + } + + public sealed class RumSourceState : global::Pulumi.ResourceArgs + { + [Input("automaticDateParsing")] + public Input? AutomaticDateParsing { get; set; } + + [Input("category")] + public Input? Category { get; set; } + + [Input("collectorId")] + public Input? CollectorId { get; set; } + + [Input("contentType")] + public Input? ContentType { get; set; } + + [Input("cutoffRelativeTime")] + public Input? CutoffRelativeTime { get; set; } + + [Input("cutoffTimestamp")] + public Input? CutoffTimestamp { get; set; } + + [Input("defaultDateFormats")] + private InputList? _defaultDateFormats; + public InputList DefaultDateFormats + { + get => _defaultDateFormats ?? (_defaultDateFormats = new InputList()); + set => _defaultDateFormats = value; + } + + [Input("description")] + public Input? Description { get; set; } + + [Input("fields")] + private InputMap? _fields; + public InputMap Fields + { + get => _fields ?? (_fields = new InputMap()); + set => _fields = value; + } + + [Input("filters")] + private InputList? _filters; + public InputList Filters + { + get => _filters ?? (_filters = new InputList()); + set => _filters = value; + } + + [Input("forceTimezone")] + public Input? ForceTimezone { get; set; } + + [Input("hostName")] + public Input? HostName { get; set; } + + [Input("manualPrefixRegexp")] + public Input? ManualPrefixRegexp { get; set; } + + [Input("multilineProcessingEnabled")] + public Input? MultilineProcessingEnabled { get; set; } + + [Input("name")] + public Input? Name { get; set; } + + [Input("path")] + public Input? Path { get; set; } + + [Input("timezone")] + public Input? Timezone { get; set; } + + [Input("useAutolineMatching")] + public Input? UseAutolineMatching { get; set; } + + public RumSourceState() + { + } + public static new RumSourceState Empty => new RumSourceState(); + } +} diff --git a/sdk/go/sumologic/awsInventorySource.go b/sdk/go/sumologic/awsInventorySource.go index bf127bda..7a7e91ee 100644 --- a/sdk/go/sumologic/awsInventorySource.go +++ b/sdk/go/sumologic/awsInventorySource.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -140,6 +141,7 @@ func NewAwsInventorySource(ctx *pulumi.Context, if args.ScanInterval == nil { return nil, errors.New("invalid value for required argument 'ScanInterval'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource AwsInventorySource err := ctx.RegisterResource("sumologic:index/awsInventorySource:AwsInventorySource", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/awsXraySource.go b/sdk/go/sumologic/awsXraySource.go index 93b6413f..54f0b4c5 100644 --- a/sdk/go/sumologic/awsXraySource.go +++ b/sdk/go/sumologic/awsXraySource.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -136,6 +137,7 @@ func NewAwsXraySource(ctx *pulumi.Context, if args.ScanInterval == nil { return nil, errors.New("invalid value for required argument 'ScanInterval'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource AwsXraySource err := ctx.RegisterResource("sumologic:index/awsXraySource:AwsXraySource", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/cloudSyslogSource.go b/sdk/go/sumologic/cloudSyslogSource.go index 2d91ef2f..5075601d 100644 --- a/sdk/go/sumologic/cloudSyslogSource.go +++ b/sdk/go/sumologic/cloudSyslogSource.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -107,6 +108,7 @@ func NewCloudSyslogSource(ctx *pulumi.Context, if args.CollectorId == nil { return nil, errors.New("invalid value for required argument 'CollectorId'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource CloudSyslogSource err := ctx.RegisterResource("sumologic:index/cloudSyslogSource:CloudSyslogSource", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/cloudToCloudSource.go b/sdk/go/sumologic/cloudToCloudSource.go index f48ad1bc..bcff27ed 100644 --- a/sdk/go/sumologic/cloudToCloudSource.go +++ b/sdk/go/sumologic/cloudToCloudSource.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -116,6 +117,7 @@ func NewCloudToCloudSource(ctx *pulumi.Context, if args.SchemaRef == nil { return nil, errors.New("invalid value for required argument 'SchemaRef'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource CloudToCloudSource err := ctx.RegisterResource("sumologic:index/cloudToCloudSource:CloudToCloudSource", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/cloudfrontSource.go b/sdk/go/sumologic/cloudfrontSource.go index 92607fac..e1890ea9 100644 --- a/sdk/go/sumologic/cloudfrontSource.go +++ b/sdk/go/sumologic/cloudfrontSource.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -139,6 +140,7 @@ func NewCloudfrontSource(ctx *pulumi.Context, if args.ScanInterval == nil { return nil, errors.New("invalid value for required argument 'ScanInterval'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource CloudfrontSource err := ctx.RegisterResource("sumologic:index/cloudfrontSource:CloudfrontSource", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/cloudtrailSource.go b/sdk/go/sumologic/cloudtrailSource.go index f0bf8c80..6e91cf32 100644 --- a/sdk/go/sumologic/cloudtrailSource.go +++ b/sdk/go/sumologic/cloudtrailSource.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -139,6 +140,7 @@ func NewCloudtrailSource(ctx *pulumi.Context, if args.ScanInterval == nil { return nil, errors.New("invalid value for required argument 'ScanInterval'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource CloudtrailSource err := ctx.RegisterResource("sumologic:index/cloudtrailSource:CloudtrailSource", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/cloudwatchSource.go b/sdk/go/sumologic/cloudwatchSource.go index c3de9399..c7361ae2 100644 --- a/sdk/go/sumologic/cloudwatchSource.go +++ b/sdk/go/sumologic/cloudwatchSource.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -92,6 +93,7 @@ func NewCloudwatchSource(ctx *pulumi.Context, if args.ScanInterval == nil { return nil, errors.New("invalid value for required argument 'ScanInterval'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource CloudwatchSource err := ctx.RegisterResource("sumologic:index/cloudwatchSource:CloudwatchSource", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/collector.go b/sdk/go/sumologic/collector.go index 68a8dee3..858cead9 100644 --- a/sdk/go/sumologic/collector.go +++ b/sdk/go/sumologic/collector.go @@ -7,6 +7,7 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -82,6 +83,7 @@ func NewCollector(ctx *pulumi.Context, args = &CollectorArgs{} } + opts = internal.PkgResourceDefaultOpts(opts) var resource Collector err := ctx.RegisterResource("sumologic:index/collector:Collector", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/collectorIngestBudgetAssignment.go b/sdk/go/sumologic/collectorIngestBudgetAssignment.go index 3eee9640..88c7da9f 100644 --- a/sdk/go/sumologic/collectorIngestBudgetAssignment.go +++ b/sdk/go/sumologic/collectorIngestBudgetAssignment.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -32,6 +33,7 @@ func NewCollectorIngestBudgetAssignment(ctx *pulumi.Context, if args.IngestBudgetId == nil { return nil, errors.New("invalid value for required argument 'IngestBudgetId'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource CollectorIngestBudgetAssignment err := ctx.RegisterResource("sumologic:index/collectorIngestBudgetAssignment:CollectorIngestBudgetAssignment", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/config/config.go b/sdk/go/sumologic/config/config.go index 5a687f02..ad53151b 100644 --- a/sdk/go/sumologic/config/config.go +++ b/sdk/go/sumologic/config/config.go @@ -4,10 +4,13 @@ package config import ( + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" ) +var _ = internal.GetEnvOrDefault + func GetAccessId(ctx *pulumi.Context) string { return config.Get(ctx, "sumologic:accessId") } @@ -23,7 +26,7 @@ func GetBaseUrl(ctx *pulumi.Context) string { return v } var value string - if d := getEnvOrDefault(nil, nil, "SUMOLOGIC_BASE_URL"); d != nil { + if d := internal.GetEnvOrDefault(nil, nil, "SUMOLOGIC_BASE_URL"); d != nil { value = d.(string) } return value @@ -34,7 +37,7 @@ func GetEnvironment(ctx *pulumi.Context) string { return v } var value string - if d := getEnvOrDefault(nil, nil, "SUMOLOGIC_ENVIRONMENT"); d != nil { + if d := internal.GetEnvOrDefault(nil, nil, "SUMOLOGIC_ENVIRONMENT"); d != nil { value = d.(string) } return value diff --git a/sdk/go/sumologic/connection.go b/sdk/go/sumologic/connection.go index 1d123782..0186e95a 100644 --- a/sdk/go/sumologic/connection.go +++ b/sdk/go/sumologic/connection.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -37,9 +38,27 @@ import ( // CustomHeaders: pulumi.StringMap{ // "X-custom": pulumi.String("my-custom-header"), // }, -// DefaultPayload: pulumi.String("{\n \"client\" : \"Sumo Logic\",\n \"eventType\" : \"{{Name}}\",\n \"description\" : \"{{Description}}\",\n \"search_url\" : \"{{QueryUrl}}\",\n \"num_records\" : \"{{NumRawResults}}\",\n \"search_results\" : \"{{AggregateResultsJson}}\"\n}\n"), -// ResolutionPayload: pulumi.String("{\n \"client\" : \"Sumo Logic\",\n \"eventType\" : \"{{Name}}\",\n \"description\" : \"{{Description}}\",\n \"search_url\" : \"{{QueryUrl}}\",\n}\n"), -// WebhookType: pulumi.String("Webhook"), +// DefaultPayload: pulumi.String(`{ +// "client" : "Sumo Logic", +// "eventType" : "{{Name}}", +// "description" : "{{Description}}", +// "search_url" : "{{QueryUrl}}", +// "num_records" : "{{NumRawResults}}", +// "search_results" : "{{AggregateResultsJson}}" +// } +// +// `), +// +// ResolutionPayload: pulumi.String(`{ +// "client" : "Sumo Logic", +// "eventType" : "{{Name}}", +// "description" : "{{Description}}", +// "search_url" : "{{QueryUrl}}", +// } +// +// `), +// +// WebhookType: pulumi.String("Webhook"), // }) // if err != nil { // return err @@ -102,6 +121,7 @@ func NewConnection(ctx *pulumi.Context, if args.Url == nil { return nil, errors.New("invalid value for required argument 'Url'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource Connection err := ctx.RegisterResource("sumologic:index/connection:Connection", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/content.go b/sdk/go/sumologic/content.go index 5c9dfb60..832919c8 100644 --- a/sdk/go/sumologic/content.go +++ b/sdk/go/sumologic/content.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -121,6 +122,7 @@ func NewContent(ctx *pulumi.Context, if args.ParentId == nil { return nil, errors.New("invalid value for required argument 'ParentId'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource Content err := ctx.RegisterResource("sumologic:index/content:Content", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/contentPermission.go b/sdk/go/sumologic/contentPermission.go index c1cf63b1..3a2e8433 100644 --- a/sdk/go/sumologic/contentPermission.go +++ b/sdk/go/sumologic/contentPermission.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -149,6 +150,7 @@ func NewContentPermission(ctx *pulumi.Context, if args.Permissions == nil { return nil, errors.New("invalid value for required argument 'Permissions'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource ContentPermission err := ctx.RegisterResource("sumologic:index/contentPermission:ContentPermission", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/cseAggregationRule.go b/sdk/go/sumologic/cseAggregationRule.go index fa628517..1b62e08a 100644 --- a/sdk/go/sumologic/cseAggregationRule.go +++ b/sdk/go/sumologic/cseAggregationRule.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -152,6 +153,7 @@ func NewCseAggregationRule(ctx *pulumi.Context, if args.WindowSize == nil { return nil, errors.New("invalid value for required argument 'WindowSize'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource CseAggregationRule err := ctx.RegisterResource("sumologic:index/cseAggregationRule:CseAggregationRule", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/cseAutomation.go b/sdk/go/sumologic/cseAutomation.go index 6dcdc2b6..3840ec70 100644 --- a/sdk/go/sumologic/cseAutomation.go +++ b/sdk/go/sumologic/cseAutomation.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -104,6 +105,7 @@ func NewCseAutomation(ctx *pulumi.Context, if args.PlaybookId == nil { return nil, errors.New("invalid value for required argument 'PlaybookId'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource CseAutomation err := ctx.RegisterResource("sumologic:index/cseAutomation:CseAutomation", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/cseChainRule.go b/sdk/go/sumologic/cseChainRule.go index e05c7f5d..46022c6b 100644 --- a/sdk/go/sumologic/cseChainRule.go +++ b/sdk/go/sumologic/cseChainRule.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -130,6 +131,7 @@ func NewCseChainRule(ctx *pulumi.Context, if args.WindowSize == nil { return nil, errors.New("invalid value for required argument 'WindowSize'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource CseChainRule err := ctx.RegisterResource("sumologic:index/cseChainRule:CseChainRule", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/cseCustomEntityType.go b/sdk/go/sumologic/cseCustomEntityType.go index 27996c77..4beb02e2 100644 --- a/sdk/go/sumologic/cseCustomEntityType.go +++ b/sdk/go/sumologic/cseCustomEntityType.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -78,6 +79,7 @@ func NewCseCustomEntityType(ctx *pulumi.Context, if args.Identifier == nil { return nil, errors.New("invalid value for required argument 'Identifier'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource CseCustomEntityType err := ctx.RegisterResource("sumologic:index/cseCustomEntityType:CseCustomEntityType", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/cseCustomInsight.go b/sdk/go/sumologic/cseCustomInsight.go index bdaa2235..43e28945 100644 --- a/sdk/go/sumologic/cseCustomInsight.go +++ b/sdk/go/sumologic/cseCustomInsight.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -107,6 +108,7 @@ func NewCseCustomInsight(ctx *pulumi.Context, if args.Tags == nil { return nil, errors.New("invalid value for required argument 'Tags'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource CseCustomInsight err := ctx.RegisterResource("sumologic:index/cseCustomInsight:CseCustomInsight", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/cseCustomMatchListColumn.go b/sdk/go/sumologic/cseCustomMatchListColumn.go index da61df1b..50055704 100644 --- a/sdk/go/sumologic/cseCustomMatchListColumn.go +++ b/sdk/go/sumologic/cseCustomMatchListColumn.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -71,6 +72,7 @@ func NewCseCustomMatchListColumn(ctx *pulumi.Context, if args.Fields == nil { return nil, errors.New("invalid value for required argument 'Fields'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource CseCustomMatchListColumn err := ctx.RegisterResource("sumologic:index/cseCustomMatchListColumn:CseCustomMatchListColumn", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/cseEntityCriticalityConfig.go b/sdk/go/sumologic/cseEntityCriticalityConfig.go index 1923f669..4562f9e9 100644 --- a/sdk/go/sumologic/cseEntityCriticalityConfig.go +++ b/sdk/go/sumologic/cseEntityCriticalityConfig.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -69,6 +70,7 @@ func NewCseEntityCriticalityConfig(ctx *pulumi.Context, if args.SeverityExpression == nil { return nil, errors.New("invalid value for required argument 'SeverityExpression'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource CseEntityCriticalityConfig err := ctx.RegisterResource("sumologic:index/cseEntityCriticalityConfig:CseEntityCriticalityConfig", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/cseEntityEntityGroupConfiguration.go b/sdk/go/sumologic/cseEntityEntityGroupConfiguration.go index 1b425668..5ab4ec8f 100644 --- a/sdk/go/sumologic/cseEntityEntityGroupConfiguration.go +++ b/sdk/go/sumologic/cseEntityEntityGroupConfiguration.go @@ -7,6 +7,7 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -86,6 +87,7 @@ func NewCseEntityEntityGroupConfiguration(ctx *pulumi.Context, args = &CseEntityEntityGroupConfigurationArgs{} } + opts = internal.PkgResourceDefaultOpts(opts) var resource CseEntityEntityGroupConfiguration err := ctx.RegisterResource("sumologic:index/cseEntityEntityGroupConfiguration:CseEntityEntityGroupConfiguration", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/cseEntityNormalizationConfiguration.go b/sdk/go/sumologic/cseEntityNormalizationConfiguration.go index d9ce5670..c3365dba 100644 --- a/sdk/go/sumologic/cseEntityNormalizationConfiguration.go +++ b/sdk/go/sumologic/cseEntityNormalizationConfiguration.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -105,6 +106,7 @@ func NewCseEntityNormalizationConfiguration(ctx *pulumi.Context, if args.WindowsNormalizationEnabled == nil { return nil, errors.New("invalid value for required argument 'WindowsNormalizationEnabled'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource CseEntityNormalizationConfiguration err := ctx.RegisterResource("sumologic:index/cseEntityNormalizationConfiguration:CseEntityNormalizationConfiguration", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/cseFirstSeenRule.go b/sdk/go/sumologic/cseFirstSeenRule.go index ff421289..04d02c8b 100644 --- a/sdk/go/sumologic/cseFirstSeenRule.go +++ b/sdk/go/sumologic/cseFirstSeenRule.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -146,6 +147,7 @@ func NewCseFirstSeenRule(ctx *pulumi.Context, if args.ValueFields == nil { return nil, errors.New("invalid value for required argument 'ValueFields'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource CseFirstSeenRule err := ctx.RegisterResource("sumologic:index/cseFirstSeenRule:CseFirstSeenRule", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/cseInsightsConfiguration.go b/sdk/go/sumologic/cseInsightsConfiguration.go index 7061d3dc..0de8dfb3 100644 --- a/sdk/go/sumologic/cseInsightsConfiguration.go +++ b/sdk/go/sumologic/cseInsightsConfiguration.go @@ -7,6 +7,7 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -69,6 +70,7 @@ func NewCseInsightsConfiguration(ctx *pulumi.Context, args = &CseInsightsConfigurationArgs{} } + opts = internal.PkgResourceDefaultOpts(opts) var resource CseInsightsConfiguration err := ctx.RegisterResource("sumologic:index/cseInsightsConfiguration:CseInsightsConfiguration", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/cseInsightsResolution.go b/sdk/go/sumologic/cseInsightsResolution.go index c10dcac9..fe24a12b 100644 --- a/sdk/go/sumologic/cseInsightsResolution.go +++ b/sdk/go/sumologic/cseInsightsResolution.go @@ -7,6 +7,7 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -68,6 +69,7 @@ func NewCseInsightsResolution(ctx *pulumi.Context, args = &CseInsightsResolutionArgs{} } + opts = internal.PkgResourceDefaultOpts(opts) var resource CseInsightsResolution err := ctx.RegisterResource("sumologic:index/cseInsightsResolution:CseInsightsResolution", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/cseInsightsStatus.go b/sdk/go/sumologic/cseInsightsStatus.go index 5af55339..aecb2c9d 100644 --- a/sdk/go/sumologic/cseInsightsStatus.go +++ b/sdk/go/sumologic/cseInsightsStatus.go @@ -7,6 +7,7 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -66,6 +67,7 @@ func NewCseInsightsStatus(ctx *pulumi.Context, args = &CseInsightsStatusArgs{} } + opts = internal.PkgResourceDefaultOpts(opts) var resource CseInsightsStatus err := ctx.RegisterResource("sumologic:index/cseInsightsStatus:CseInsightsStatus", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/cseInventoryEntityGroupConfiguration.go b/sdk/go/sumologic/cseInventoryEntityGroupConfiguration.go index aa7255f8..79f9e8e2 100644 --- a/sdk/go/sumologic/cseInventoryEntityGroupConfiguration.go +++ b/sdk/go/sumologic/cseInventoryEntityGroupConfiguration.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -89,6 +90,7 @@ func NewCseInventoryEntityGroupConfiguration(ctx *pulumi.Context, if args.InventoryType == nil { return nil, errors.New("invalid value for required argument 'InventoryType'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource CseInventoryEntityGroupConfiguration err := ctx.RegisterResource("sumologic:index/cseInventoryEntityGroupConfiguration:CseInventoryEntityGroupConfiguration", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/cseLogMapping.go b/sdk/go/sumologic/cseLogMapping.go index 5c5a49c4..a8fffa5f 100644 --- a/sdk/go/sumologic/cseLogMapping.go +++ b/sdk/go/sumologic/cseLogMapping.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -138,6 +139,7 @@ func NewCseLogMapping(ctx *pulumi.Context, if args.RecordType == nil { return nil, errors.New("invalid value for required argument 'RecordType'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource CseLogMapping err := ctx.RegisterResource("sumologic:index/cseLogMapping:CseLogMapping", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/cseMatchList.go b/sdk/go/sumologic/cseMatchList.go index b979c9d9..47de9417 100644 --- a/sdk/go/sumologic/cseMatchList.go +++ b/sdk/go/sumologic/cseMatchList.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -65,8 +66,7 @@ type CseMatchList struct { // The default time to live for match list items added through the UI. Specified in seconds. DefaultTtl pulumi.IntPtrOutput `pulumi:"defaultTtl"` // Match list description. - Description pulumi.StringOutput `pulumi:"description"` - // List of match list items. See matchListItem schema for details. + Description pulumi.StringOutput `pulumi:"description"` Items CseMatchListItemArrayOutput `pulumi:"items"` LastUpdated pulumi.StringOutput `pulumi:"lastUpdated"` LastUpdatedBy pulumi.StringOutput `pulumi:"lastUpdatedBy"` @@ -89,6 +89,7 @@ func NewCseMatchList(ctx *pulumi.Context, if args.TargetColumn == nil { return nil, errors.New("invalid value for required argument 'TargetColumn'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource CseMatchList err := ctx.RegisterResource("sumologic:index/cseMatchList:CseMatchList", name, args, &resource, opts...) if err != nil { @@ -116,8 +117,7 @@ type cseMatchListState struct { // The default time to live for match list items added through the UI. Specified in seconds. DefaultTtl *int `pulumi:"defaultTtl"` // Match list description. - Description *string `pulumi:"description"` - // List of match list items. See matchListItem schema for details. + Description *string `pulumi:"description"` Items []CseMatchListItem `pulumi:"items"` LastUpdated *string `pulumi:"lastUpdated"` LastUpdatedBy *string `pulumi:"lastUpdatedBy"` @@ -133,8 +133,7 @@ type CseMatchListState struct { // The default time to live for match list items added through the UI. Specified in seconds. DefaultTtl pulumi.IntPtrInput // Match list description. - Description pulumi.StringPtrInput - // List of match list items. See matchListItem schema for details. + Description pulumi.StringPtrInput Items CseMatchListItemArrayInput LastUpdated pulumi.StringPtrInput LastUpdatedBy pulumi.StringPtrInput @@ -152,9 +151,8 @@ type cseMatchListArgs struct { // The default time to live for match list items added through the UI. Specified in seconds. DefaultTtl *int `pulumi:"defaultTtl"` // Match list description. - Description string `pulumi:"description"` - // List of match list items. See matchListItem schema for details. - Items []CseMatchListItem `pulumi:"items"` + Description string `pulumi:"description"` + Items []CseMatchListItem `pulumi:"items"` // Match list name. Name *string `pulumi:"name"` // Target column. (possible values: Hostname, FileHash, Url, SrcIp, DstIp, Domain, Username, Ip, Asn, Isp, Org, SrcAsn, SrcIsp, SrcOrg, DstAsn, DstIsp, DstOrg or any custom column.) @@ -167,8 +165,7 @@ type CseMatchListArgs struct { DefaultTtl pulumi.IntPtrInput // Match list description. Description pulumi.StringInput - // List of match list items. See matchListItem schema for details. - Items CseMatchListItemArrayInput + Items CseMatchListItemArrayInput // Match list name. Name pulumi.StringPtrInput // Target column. (possible values: Hostname, FileHash, Url, SrcIp, DstIp, Domain, Username, Ip, Asn, Isp, Org, SrcAsn, SrcIsp, SrcOrg, DstAsn, DstIsp, DstOrg or any custom column.) @@ -280,7 +277,6 @@ func (o CseMatchListOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v *CseMatchList) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) } -// List of match list items. See matchListItem schema for details. func (o CseMatchListOutput) Items() CseMatchListItemArrayOutput { return o.ApplyT(func(v *CseMatchList) CseMatchListItemArrayOutput { return v.Items }).(CseMatchListItemArrayOutput) } diff --git a/sdk/go/sumologic/cseMatchRule.go b/sdk/go/sumologic/cseMatchRule.go index 65aeecd5..c039a696 100644 --- a/sdk/go/sumologic/cseMatchRule.go +++ b/sdk/go/sumologic/cseMatchRule.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -118,6 +119,7 @@ func NewCseMatchRule(ctx *pulumi.Context, if args.SeverityMapping == nil { return nil, errors.New("invalid value for required argument 'SeverityMapping'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource CseMatchRule err := ctx.RegisterResource("sumologic:index/cseMatchRule:CseMatchRule", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/cseNetworkBlock.go b/sdk/go/sumologic/cseNetworkBlock.go index e3b01602..7fdebb29 100644 --- a/sdk/go/sumologic/cseNetworkBlock.go +++ b/sdk/go/sumologic/cseNetworkBlock.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -76,6 +77,7 @@ func NewCseNetworkBlock(ctx *pulumi.Context, if args.AddressBlock == nil { return nil, errors.New("invalid value for required argument 'AddressBlock'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource CseNetworkBlock err := ctx.RegisterResource("sumologic:index/cseNetworkBlock:CseNetworkBlock", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/cseOutlierRule.go b/sdk/go/sumologic/cseOutlierRule.go index 59ecbe2c..fc8f24b9 100644 --- a/sdk/go/sumologic/cseOutlierRule.go +++ b/sdk/go/sumologic/cseOutlierRule.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -116,6 +117,7 @@ func NewCseOutlierRule(ctx *pulumi.Context, if args.WindowSize == nil { return nil, errors.New("invalid value for required argument 'WindowSize'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource CseOutlierRule err := ctx.RegisterResource("sumologic:index/cseOutlierRule:CseOutlierRule", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/cseRuleTuningExpression.go b/sdk/go/sumologic/cseRuleTuningExpression.go index 131213c3..947da43f 100644 --- a/sdk/go/sumologic/cseRuleTuningExpression.go +++ b/sdk/go/sumologic/cseRuleTuningExpression.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -101,6 +102,7 @@ func NewCseRuleTuningExpression(ctx *pulumi.Context, if args.RuleIds == nil { return nil, errors.New("invalid value for required argument 'RuleIds'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource CseRuleTuningExpression err := ctx.RegisterResource("sumologic:index/cseRuleTuningExpression:CseRuleTuningExpression", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/cseThresholdRule.go b/sdk/go/sumologic/cseThresholdRule.go index 2046329b..54c65361 100644 --- a/sdk/go/sumologic/cseThresholdRule.go +++ b/sdk/go/sumologic/cseThresholdRule.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -132,6 +133,7 @@ func NewCseThresholdRule(ctx *pulumi.Context, if args.WindowSize == nil { return nil, errors.New("invalid value for required argument 'WindowSize'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource CseThresholdRule err := ctx.RegisterResource("sumologic:index/cseThresholdRule:CseThresholdRule", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/dashboard.go b/sdk/go/sumologic/dashboard.go index aebdbbd7..551b610d 100644 --- a/sdk/go/sumologic/dashboard.go +++ b/sdk/go/sumologic/dashboard.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -146,7 +147,15 @@ import ( // Title: pulumi.String("Api Health"), // VisualSettings: pulumi.String(json0), // KeepVisualSettingsConsistentWithParent: pulumi.Bool(true), -// Text: pulumi.String("## Api Health Monitoring\n\nUse this dashboard to monitor API service health. It contains following panels:\n\n1. API errors: Errors in last 12 hours\n3. API 5xx: Count of 5xx response\n3. CPU utilization: CPU utilization in last 60 mins\n"), +// Text: pulumi.String(`## Api Health Monitoring +// +// Use this dashboard to monitor API service health. It contains following panels: +// +// 1. API errors: Errors in last 12 hours +// 3. API 5xx: Count of 5xx response +// 3. CPU utilization: CPU utilization in last 60 mins +// `), +// // }, // }, // &sumologic.DashboardPanelArgs{ @@ -497,6 +506,7 @@ func NewDashboard(ctx *pulumi.Context, if args.Title == nil { return nil, errors.New("invalid value for required argument 'Title'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource Dashboard err := ctx.RegisterResource("sumologic:index/dashboard:Dashboard", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/elbSource.go b/sdk/go/sumologic/elbSource.go index cff4c93b..2c0abf7a 100644 --- a/sdk/go/sumologic/elbSource.go +++ b/sdk/go/sumologic/elbSource.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -139,6 +140,7 @@ func NewElbSource(ctx *pulumi.Context, if args.ScanInterval == nil { return nil, errors.New("invalid value for required argument 'ScanInterval'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource ElbSource err := ctx.RegisterResource("sumologic:index/elbSource:ElbSource", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/field.go b/sdk/go/sumologic/field.go index 549cba42..afd7ffea 100644 --- a/sdk/go/sumologic/field.go +++ b/sdk/go/sumologic/field.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -74,6 +75,7 @@ func NewField(ctx *pulumi.Context, if args.FieldName == nil { return nil, errors.New("invalid value for required argument 'FieldName'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource Field err := ctx.RegisterResource("sumologic:index/field:Field", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/fieldExtractionRule.go b/sdk/go/sumologic/fieldExtractionRule.go index 87ef0217..67c730fd 100644 --- a/sdk/go/sumologic/fieldExtractionRule.go +++ b/sdk/go/sumologic/fieldExtractionRule.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -86,6 +87,7 @@ func NewFieldExtractionRule(ctx *pulumi.Context, if args.Scope == nil { return nil, errors.New("invalid value for required argument 'Scope'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource FieldExtractionRule err := ctx.RegisterResource("sumologic:index/fieldExtractionRule:FieldExtractionRule", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/folder.go b/sdk/go/sumologic/folder.go index 9ba8bb22..58dc1565 100644 --- a/sdk/go/sumologic/folder.go +++ b/sdk/go/sumologic/folder.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -67,6 +68,7 @@ func NewFolder(ctx *pulumi.Context, if args.ParentId == nil { return nil, errors.New("invalid value for required argument 'ParentId'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource Folder err := ctx.RegisterResource("sumologic:index/folder:Folder", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/gcpMetricsSource.go b/sdk/go/sumologic/gcpMetricsSource.go index 371832db..37e2a8e6 100644 --- a/sdk/go/sumologic/gcpMetricsSource.go +++ b/sdk/go/sumologic/gcpMetricsSource.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -91,6 +92,7 @@ func NewGcpMetricsSource(ctx *pulumi.Context, if args.ScanInterval == nil { return nil, errors.New("invalid value for required argument 'ScanInterval'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource GcpMetricsSource err := ctx.RegisterResource("sumologic:index/gcpMetricsSource:GcpMetricsSource", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/gcpSource.go b/sdk/go/sumologic/gcpSource.go index 28b10be5..fd41a356 100644 --- a/sdk/go/sumologic/gcpSource.go +++ b/sdk/go/sumologic/gcpSource.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -105,6 +106,7 @@ func NewGcpSource(ctx *pulumi.Context, if args.CollectorId == nil { return nil, errors.New("invalid value for required argument 'CollectorId'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource GcpSource err := ctx.RegisterResource("sumologic:index/gcpSource:GcpSource", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/getAdminRecommendedFolder.go b/sdk/go/sumologic/getAdminRecommendedFolder.go index ec53db80..e4913dd7 100644 --- a/sdk/go/sumologic/getAdminRecommendedFolder.go +++ b/sdk/go/sumologic/getAdminRecommendedFolder.go @@ -7,6 +7,7 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -23,6 +24,7 @@ import ( // - `name` - The name of the Admin Recommended Folder. // - `description` - The description of the Admin Recommended Folder. func GetAdminRecommendedFolder(ctx *pulumi.Context, args *GetAdminRecommendedFolderArgs, opts ...pulumi.InvokeOption) (*GetAdminRecommendedFolderResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) var rv GetAdminRecommendedFolderResult err := ctx.Invoke("sumologic:index/getAdminRecommendedFolder:getAdminRecommendedFolder", args, &rv, opts...) if err != nil { diff --git a/sdk/go/sumologic/getCallerIdentity.go b/sdk/go/sumologic/getCallerIdentity.go index 89139a1a..33749b80 100644 --- a/sdk/go/sumologic/getCallerIdentity.go +++ b/sdk/go/sumologic/getCallerIdentity.go @@ -4,6 +4,7 @@ package sumologic import ( + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -39,6 +40,7 @@ import ( // - `accessId` - Sumo Logic access ID. // - `environment` - API endpoint environment. func GetCallerIdentity(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetCallerIdentityResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) var rv GetCallerIdentityResult err := ctx.Invoke("sumologic:index/getCallerIdentity:getCallerIdentity", nil, &rv, opts...) if err != nil { diff --git a/sdk/go/sumologic/getCollector.go b/sdk/go/sumologic/getCollector.go index c4ee6adf..b642b61b 100644 --- a/sdk/go/sumologic/getCollector.go +++ b/sdk/go/sumologic/getCollector.go @@ -7,6 +7,7 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -75,6 +76,7 @@ import ( // - `category` - The default source category for any source attached to this collector. // - `timezone` - The time zone to use for this collector. The value follows the [tzdata][2] naming convention. func LookupCollector(ctx *pulumi.Context, args *LookupCollectorArgs, opts ...pulumi.InvokeOption) (*LookupCollectorResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupCollectorResult err := ctx.Invoke("sumologic:index/getCollector:getCollector", args, &rv, opts...) if err != nil { diff --git a/sdk/go/sumologic/getCseLogMappingVendorProduct.go b/sdk/go/sumologic/getCseLogMappingVendorProduct.go index 6c3e24d0..c2a3614c 100644 --- a/sdk/go/sumologic/getCseLogMappingVendorProduct.go +++ b/sdk/go/sumologic/getCseLogMappingVendorProduct.go @@ -7,6 +7,7 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -47,6 +48,7 @@ import ( // - `product` - The name of the product. // - `vendor` - The name of the vendor. func GetCseLogMappingVendorProduct(ctx *pulumi.Context, args *GetCseLogMappingVendorProductArgs, opts ...pulumi.InvokeOption) (*GetCseLogMappingVendorProductResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) var rv GetCseLogMappingVendorProductResult err := ctx.Invoke("sumologic:index/getCseLogMappingVendorProduct:getCseLogMappingVendorProduct", args, &rv, opts...) if err != nil { diff --git a/sdk/go/sumologic/getFolder.go b/sdk/go/sumologic/getFolder.go index 48cade86..0ead6a29 100644 --- a/sdk/go/sumologic/getFolder.go +++ b/sdk/go/sumologic/getFolder.go @@ -7,6 +7,7 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -28,6 +29,7 @@ import ( // - `id` - The ID of the folder. // - `name` - The name of the folder. func LookupFolder(ctx *pulumi.Context, args *LookupFolderArgs, opts ...pulumi.InvokeOption) (*LookupFolderResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupFolderResult err := ctx.Invoke("sumologic:index/getFolder:getFolder", args, &rv, opts...) if err != nil { diff --git a/sdk/go/sumologic/getHttpSource.go b/sdk/go/sumologic/getHttpSource.go index 509083f5..dfabe68f 100644 --- a/sdk/go/sumologic/getHttpSource.go +++ b/sdk/go/sumologic/getHttpSource.go @@ -7,6 +7,7 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -51,6 +52,7 @@ import ( // - `multiline` - Multiline processing enabled or not. // - `url` - The HTTP endpoint to use for sending data to this source. func LookupHttpSource(ctx *pulumi.Context, args *LookupHttpSourceArgs, opts ...pulumi.InvokeOption) (*LookupHttpSourceResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupHttpSourceResult err := ctx.Invoke("sumologic:index/getHttpSource:getHttpSource", args, &rv, opts...) if err != nil { diff --git a/sdk/go/sumologic/getMyUserId.go b/sdk/go/sumologic/getMyUserId.go index 45feccd8..4fe9e7a5 100644 --- a/sdk/go/sumologic/getMyUserId.go +++ b/sdk/go/sumologic/getMyUserId.go @@ -7,10 +7,12 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func GetMyUserId(ctx *pulumi.Context, args *GetMyUserIdArgs, opts ...pulumi.InvokeOption) (*GetMyUserIdResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) var rv GetMyUserIdResult err := ctx.Invoke("sumologic:index/getMyUserId:getMyUserId", args, &rv, opts...) if err != nil { diff --git a/sdk/go/sumologic/getPersonalFolder.go b/sdk/go/sumologic/getPersonalFolder.go index 87319a0a..d5ebcaa2 100644 --- a/sdk/go/sumologic/getPersonalFolder.go +++ b/sdk/go/sumologic/getPersonalFolder.go @@ -7,6 +7,7 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -43,6 +44,7 @@ import ( // - `name` - The name of the Personal Folder. // - `description` - The description of the Personal Folder. func GetPersonalFolder(ctx *pulumi.Context, args *GetPersonalFolderArgs, opts ...pulumi.InvokeOption) (*GetPersonalFolderResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) var rv GetPersonalFolderResult err := ctx.Invoke("sumologic:index/getPersonalFolder:getPersonalFolder", args, &rv, opts...) if err != nil { diff --git a/sdk/go/sumologic/getRole.go b/sdk/go/sumologic/getRole.go index 096181c2..2733238b 100644 --- a/sdk/go/sumologic/getRole.go +++ b/sdk/go/sumologic/getRole.go @@ -7,6 +7,7 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -75,6 +76,7 @@ import ( // - `filterPredicate` - The search filter to restrict access to specific logs. // - `capabilities` - The list of capabilities associated with the role. func LookupRole(ctx *pulumi.Context, args *LookupRoleArgs, opts ...pulumi.InvokeOption) (*LookupRoleResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupRoleResult err := ctx.Invoke("sumologic:index/getRole:getRole", args, &rv, opts...) if err != nil { diff --git a/sdk/go/sumologic/getUser.go b/sdk/go/sumologic/getUser.go index 2e0879bd..48bfa58e 100644 --- a/sdk/go/sumologic/getUser.go +++ b/sdk/go/sumologic/getUser.go @@ -7,6 +7,7 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -74,6 +75,7 @@ import ( // - `isActive` - (Required) This has the value true if the user is active and false if they have been deactivated. // - `roleIds` - (Required) List of roleIds associated with the user. func LookupUser(ctx *pulumi.Context, args *LookupUserArgs, opts ...pulumi.InvokeOption) (*LookupUserResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupUserResult err := ctx.Invoke("sumologic:index/getUser:getUser", args, &rv, opts...) if err != nil { diff --git a/sdk/go/sumologic/hierarchy.go b/sdk/go/sumologic/hierarchy.go index fb36d01a..d974b477 100644 --- a/sdk/go/sumologic/hierarchy.go +++ b/sdk/go/sumologic/hierarchy.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -89,6 +90,7 @@ func NewHierarchy(ctx *pulumi.Context, if args.Levels == nil { return nil, errors.New("invalid value for required argument 'Levels'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource Hierarchy err := ctx.RegisterResource("sumologic:index/hierarchy:Hierarchy", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/httpSource.go b/sdk/go/sumologic/httpSource.go index ca251e94..0481bf89 100644 --- a/sdk/go/sumologic/httpSource.go +++ b/sdk/go/sumologic/httpSource.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -143,6 +144,7 @@ func NewHttpSource(ctx *pulumi.Context, if args.CollectorId == nil { return nil, errors.New("invalid value for required argument 'CollectorId'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource HttpSource err := ctx.RegisterResource("sumologic:index/httpSource:HttpSource", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/ingestBudget.go b/sdk/go/sumologic/ingestBudget.go index d0e1f9a2..8c7a95e1 100644 --- a/sdk/go/sumologic/ingestBudget.go +++ b/sdk/go/sumologic/ingestBudget.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -94,6 +95,7 @@ func NewIngestBudget(ctx *pulumi.Context, if args.FieldValue == nil { return nil, errors.New("invalid value for required argument 'FieldValue'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource IngestBudget err := ctx.RegisterResource("sumologic:index/ingestBudget:IngestBudget", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/ingestBudgetV2.go b/sdk/go/sumologic/ingestBudgetV2.go index 4035f155..8024e326 100644 --- a/sdk/go/sumologic/ingestBudgetV2.go +++ b/sdk/go/sumologic/ingestBudgetV2.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -30,6 +31,7 @@ import ( // _, err := sumologic.NewIngestBudgetV2(ctx, "budget", &sumologic.IngestBudgetV2Args{ // Action: pulumi.String("keepCollecting"), // AuditThreshold: pulumi.Int(85), +// BudgetType: pulumi.String("dailyVolume"), // CapacityBytes: pulumi.Int(30000000000), // Description: pulumi.String("For testing purposes"), // ResetTime: pulumi.String("00:00"), @@ -47,11 +49,11 @@ import ( // // ## Import // -// # Ingest budgets can be imported using the name, e.g.hcl +// # Ingest budgets can be imported using the budget ID, e.g.hcl // // ```sh // -// $ pulumi import sumologic:index/ingestBudgetV2:IngestBudgetV2 budget budgetName +// $ pulumi import sumologic:index/ingestBudgetV2:IngestBudgetV2 budget 00000000000123AB // // ``` // @@ -65,7 +67,9 @@ type IngestBudgetV2 struct { // // The following attributes are exported: AuditThreshold pulumi.IntPtrOutput `pulumi:"auditThreshold"` - // Capacity of the ingest budget, in bytes. + // The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`. + BudgetType pulumi.StringPtrOutput `pulumi:"budgetType"` + // Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min. CapacityBytes pulumi.IntOutput `pulumi:"capacityBytes"` // The description of the collector. Description pulumi.StringPtrOutput `pulumi:"description"` @@ -101,6 +105,7 @@ func NewIngestBudgetV2(ctx *pulumi.Context, if args.Timezone == nil { return nil, errors.New("invalid value for required argument 'Timezone'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource IngestBudgetV2 err := ctx.RegisterResource("sumologic:index/ingestBudgetV2:IngestBudgetV2", name, args, &resource, opts...) if err != nil { @@ -129,7 +134,9 @@ type ingestBudgetV2State struct { // // The following attributes are exported: AuditThreshold *int `pulumi:"auditThreshold"` - // Capacity of the ingest budget, in bytes. + // The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`. + BudgetType *string `pulumi:"budgetType"` + // Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min. CapacityBytes *int `pulumi:"capacityBytes"` // The description of the collector. Description *string `pulumi:"description"` @@ -150,7 +157,9 @@ type IngestBudgetV2State struct { // // The following attributes are exported: AuditThreshold pulumi.IntPtrInput - // Capacity of the ingest budget, in bytes. + // The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`. + BudgetType pulumi.StringPtrInput + // Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min. CapacityBytes pulumi.IntPtrInput // The description of the collector. Description pulumi.StringPtrInput @@ -175,7 +184,9 @@ type ingestBudgetV2Args struct { // // The following attributes are exported: AuditThreshold *int `pulumi:"auditThreshold"` - // Capacity of the ingest budget, in bytes. + // The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`. + BudgetType *string `pulumi:"budgetType"` + // Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min. CapacityBytes int `pulumi:"capacityBytes"` // The description of the collector. Description *string `pulumi:"description"` @@ -197,7 +208,9 @@ type IngestBudgetV2Args struct { // // The following attributes are exported: AuditThreshold pulumi.IntPtrInput - // Capacity of the ingest budget, in bytes. + // The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`. + BudgetType pulumi.StringPtrInput + // Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min. CapacityBytes pulumi.IntInput // The description of the collector. Description pulumi.StringPtrInput @@ -310,7 +323,12 @@ func (o IngestBudgetV2Output) AuditThreshold() pulumi.IntPtrOutput { return o.ApplyT(func(v *IngestBudgetV2) pulumi.IntPtrOutput { return v.AuditThreshold }).(pulumi.IntPtrOutput) } -// Capacity of the ingest budget, in bytes. +// The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`. +func (o IngestBudgetV2Output) BudgetType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IngestBudgetV2) pulumi.StringPtrOutput { return v.BudgetType }).(pulumi.StringPtrOutput) +} + +// Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min. func (o IngestBudgetV2Output) CapacityBytes() pulumi.IntOutput { return o.ApplyT(func(v *IngestBudgetV2) pulumi.IntOutput { return v.CapacityBytes }).(pulumi.IntOutput) } diff --git a/sdk/go/sumologic/init.go b/sdk/go/sumologic/init.go index 7288120c..e915ca84 100644 --- a/sdk/go/sumologic/init.go +++ b/sdk/go/sumologic/init.go @@ -7,6 +7,7 @@ import ( "fmt" "github.com/blang/semver" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -122,6 +123,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &LookupTable{} case "sumologic:index/metadataSource:MetadataSource": r = &MetadataSource{} + case "sumologic:index/metricsSearch:MetricsSearch": + r = &MetricsSearch{} case "sumologic:index/monitor:Monitor": r = &Monitor{} case "sumologic:index/monitorFolder:MonitorFolder": @@ -136,6 +139,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &PollingSource{} case "sumologic:index/role:Role": r = &Role{} + case "sumologic:index/rumSource:RumSource": + r = &RumSource{} case "sumologic:index/s3ArchiveSource:S3ArchiveSource": r = &S3ArchiveSource{} case "sumologic:index/s3AuditSource:S3AuditSource": @@ -183,7 +188,10 @@ func (p *pkg) ConstructProvider(ctx *pulumi.Context, name, typ, urn string) (pul } func init() { - version, _ := PkgVersion() + version, err := internal.PkgVersion() + if err != nil { + version = semver.Version{Major: 1} + } pulumi.RegisterResourceModule( "sumologic", "index/awsInventorySource", @@ -439,6 +447,11 @@ func init() { "index/metadataSource", &module{version}, ) + pulumi.RegisterResourceModule( + "sumologic", + "index/metricsSearch", + &module{version}, + ) pulumi.RegisterResourceModule( "sumologic", "index/monitor", @@ -474,6 +487,11 @@ func init() { "index/role", &module{version}, ) + pulumi.RegisterResourceModule( + "sumologic", + "index/rumSource", + &module{version}, + ) pulumi.RegisterResourceModule( "sumologic", "index/s3ArchiveSource", diff --git a/sdk/go/sumologic/installedCollector.go b/sdk/go/sumologic/installedCollector.go index 38838ce9..f5fa87fc 100644 --- a/sdk/go/sumologic/installedCollector.go +++ b/sdk/go/sumologic/installedCollector.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -97,6 +98,7 @@ func NewInstalledCollector(ctx *pulumi.Context, if args.Ephemeral == nil { return nil, errors.New("invalid value for required argument 'Ephemeral'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource InstalledCollector err := ctx.RegisterResource("sumologic:index/installedCollector:InstalledCollector", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/config/pulumiUtilities.go b/sdk/go/sumologic/internal/pulumiUtilities.go similarity index 60% rename from sdk/go/sumologic/config/pulumiUtilities.go rename to sdk/go/sumologic/internal/pulumiUtilities.go index 24499598..e3efb320 100644 --- a/sdk/go/sumologic/config/pulumiUtilities.go +++ b/sdk/go/sumologic/internal/pulumiUtilities.go @@ -1,7 +1,7 @@ // 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 config +package internal import ( "fmt" @@ -17,7 +17,7 @@ import ( type envParser func(v string) interface{} -func parseEnvBool(v string) interface{} { +func ParseEnvBool(v string) interface{} { b, err := strconv.ParseBool(v) if err != nil { return nil @@ -25,7 +25,7 @@ func parseEnvBool(v string) interface{} { return b } -func parseEnvInt(v string) interface{} { +func ParseEnvInt(v string) interface{} { i, err := strconv.ParseInt(v, 0, 0) if err != nil { return nil @@ -33,7 +33,7 @@ func parseEnvInt(v string) interface{} { return int(i) } -func parseEnvFloat(v string) interface{} { +func ParseEnvFloat(v string) interface{} { f, err := strconv.ParseFloat(v, 64) if err != nil { return nil @@ -41,7 +41,7 @@ func parseEnvFloat(v string) interface{} { return f } -func parseEnvStringArray(v string) interface{} { +func ParseEnvStringArray(v string) interface{} { var result pulumi.StringArray for _, item := range strings.Split(v, ";") { result = append(result, pulumi.String(item)) @@ -49,7 +49,7 @@ func parseEnvStringArray(v string) interface{} { return result } -func getEnvOrDefault(def interface{}, parser envParser, vars ...string) interface{} { +func GetEnvOrDefault(def interface{}, parser envParser, vars ...string) interface{} { for _, v := range vars { if value, ok := os.LookupEnv(v); ok { if parser != nil { @@ -65,6 +65,10 @@ func getEnvOrDefault(def interface{}, parser envParser, vars ...string) interfac // If a version cannot be determined, v1 will be assumed. The second return // value is always nil. func PkgVersion() (semver.Version, error) { + // emptyVersion defaults to v0.0.0 + if !SdkVersion.Equals(semver.Version{}) { + return SdkVersion, nil + } type sentinal struct{} pkgPath := reflect.TypeOf(sentinal{}).PkgPath() re := regexp.MustCompile("^.*/pulumi-sumologic/sdk(/v\\d+)?") @@ -79,9 +83,31 @@ func PkgVersion() (semver.Version, error) { } // isZero is a null safe check for if a value is it's types zero value. -func isZero(v interface{}) bool { +func IsZero(v interface{}) bool { if v == nil { return true } return reflect.ValueOf(v).IsZero() } + +// PkgResourceDefaultOpts provides package level defaults to pulumi.OptionResource. +func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOption { + defaults := []pulumi.ResourceOption{} + + version := SdkVersion + if !version.Equals(semver.Version{}) { + defaults = append(defaults, pulumi.Version(version.String())) + } + return append(defaults, opts...) +} + +// PkgInvokeDefaultOpts provides package level defaults to pulumi.OptionInvoke. +func PkgInvokeDefaultOpts(opts []pulumi.InvokeOption) []pulumi.InvokeOption { + defaults := []pulumi.InvokeOption{} + + version := SdkVersion + if !version.Equals(semver.Version{}) { + defaults = append(defaults, pulumi.Version(version.String())) + } + return append(defaults, opts...) +} diff --git a/sdk/go/sumologic/internal/pulumiVersion.go b/sdk/go/sumologic/internal/pulumiVersion.go new file mode 100644 index 00000000..d5916876 --- /dev/null +++ b/sdk/go/sumologic/internal/pulumiVersion.go @@ -0,0 +1,11 @@ +// 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 internal + +import ( + "github.com/blang/semver" +) + +var SdkVersion semver.Version = semver.Version{} +var pluginDownloadURL string = "" diff --git a/sdk/go/sumologic/kineisLogSource.go b/sdk/go/sumologic/kineisLogSource.go index a93f12e7..9ebc44b8 100644 --- a/sdk/go/sumologic/kineisLogSource.go +++ b/sdk/go/sumologic/kineisLogSource.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -142,6 +143,7 @@ func NewKineisLogSource(ctx *pulumi.Context, if args.ContentType == nil { return nil, errors.New("invalid value for required argument 'ContentType'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource KineisLogSource err := ctx.RegisterResource("sumologic:index/kineisLogSource:KineisLogSource", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/kinesisMetricsSource.go b/sdk/go/sumologic/kinesisMetricsSource.go index b9072cbe..d8a8358b 100644 --- a/sdk/go/sumologic/kinesisMetricsSource.go +++ b/sdk/go/sumologic/kinesisMetricsSource.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -77,6 +78,7 @@ func NewKinesisMetricsSource(ctx *pulumi.Context, if args.Path == nil { return nil, errors.New("invalid value for required argument 'Path'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource KinesisMetricsSource err := ctx.RegisterResource("sumologic:index/kinesisMetricsSource:KinesisMetricsSource", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/localFileSource.go b/sdk/go/sumologic/localFileSource.go index 7ddde8a5..53ecdea7 100644 --- a/sdk/go/sumologic/localFileSource.go +++ b/sdk/go/sumologic/localFileSource.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -76,6 +77,7 @@ func NewLocalFileSource(ctx *pulumi.Context, if args.PathExpression == nil { return nil, errors.New("invalid value for required argument 'PathExpression'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource LocalFileSource err := ctx.RegisterResource("sumologic:index/localFileSource:LocalFileSource", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/logSearch.go b/sdk/go/sumologic/logSearch.go index c23dc401..48661db3 100644 --- a/sdk/go/sumologic/logSearch.go +++ b/sdk/go/sumologic/logSearch.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -32,9 +33,17 @@ import ( // return err // } // _, err = sumologic.NewLogSearch(ctx, "exampleLogSearch", &sumologic.LogSearchArgs{ -// Description: pulumi.String("Demo search description"), -// ParentId: *pulumi.String(personalFolder.Id), -// QueryString: pulumi.String("_sourceCategory=api error | count by _sourceHost"), +// Description: pulumi.String("Demo search description"), +// ParentId: *pulumi.String(personalFolder.Id), +// QueryString: pulumi.String(` _sourceCategory=api +// | parse "parameter1=*," as parameter1 +// | parse "parameter2=*," as parameter2 +// | where parameter1 matches {{param1}} +// | where parameter2 matches {{param2}} +// | count by _sourceHost +// +// `), +// // ParsingMode: pulumi.String("AutoParse"), // RunByReceiptTime: pulumi.Bool(true), // TimeRange: &sumologic.LogSearchTimeRangeArgs{ @@ -46,6 +55,20 @@ import ( // }, // }, // }, +// QueryParameters: sumologic.LogSearchQueryParameterArray{ +// &sumologic.LogSearchQueryParameterArgs{ +// Name: pulumi.String("param1"), +// Description: pulumi.String("Description for param1"), +// DataType: pulumi.String("STRING"), +// Value: pulumi.String("*"), +// }, +// &sumologic.LogSearchQueryParameterArgs{ +// Name: pulumi.String("param2"), +// Description: pulumi.String("Description for param2"), +// DataType: pulumi.String("STRING"), +// Value: pulumi.String("*"), +// }, +// }, // Schedule: &sumologic.LogSearchScheduleArgs{ // CronExpression: pulumi.String("0 0 * * * ? *"), // MuteErrorEmails: pulumi.Bool(false), @@ -77,6 +100,16 @@ import ( // ThresholdType: pulumi.String("group"), // }, // TimeZone: pulumi.String("America/Los_Angeles"), +// Parameters: sumologic.LogSearchScheduleParameterArray{ +// &sumologic.LogSearchScheduleParameterArgs{ +// Name: pulumi.String("param1"), +// Value: pulumi.String("*"), +// }, +// &sumologic.LogSearchScheduleParameterArgs{ +// Name: pulumi.String("param2"), +// Value: pulumi.String("*"), +// }, +// }, // }, // }) // if err != nil { @@ -117,7 +150,9 @@ type LogSearch struct { // In `AutoParse` mode, the system automatically figures out fields to parse based on the search query. While in // the `Manual` mode, no fields are parsed out automatically. For more information see // [Dynamic Parsing](https://help.sumologic.com/?cid=0011). - ParsingMode pulumi.StringPtrOutput `pulumi:"parsingMode"` + ParsingMode pulumi.StringPtrOutput `pulumi:"parsingMode"` + // Up to 10 `queryParameter` blocks can be added one for each parameter in the `queryString`. + // See query parameter schema. QueryParameters LogSearchQueryParameterArrayOutput `pulumi:"queryParameters"` // Log query to perform. QueryString pulumi.StringOutput `pulumi:"queryString"` @@ -146,6 +181,7 @@ func NewLogSearch(ctx *pulumi.Context, if args.TimeRange == nil { return nil, errors.New("invalid value for required argument 'TimeRange'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource LogSearch err := ctx.RegisterResource("sumologic:index/logSearch:LogSearch", name, args, &resource, opts...) if err != nil { @@ -180,7 +216,9 @@ type logSearchState struct { // In `AutoParse` mode, the system automatically figures out fields to parse based on the search query. While in // the `Manual` mode, no fields are parsed out automatically. For more information see // [Dynamic Parsing](https://help.sumologic.com/?cid=0011). - ParsingMode *string `pulumi:"parsingMode"` + ParsingMode *string `pulumi:"parsingMode"` + // Up to 10 `queryParameter` blocks can be added one for each parameter in the `queryString`. + // See query parameter schema. QueryParameters []LogSearchQueryParameter `pulumi:"queryParameters"` // Log query to perform. QueryString *string `pulumi:"queryString"` @@ -206,7 +244,9 @@ type LogSearchState struct { // In `AutoParse` mode, the system automatically figures out fields to parse based on the search query. While in // the `Manual` mode, no fields are parsed out automatically. For more information see // [Dynamic Parsing](https://help.sumologic.com/?cid=0011). - ParsingMode pulumi.StringPtrInput + ParsingMode pulumi.StringPtrInput + // Up to 10 `queryParameter` blocks can be added one for each parameter in the `queryString`. + // See query parameter schema. QueryParameters LogSearchQueryParameterArrayInput // Log query to perform. QueryString pulumi.StringPtrInput @@ -236,7 +276,9 @@ type logSearchArgs struct { // In `AutoParse` mode, the system automatically figures out fields to parse based on the search query. While in // the `Manual` mode, no fields are parsed out automatically. For more information see // [Dynamic Parsing](https://help.sumologic.com/?cid=0011). - ParsingMode *string `pulumi:"parsingMode"` + ParsingMode *string `pulumi:"parsingMode"` + // Up to 10 `queryParameter` blocks can be added one for each parameter in the `queryString`. + // See query parameter schema. QueryParameters []LogSearchQueryParameter `pulumi:"queryParameters"` // Log query to perform. QueryString string `pulumi:"queryString"` @@ -263,7 +305,9 @@ type LogSearchArgs struct { // In `AutoParse` mode, the system automatically figures out fields to parse based on the search query. While in // the `Manual` mode, no fields are parsed out automatically. For more information see // [Dynamic Parsing](https://help.sumologic.com/?cid=0011). - ParsingMode pulumi.StringPtrInput + ParsingMode pulumi.StringPtrInput + // Up to 10 `queryParameter` blocks can be added one for each parameter in the `queryString`. + // See query parameter schema. QueryParameters LogSearchQueryParameterArrayInput // Log query to perform. QueryString pulumi.StringInput @@ -388,6 +432,8 @@ func (o LogSearchOutput) ParsingMode() pulumi.StringPtrOutput { return o.ApplyT(func(v *LogSearch) pulumi.StringPtrOutput { return v.ParsingMode }).(pulumi.StringPtrOutput) } +// Up to 10 `queryParameter` blocks can be added one for each parameter in the `queryString`. +// See query parameter schema. func (o LogSearchOutput) QueryParameters() LogSearchQueryParameterArrayOutput { return o.ApplyT(func(v *LogSearch) LogSearchQueryParameterArrayOutput { return v.QueryParameters }).(LogSearchQueryParameterArrayOutput) } diff --git a/sdk/go/sumologic/lookupTable.go b/sdk/go/sumologic/lookupTable.go index ac80d97b..3215371f 100644 --- a/sdk/go/sumologic/lookupTable.go +++ b/sdk/go/sumologic/lookupTable.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -99,6 +100,7 @@ func NewLookupTable(ctx *pulumi.Context, if args.Description == nil { return nil, errors.New("invalid value for required argument 'Description'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource LookupTable err := ctx.RegisterResource("sumologic:index/lookupTable:LookupTable", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/metadataSource.go b/sdk/go/sumologic/metadataSource.go index 616360eb..044c0f4f 100644 --- a/sdk/go/sumologic/metadataSource.go +++ b/sdk/go/sumologic/metadataSource.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -92,6 +93,7 @@ func NewMetadataSource(ctx *pulumi.Context, if args.ScanInterval == nil { return nil, errors.New("invalid value for required argument 'ScanInterval'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource MetadataSource err := ctx.RegisterResource("sumologic:index/metadataSource:MetadataSource", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/metricsSearch.go b/sdk/go/sumologic/metricsSearch.go new file mode 100644 index 00000000..5fbff705 --- /dev/null +++ b/sdk/go/sumologic/metricsSearch.go @@ -0,0 +1,386 @@ +// 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 sumologic + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a [Sumologic Metrics Search](https://help.sumologic.com/docs/metrics/metrics-queries/metrics-explorer/). +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// personalFolder, err := sumologic.GetPersonalFolder(ctx, nil, nil) +// if err != nil { +// return err +// } +// _, err = sumologic.NewMetricsSearch(ctx, "exampleMetricsSearch", &sumologic.MetricsSearchArgs{ +// Title: pulumi.String("Demo Metrics Search"), +// Description: pulumi.String("Demo search description"), +// ParentId: *pulumi.String(personalFolder.Id), +// MetricsQueries: sumologic.MetricsSearchMetricsQueryArray{ +// &sumologic.MetricsSearchMetricsQueryArgs{ +// RowId: pulumi.String("A"), +// Query: pulumi.String("metric=cpu_idle | avg"), +// }, +// }, +// DesiredQuantizationInSecs: pulumi.Int(0), +// TimeRange: &sumologic.MetricsSearchTimeRangeArgs{ +// BeginBoundedTimeRange: &sumologic.MetricsSearchTimeRangeBeginBoundedTimeRangeArgs{ +// From: &sumologic.MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs{ +// RelativeTimeRange: &sumologic.MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs{ +// RelativeTime: pulumi.String("-30m"), +// }, +// }, +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// ## Attributes reference +// +// In addition to all arguments above, the following attributes are exported: +// +// - `id` - The ID of the log search. +// +// ## Import +// +// # A metrics search can be imported using it's identifier, e.g.hcl +// +// ```sh +// +// $ pulumi import sumologic:index/metricsSearch:MetricsSearch example_search 0000000007FFD79D +// +// ``` +// +// [1]https://help.sumologic.com/docs/metrics/metrics-queries/metrics-explorer/ +type MetricsSearch struct { + pulumi.CustomResourceState + + // Description of the search. + Description pulumi.StringOutput `pulumi:"description"` + // Desired quantization in seconds. Default value is `0`. + DesiredQuantizationInSecs pulumi.IntPtrOutput `pulumi:"desiredQuantizationInSecs"` + // Log query used to add an overlay to the chart. + LogQuery pulumi.StringPtrOutput `pulumi:"logQuery"` + // Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. + MetricsQueries MetricsSearchMetricsQueryArrayOutput `pulumi:"metricsQueries"` + // The identifier of the folder to create the log search in. + ParentId pulumi.StringOutput `pulumi:"parentId"` + // Time range of the log search. See time range schema + TimeRange MetricsSearchTimeRangeOutput `pulumi:"timeRange"` + // Title of the search. + Title pulumi.StringOutput `pulumi:"title"` +} + +// NewMetricsSearch registers a new resource with the given unique name, arguments, and options. +func NewMetricsSearch(ctx *pulumi.Context, + name string, args *MetricsSearchArgs, opts ...pulumi.ResourceOption) (*MetricsSearch, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Description == nil { + return nil, errors.New("invalid value for required argument 'Description'") + } + if args.MetricsQueries == nil { + return nil, errors.New("invalid value for required argument 'MetricsQueries'") + } + if args.ParentId == nil { + return nil, errors.New("invalid value for required argument 'ParentId'") + } + if args.TimeRange == nil { + return nil, errors.New("invalid value for required argument 'TimeRange'") + } + if args.Title == nil { + return nil, errors.New("invalid value for required argument 'Title'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource MetricsSearch + err := ctx.RegisterResource("sumologic:index/metricsSearch:MetricsSearch", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetMetricsSearch gets an existing MetricsSearch 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 GetMetricsSearch(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *MetricsSearchState, opts ...pulumi.ResourceOption) (*MetricsSearch, error) { + var resource MetricsSearch + err := ctx.ReadResource("sumologic:index/metricsSearch:MetricsSearch", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering MetricsSearch resources. +type metricsSearchState struct { + // Description of the search. + Description *string `pulumi:"description"` + // Desired quantization in seconds. Default value is `0`. + DesiredQuantizationInSecs *int `pulumi:"desiredQuantizationInSecs"` + // Log query used to add an overlay to the chart. + LogQuery *string `pulumi:"logQuery"` + // Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. + MetricsQueries []MetricsSearchMetricsQuery `pulumi:"metricsQueries"` + // The identifier of the folder to create the log search in. + ParentId *string `pulumi:"parentId"` + // Time range of the log search. See time range schema + TimeRange *MetricsSearchTimeRange `pulumi:"timeRange"` + // Title of the search. + Title *string `pulumi:"title"` +} + +type MetricsSearchState struct { + // Description of the search. + Description pulumi.StringPtrInput + // Desired quantization in seconds. Default value is `0`. + DesiredQuantizationInSecs pulumi.IntPtrInput + // Log query used to add an overlay to the chart. + LogQuery pulumi.StringPtrInput + // Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. + MetricsQueries MetricsSearchMetricsQueryArrayInput + // The identifier of the folder to create the log search in. + ParentId pulumi.StringPtrInput + // Time range of the log search. See time range schema + TimeRange MetricsSearchTimeRangePtrInput + // Title of the search. + Title pulumi.StringPtrInput +} + +func (MetricsSearchState) ElementType() reflect.Type { + return reflect.TypeOf((*metricsSearchState)(nil)).Elem() +} + +type metricsSearchArgs struct { + // Description of the search. + Description string `pulumi:"description"` + // Desired quantization in seconds. Default value is `0`. + DesiredQuantizationInSecs *int `pulumi:"desiredQuantizationInSecs"` + // Log query used to add an overlay to the chart. + LogQuery *string `pulumi:"logQuery"` + // Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. + MetricsQueries []MetricsSearchMetricsQuery `pulumi:"metricsQueries"` + // The identifier of the folder to create the log search in. + ParentId string `pulumi:"parentId"` + // Time range of the log search. See time range schema + TimeRange MetricsSearchTimeRange `pulumi:"timeRange"` + // Title of the search. + Title string `pulumi:"title"` +} + +// The set of arguments for constructing a MetricsSearch resource. +type MetricsSearchArgs struct { + // Description of the search. + Description pulumi.StringInput + // Desired quantization in seconds. Default value is `0`. + DesiredQuantizationInSecs pulumi.IntPtrInput + // Log query used to add an overlay to the chart. + LogQuery pulumi.StringPtrInput + // Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. + MetricsQueries MetricsSearchMetricsQueryArrayInput + // The identifier of the folder to create the log search in. + ParentId pulumi.StringInput + // Time range of the log search. See time range schema + TimeRange MetricsSearchTimeRangeInput + // Title of the search. + Title pulumi.StringInput +} + +func (MetricsSearchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*metricsSearchArgs)(nil)).Elem() +} + +type MetricsSearchInput interface { + pulumi.Input + + ToMetricsSearchOutput() MetricsSearchOutput + ToMetricsSearchOutputWithContext(ctx context.Context) MetricsSearchOutput +} + +func (*MetricsSearch) ElementType() reflect.Type { + return reflect.TypeOf((**MetricsSearch)(nil)).Elem() +} + +func (i *MetricsSearch) ToMetricsSearchOutput() MetricsSearchOutput { + return i.ToMetricsSearchOutputWithContext(context.Background()) +} + +func (i *MetricsSearch) ToMetricsSearchOutputWithContext(ctx context.Context) MetricsSearchOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchOutput) +} + +// MetricsSearchArrayInput is an input type that accepts MetricsSearchArray and MetricsSearchArrayOutput values. +// You can construct a concrete instance of `MetricsSearchArrayInput` via: +// +// MetricsSearchArray{ MetricsSearchArgs{...} } +type MetricsSearchArrayInput interface { + pulumi.Input + + ToMetricsSearchArrayOutput() MetricsSearchArrayOutput + ToMetricsSearchArrayOutputWithContext(context.Context) MetricsSearchArrayOutput +} + +type MetricsSearchArray []MetricsSearchInput + +func (MetricsSearchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*MetricsSearch)(nil)).Elem() +} + +func (i MetricsSearchArray) ToMetricsSearchArrayOutput() MetricsSearchArrayOutput { + return i.ToMetricsSearchArrayOutputWithContext(context.Background()) +} + +func (i MetricsSearchArray) ToMetricsSearchArrayOutputWithContext(ctx context.Context) MetricsSearchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchArrayOutput) +} + +// MetricsSearchMapInput is an input type that accepts MetricsSearchMap and MetricsSearchMapOutput values. +// You can construct a concrete instance of `MetricsSearchMapInput` via: +// +// MetricsSearchMap{ "key": MetricsSearchArgs{...} } +type MetricsSearchMapInput interface { + pulumi.Input + + ToMetricsSearchMapOutput() MetricsSearchMapOutput + ToMetricsSearchMapOutputWithContext(context.Context) MetricsSearchMapOutput +} + +type MetricsSearchMap map[string]MetricsSearchInput + +func (MetricsSearchMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*MetricsSearch)(nil)).Elem() +} + +func (i MetricsSearchMap) ToMetricsSearchMapOutput() MetricsSearchMapOutput { + return i.ToMetricsSearchMapOutputWithContext(context.Background()) +} + +func (i MetricsSearchMap) ToMetricsSearchMapOutputWithContext(ctx context.Context) MetricsSearchMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchMapOutput) +} + +type MetricsSearchOutput struct{ *pulumi.OutputState } + +func (MetricsSearchOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MetricsSearch)(nil)).Elem() +} + +func (o MetricsSearchOutput) ToMetricsSearchOutput() MetricsSearchOutput { + return o +} + +func (o MetricsSearchOutput) ToMetricsSearchOutputWithContext(ctx context.Context) MetricsSearchOutput { + return o +} + +// Description of the search. +func (o MetricsSearchOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v *MetricsSearch) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) +} + +// Desired quantization in seconds. Default value is `0`. +func (o MetricsSearchOutput) DesiredQuantizationInSecs() pulumi.IntPtrOutput { + return o.ApplyT(func(v *MetricsSearch) pulumi.IntPtrOutput { return v.DesiredQuantizationInSecs }).(pulumi.IntPtrOutput) +} + +// Log query used to add an overlay to the chart. +func (o MetricsSearchOutput) LogQuery() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MetricsSearch) pulumi.StringPtrOutput { return v.LogQuery }).(pulumi.StringPtrOutput) +} + +// Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. +func (o MetricsSearchOutput) MetricsQueries() MetricsSearchMetricsQueryArrayOutput { + return o.ApplyT(func(v *MetricsSearch) MetricsSearchMetricsQueryArrayOutput { return v.MetricsQueries }).(MetricsSearchMetricsQueryArrayOutput) +} + +// The identifier of the folder to create the log search in. +func (o MetricsSearchOutput) ParentId() pulumi.StringOutput { + return o.ApplyT(func(v *MetricsSearch) pulumi.StringOutput { return v.ParentId }).(pulumi.StringOutput) +} + +// Time range of the log search. See time range schema +func (o MetricsSearchOutput) TimeRange() MetricsSearchTimeRangeOutput { + return o.ApplyT(func(v *MetricsSearch) MetricsSearchTimeRangeOutput { return v.TimeRange }).(MetricsSearchTimeRangeOutput) +} + +// Title of the search. +func (o MetricsSearchOutput) Title() pulumi.StringOutput { + return o.ApplyT(func(v *MetricsSearch) pulumi.StringOutput { return v.Title }).(pulumi.StringOutput) +} + +type MetricsSearchArrayOutput struct{ *pulumi.OutputState } + +func (MetricsSearchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*MetricsSearch)(nil)).Elem() +} + +func (o MetricsSearchArrayOutput) ToMetricsSearchArrayOutput() MetricsSearchArrayOutput { + return o +} + +func (o MetricsSearchArrayOutput) ToMetricsSearchArrayOutputWithContext(ctx context.Context) MetricsSearchArrayOutput { + return o +} + +func (o MetricsSearchArrayOutput) Index(i pulumi.IntInput) MetricsSearchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *MetricsSearch { + return vs[0].([]*MetricsSearch)[vs[1].(int)] + }).(MetricsSearchOutput) +} + +type MetricsSearchMapOutput struct{ *pulumi.OutputState } + +func (MetricsSearchMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*MetricsSearch)(nil)).Elem() +} + +func (o MetricsSearchMapOutput) ToMetricsSearchMapOutput() MetricsSearchMapOutput { + return o +} + +func (o MetricsSearchMapOutput) ToMetricsSearchMapOutputWithContext(ctx context.Context) MetricsSearchMapOutput { + return o +} + +func (o MetricsSearchMapOutput) MapIndex(k pulumi.StringInput) MetricsSearchOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *MetricsSearch { + return vs[0].(map[string]*MetricsSearch)[vs[1].(string)] + }).(MetricsSearchOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchInput)(nil)).Elem(), &MetricsSearch{}) + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchArrayInput)(nil)).Elem(), MetricsSearchArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchMapInput)(nil)).Elem(), MetricsSearchMap{}) + pulumi.RegisterOutputType(MetricsSearchOutput{}) + pulumi.RegisterOutputType(MetricsSearchArrayOutput{}) + pulumi.RegisterOutputType(MetricsSearchMapOutput{}) +} diff --git a/sdk/go/sumologic/monitor.go b/sdk/go/sumologic/monitor.go index 7a39667c..eaa6e424 100644 --- a/sdk/go/sumologic/monitor.go +++ b/sdk/go/sumologic/monitor.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -301,7 +302,7 @@ type Monitor struct { MonitorType pulumi.StringOutput `pulumi:"monitorType"` // The name of the monitor. The name must be alphanumeric. Name pulumi.StringOutput `pulumi:"name"` - // The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. + // The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. NotificationGroupFields pulumi.StringArrayOutput `pulumi:"notificationGroupFields"` // The notifications the monitor will send when the respective trigger condition is met. Notifications MonitorNotificationArrayOutput `pulumi:"notifications"` @@ -339,6 +340,7 @@ func NewMonitor(ctx *pulumi.Context, if args.MonitorType == nil { return nil, errors.New("invalid value for required argument 'MonitorType'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource Monitor err := ctx.RegisterResource("sumologic:index/monitor:Monitor", name, args, &resource, opts...) if err != nil { @@ -389,7 +391,7 @@ type monitorState struct { MonitorType *string `pulumi:"monitorType"` // The name of the monitor. The name must be alphanumeric. Name *string `pulumi:"name"` - // The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. + // The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. NotificationGroupFields []string `pulumi:"notificationGroupFields"` // The notifications the monitor will send when the respective trigger condition is met. Notifications []MonitorNotification `pulumi:"notifications"` @@ -446,7 +448,7 @@ type MonitorState struct { MonitorType pulumi.StringPtrInput // The name of the monitor. The name must be alphanumeric. Name pulumi.StringPtrInput - // The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. + // The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. NotificationGroupFields pulumi.StringArrayInput // The notifications the monitor will send when the respective trigger condition is met. Notifications MonitorNotificationArrayInput @@ -507,7 +509,7 @@ type monitorArgs struct { MonitorType string `pulumi:"monitorType"` // The name of the monitor. The name must be alphanumeric. Name *string `pulumi:"name"` - // The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. + // The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. NotificationGroupFields []string `pulumi:"notificationGroupFields"` // The notifications the monitor will send when the respective trigger condition is met. Notifications []MonitorNotification `pulumi:"notifications"` @@ -565,7 +567,7 @@ type MonitorArgs struct { MonitorType pulumi.StringInput // The name of the monitor. The name must be alphanumeric. Name pulumi.StringPtrInput - // The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. + // The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. NotificationGroupFields pulumi.StringArrayInput // The notifications the monitor will send when the respective trigger condition is met. Notifications MonitorNotificationArrayInput @@ -753,7 +755,7 @@ func (o MonitorOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *Monitor) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } -// The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. +// The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. func (o MonitorOutput) NotificationGroupFields() pulumi.StringArrayOutput { return o.ApplyT(func(v *Monitor) pulumi.StringArrayOutput { return v.NotificationGroupFields }).(pulumi.StringArrayOutput) } diff --git a/sdk/go/sumologic/monitorFolder.go b/sdk/go/sumologic/monitorFolder.go index 9b269ec2..bb27b3a8 100644 --- a/sdk/go/sumologic/monitorFolder.go +++ b/sdk/go/sumologic/monitorFolder.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -88,6 +89,7 @@ func NewMonitorFolder(ctx *pulumi.Context, if args.Description == nil { return nil, errors.New("invalid value for required argument 'Description'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource MonitorFolder err := ctx.RegisterResource("sumologic:index/monitorFolder:MonitorFolder", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/partition.go b/sdk/go/sumologic/partition.go index bd917533..0d4558dd 100644 --- a/sdk/go/sumologic/partition.go +++ b/sdk/go/sumologic/partition.go @@ -7,6 +7,7 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -57,6 +58,7 @@ func NewPartition(ctx *pulumi.Context, args = &PartitionArgs{} } + opts = internal.PkgResourceDefaultOpts(opts) var resource Partition err := ctx.RegisterResource("sumologic:index/partition:Partition", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/passwordPolicy.go b/sdk/go/sumologic/passwordPolicy.go index 8d02c627..34f3817e 100644 --- a/sdk/go/sumologic/passwordPolicy.go +++ b/sdk/go/sumologic/passwordPolicy.go @@ -7,6 +7,7 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -91,6 +92,7 @@ func NewPasswordPolicy(ctx *pulumi.Context, args = &PasswordPolicyArgs{} } + opts = internal.PkgResourceDefaultOpts(opts) var resource PasswordPolicy err := ctx.RegisterResource("sumologic:index/passwordPolicy:PasswordPolicy", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/policies.go b/sdk/go/sumologic/policies.go index b277ff0e..d4d5bef6 100644 --- a/sdk/go/sumologic/policies.go +++ b/sdk/go/sumologic/policies.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -109,6 +110,7 @@ func NewPolicies(ctx *pulumi.Context, if args.UserConcurrentSessionsLimit == nil { return nil, errors.New("invalid value for required argument 'UserConcurrentSessionsLimit'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource Policies err := ctx.RegisterResource("sumologic:index/policies:Policies", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/pollingSource.go b/sdk/go/sumologic/pollingSource.go index 9872e5a6..d10a6b07 100644 --- a/sdk/go/sumologic/pollingSource.go +++ b/sdk/go/sumologic/pollingSource.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -94,6 +95,7 @@ func NewPollingSource(ctx *pulumi.Context, if args.ScanInterval == nil { return nil, errors.New("invalid value for required argument 'ScanInterval'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource PollingSource err := ctx.RegisterResource("sumologic:index/pollingSource:PollingSource", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/provider.go b/sdk/go/sumologic/provider.go index 8a72580f..1a0136cf 100644 --- a/sdk/go/sumologic/provider.go +++ b/sdk/go/sumologic/provider.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -38,15 +39,16 @@ func NewProvider(ctx *pulumi.Context, return nil, errors.New("invalid value for required argument 'AccessKey'") } if args.BaseUrl == nil { - if d := getEnvOrDefault(nil, nil, "SUMOLOGIC_BASE_URL"); d != nil { + if d := internal.GetEnvOrDefault(nil, nil, "SUMOLOGIC_BASE_URL"); d != nil { args.BaseUrl = pulumi.StringPtr(d.(string)) } } if args.Environment == nil { - if d := getEnvOrDefault(nil, nil, "SUMOLOGIC_ENVIRONMENT"); d != nil { + if d := internal.GetEnvOrDefault(nil, nil, "SUMOLOGIC_ENVIRONMENT"); d != nil { args.Environment = pulumi.StringPtr(d.(string)) } } + opts = internal.PkgResourceDefaultOpts(opts) var resource Provider err := ctx.RegisterResource("pulumi:providers:sumologic", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/pulumiTypes.go b/sdk/go/sumologic/pulumiTypes.go index 6ea21222..2d7c645c 100644 --- a/sdk/go/sumologic/pulumiTypes.go +++ b/sdk/go/sumologic/pulumiTypes.go @@ -7,9 +7,12 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) +var _ = internal.GetEnvOrDefault + type AwsInventorySourceAuthentication struct { AccessKey *string `pulumi:"accessKey"` AuthProviderX509CertUrl *string `pulumi:"authProviderX509CertUrl"` diff --git a/sdk/go/sumologic/pulumiTypes1.go b/sdk/go/sumologic/pulumiTypes1.go index 19f2ccce..9b0bec69 100644 --- a/sdk/go/sumologic/pulumiTypes1.go +++ b/sdk/go/sumologic/pulumiTypes1.go @@ -7,9 +7,12 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) +var _ = internal.GetEnvOrDefault + type HierarchyLevelNextLevelsWithConditionLevelNextLevelsWithConditionLevelNextLevelsWithConditionLevelNextLevelsWithConditionLevelNextLevelsWithConditionLevelNextLevelNextLevelsWithCondition struct { // Condition to be checked against for level.entityType value, for now full string match. Condition string `pulumi:"condition"` @@ -2408,12 +2411,17 @@ func (o LocalFileSourceFilterArrayOutput) Index(i pulumi.IntInput) LocalFileSour } type LogSearchQueryParameter struct { + // The data type of the parameter. Supported values are: + // 1. `NUMBER` + // 2. `STRING` + // 3. `ANY` + // 4. `KEYWORD` DataType string `pulumi:"dataType"` // Description of the search. Description *string `pulumi:"description"` // Name of the search. Name string `pulumi:"name"` - // Value of scheduled search parameter. + // The default value for the parameter. It should be compatible with the type set in the `dataType` field. Value string `pulumi:"value"` } @@ -2429,12 +2437,17 @@ type LogSearchQueryParameterInput interface { } type LogSearchQueryParameterArgs struct { + // The data type of the parameter. Supported values are: + // 1. `NUMBER` + // 2. `STRING` + // 3. `ANY` + // 4. `KEYWORD` DataType pulumi.StringInput `pulumi:"dataType"` // Description of the search. Description pulumi.StringPtrInput `pulumi:"description"` // Name of the search. Name pulumi.StringInput `pulumi:"name"` - // Value of scheduled search parameter. + // The default value for the parameter. It should be compatible with the type set in the `dataType` field. Value pulumi.StringInput `pulumi:"value"` } @@ -2489,6 +2502,11 @@ func (o LogSearchQueryParameterOutput) ToLogSearchQueryParameterOutputWithContex return o } +// The data type of the parameter. Supported values are: +// 1. `NUMBER` +// 2. `STRING` +// 3. `ANY` +// 4. `KEYWORD` func (o LogSearchQueryParameterOutput) DataType() pulumi.StringOutput { return o.ApplyT(func(v LogSearchQueryParameter) string { return v.DataType }).(pulumi.StringOutput) } @@ -2503,7 +2521,7 @@ func (o LogSearchQueryParameterOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v LogSearchQueryParameter) string { return v.Name }).(pulumi.StringOutput) } -// Value of scheduled search parameter. +// The default value for the parameter. It should be compatible with the type set in the `dataType` field. func (o LogSearchQueryParameterOutput) Value() pulumi.StringOutput { return o.ApplyT(func(v LogSearchQueryParameter) string { return v.Value }).(pulumi.StringOutput) } @@ -4511,7 +4529,7 @@ func (o LogSearchScheduleNotificationWebhookSearchNotificationPtrOutput) Webhook type LogSearchScheduleParameter struct { // Name of the search. Name string `pulumi:"name"` - // Value of scheduled search parameter. + // The default value for the parameter. It should be compatible with the type set in the `dataType` field. Value string `pulumi:"value"` } @@ -4529,7 +4547,7 @@ type LogSearchScheduleParameterInput interface { type LogSearchScheduleParameterArgs struct { // Name of the search. Name pulumi.StringInput `pulumi:"name"` - // Value of scheduled search parameter. + // The default value for the parameter. It should be compatible with the type set in the `dataType` field. Value pulumi.StringInput `pulumi:"value"` } @@ -4589,7 +4607,7 @@ func (o LogSearchScheduleParameterOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v LogSearchScheduleParameter) string { return v.Name }).(pulumi.StringOutput) } -// Value of scheduled search parameter. +// The default value for the parameter. It should be compatible with the type set in the `dataType` field. func (o LogSearchScheduleParameterOutput) Value() pulumi.StringOutput { return o.ApplyT(func(v LogSearchScheduleParameter) string { return v.Value }).(pulumi.StringOutput) } @@ -9581,331 +9599,2482 @@ func (o MetadataSourcePathPtrOutput) Type() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -type MonitorFolderObjPermission struct { - // A Set of Permissions. Valid Permission Values: - Permissions []string `pulumi:"permissions"` - // A Role ID or the Org ID of the account - SubjectId string `pulumi:"subjectId"` - // Valid values: - SubjectType string `pulumi:"subjectType"` +type MetricsSearchMetricsQuery struct { + // A metric query consists of a metric, one or more filters and optionally, one or more [Metrics Operators](https://help.sumologic.com/?cid=10144). + // Strictly speaking, both filters and operators are optional. + // Most of the [Metrics Operators](https://help.sumologic.com/?cid=10144) are allowed in the query string except `fillmissing`, `outlier`, `quantize` and `timeshift`. + // In practice, your metric queries will almost always contain filters that narrow the scope of your query. + // For more information about the query language see [Metrics Queries](https://help.sumologic.com/?cid=1079). + Query string `pulumi:"query"` + // Row id for the query row, A to Z letter. + RowId string `pulumi:"rowId"` } -// MonitorFolderObjPermissionInput is an input type that accepts MonitorFolderObjPermissionArgs and MonitorFolderObjPermissionOutput values. -// You can construct a concrete instance of `MonitorFolderObjPermissionInput` via: +// MetricsSearchMetricsQueryInput is an input type that accepts MetricsSearchMetricsQueryArgs and MetricsSearchMetricsQueryOutput values. +// You can construct a concrete instance of `MetricsSearchMetricsQueryInput` via: // -// MonitorFolderObjPermissionArgs{...} -type MonitorFolderObjPermissionInput interface { +// MetricsSearchMetricsQueryArgs{...} +type MetricsSearchMetricsQueryInput interface { pulumi.Input - ToMonitorFolderObjPermissionOutput() MonitorFolderObjPermissionOutput - ToMonitorFolderObjPermissionOutputWithContext(context.Context) MonitorFolderObjPermissionOutput + ToMetricsSearchMetricsQueryOutput() MetricsSearchMetricsQueryOutput + ToMetricsSearchMetricsQueryOutputWithContext(context.Context) MetricsSearchMetricsQueryOutput } -type MonitorFolderObjPermissionArgs struct { - // A Set of Permissions. Valid Permission Values: - Permissions pulumi.StringArrayInput `pulumi:"permissions"` - // A Role ID or the Org ID of the account - SubjectId pulumi.StringInput `pulumi:"subjectId"` - // Valid values: - SubjectType pulumi.StringInput `pulumi:"subjectType"` +type MetricsSearchMetricsQueryArgs struct { + // A metric query consists of a metric, one or more filters and optionally, one or more [Metrics Operators](https://help.sumologic.com/?cid=10144). + // Strictly speaking, both filters and operators are optional. + // Most of the [Metrics Operators](https://help.sumologic.com/?cid=10144) are allowed in the query string except `fillmissing`, `outlier`, `quantize` and `timeshift`. + // In practice, your metric queries will almost always contain filters that narrow the scope of your query. + // For more information about the query language see [Metrics Queries](https://help.sumologic.com/?cid=1079). + Query pulumi.StringInput `pulumi:"query"` + // Row id for the query row, A to Z letter. + RowId pulumi.StringInput `pulumi:"rowId"` } -func (MonitorFolderObjPermissionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*MonitorFolderObjPermission)(nil)).Elem() +func (MetricsSearchMetricsQueryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MetricsSearchMetricsQuery)(nil)).Elem() } -func (i MonitorFolderObjPermissionArgs) ToMonitorFolderObjPermissionOutput() MonitorFolderObjPermissionOutput { - return i.ToMonitorFolderObjPermissionOutputWithContext(context.Background()) +func (i MetricsSearchMetricsQueryArgs) ToMetricsSearchMetricsQueryOutput() MetricsSearchMetricsQueryOutput { + return i.ToMetricsSearchMetricsQueryOutputWithContext(context.Background()) } -func (i MonitorFolderObjPermissionArgs) ToMonitorFolderObjPermissionOutputWithContext(ctx context.Context) MonitorFolderObjPermissionOutput { - return pulumi.ToOutputWithContext(ctx, i).(MonitorFolderObjPermissionOutput) +func (i MetricsSearchMetricsQueryArgs) ToMetricsSearchMetricsQueryOutputWithContext(ctx context.Context) MetricsSearchMetricsQueryOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchMetricsQueryOutput) } -// MonitorFolderObjPermissionArrayInput is an input type that accepts MonitorFolderObjPermissionArray and MonitorFolderObjPermissionArrayOutput values. -// You can construct a concrete instance of `MonitorFolderObjPermissionArrayInput` via: +// MetricsSearchMetricsQueryArrayInput is an input type that accepts MetricsSearchMetricsQueryArray and MetricsSearchMetricsQueryArrayOutput values. +// You can construct a concrete instance of `MetricsSearchMetricsQueryArrayInput` via: // -// MonitorFolderObjPermissionArray{ MonitorFolderObjPermissionArgs{...} } -type MonitorFolderObjPermissionArrayInput interface { +// MetricsSearchMetricsQueryArray{ MetricsSearchMetricsQueryArgs{...} } +type MetricsSearchMetricsQueryArrayInput interface { pulumi.Input - ToMonitorFolderObjPermissionArrayOutput() MonitorFolderObjPermissionArrayOutput - ToMonitorFolderObjPermissionArrayOutputWithContext(context.Context) MonitorFolderObjPermissionArrayOutput + ToMetricsSearchMetricsQueryArrayOutput() MetricsSearchMetricsQueryArrayOutput + ToMetricsSearchMetricsQueryArrayOutputWithContext(context.Context) MetricsSearchMetricsQueryArrayOutput } -type MonitorFolderObjPermissionArray []MonitorFolderObjPermissionInput +type MetricsSearchMetricsQueryArray []MetricsSearchMetricsQueryInput -func (MonitorFolderObjPermissionArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]MonitorFolderObjPermission)(nil)).Elem() +func (MetricsSearchMetricsQueryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]MetricsSearchMetricsQuery)(nil)).Elem() } -func (i MonitorFolderObjPermissionArray) ToMonitorFolderObjPermissionArrayOutput() MonitorFolderObjPermissionArrayOutput { - return i.ToMonitorFolderObjPermissionArrayOutputWithContext(context.Background()) +func (i MetricsSearchMetricsQueryArray) ToMetricsSearchMetricsQueryArrayOutput() MetricsSearchMetricsQueryArrayOutput { + return i.ToMetricsSearchMetricsQueryArrayOutputWithContext(context.Background()) } -func (i MonitorFolderObjPermissionArray) ToMonitorFolderObjPermissionArrayOutputWithContext(ctx context.Context) MonitorFolderObjPermissionArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(MonitorFolderObjPermissionArrayOutput) +func (i MetricsSearchMetricsQueryArray) ToMetricsSearchMetricsQueryArrayOutputWithContext(ctx context.Context) MetricsSearchMetricsQueryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchMetricsQueryArrayOutput) } -type MonitorFolderObjPermissionOutput struct{ *pulumi.OutputState } +type MetricsSearchMetricsQueryOutput struct{ *pulumi.OutputState } -func (MonitorFolderObjPermissionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MonitorFolderObjPermission)(nil)).Elem() +func (MetricsSearchMetricsQueryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MetricsSearchMetricsQuery)(nil)).Elem() } -func (o MonitorFolderObjPermissionOutput) ToMonitorFolderObjPermissionOutput() MonitorFolderObjPermissionOutput { +func (o MetricsSearchMetricsQueryOutput) ToMetricsSearchMetricsQueryOutput() MetricsSearchMetricsQueryOutput { return o } -func (o MonitorFolderObjPermissionOutput) ToMonitorFolderObjPermissionOutputWithContext(ctx context.Context) MonitorFolderObjPermissionOutput { +func (o MetricsSearchMetricsQueryOutput) ToMetricsSearchMetricsQueryOutputWithContext(ctx context.Context) MetricsSearchMetricsQueryOutput { return o } -// A Set of Permissions. Valid Permission Values: -func (o MonitorFolderObjPermissionOutput) Permissions() pulumi.StringArrayOutput { - return o.ApplyT(func(v MonitorFolderObjPermission) []string { return v.Permissions }).(pulumi.StringArrayOutput) -} - -// A Role ID or the Org ID of the account -func (o MonitorFolderObjPermissionOutput) SubjectId() pulumi.StringOutput { - return o.ApplyT(func(v MonitorFolderObjPermission) string { return v.SubjectId }).(pulumi.StringOutput) +// A metric query consists of a metric, one or more filters and optionally, one or more [Metrics Operators](https://help.sumologic.com/?cid=10144). +// Strictly speaking, both filters and operators are optional. +// Most of the [Metrics Operators](https://help.sumologic.com/?cid=10144) are allowed in the query string except `fillmissing`, `outlier`, `quantize` and `timeshift`. +// In practice, your metric queries will almost always contain filters that narrow the scope of your query. +// For more information about the query language see [Metrics Queries](https://help.sumologic.com/?cid=1079). +func (o MetricsSearchMetricsQueryOutput) Query() pulumi.StringOutput { + return o.ApplyT(func(v MetricsSearchMetricsQuery) string { return v.Query }).(pulumi.StringOutput) } -// Valid values: -func (o MonitorFolderObjPermissionOutput) SubjectType() pulumi.StringOutput { - return o.ApplyT(func(v MonitorFolderObjPermission) string { return v.SubjectType }).(pulumi.StringOutput) +// Row id for the query row, A to Z letter. +func (o MetricsSearchMetricsQueryOutput) RowId() pulumi.StringOutput { + return o.ApplyT(func(v MetricsSearchMetricsQuery) string { return v.RowId }).(pulumi.StringOutput) } -type MonitorFolderObjPermissionArrayOutput struct{ *pulumi.OutputState } +type MetricsSearchMetricsQueryArrayOutput struct{ *pulumi.OutputState } -func (MonitorFolderObjPermissionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]MonitorFolderObjPermission)(nil)).Elem() +func (MetricsSearchMetricsQueryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]MetricsSearchMetricsQuery)(nil)).Elem() } -func (o MonitorFolderObjPermissionArrayOutput) ToMonitorFolderObjPermissionArrayOutput() MonitorFolderObjPermissionArrayOutput { +func (o MetricsSearchMetricsQueryArrayOutput) ToMetricsSearchMetricsQueryArrayOutput() MetricsSearchMetricsQueryArrayOutput { return o } -func (o MonitorFolderObjPermissionArrayOutput) ToMonitorFolderObjPermissionArrayOutputWithContext(ctx context.Context) MonitorFolderObjPermissionArrayOutput { +func (o MetricsSearchMetricsQueryArrayOutput) ToMetricsSearchMetricsQueryArrayOutputWithContext(ctx context.Context) MetricsSearchMetricsQueryArrayOutput { return o } -func (o MonitorFolderObjPermissionArrayOutput) Index(i pulumi.IntInput) MonitorFolderObjPermissionOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) MonitorFolderObjPermission { - return vs[0].([]MonitorFolderObjPermission)[vs[1].(int)] - }).(MonitorFolderObjPermissionOutput) +func (o MetricsSearchMetricsQueryArrayOutput) Index(i pulumi.IntInput) MetricsSearchMetricsQueryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) MetricsSearchMetricsQuery { + return vs[0].([]MetricsSearchMetricsQuery)[vs[1].(int)] + }).(MetricsSearchMetricsQueryOutput) } -type MonitorNotification struct { - Notification MonitorNotificationNotification `pulumi:"notification"` - RunForTriggerTypes []string `pulumi:"runForTriggerTypes"` +type MetricsSearchTimeRange struct { + // Bounded time range. See + // beginBoundedTimeRange schema schema for details. + BeginBoundedTimeRange *MetricsSearchTimeRangeBeginBoundedTimeRange `pulumi:"beginBoundedTimeRange"` + // Literal time range. See + // completeLiteralTimeRange schema for details. + CompleteLiteralTimeRange *MetricsSearchTimeRangeCompleteLiteralTimeRange `pulumi:"completeLiteralTimeRange"` } -// MonitorNotificationInput is an input type that accepts MonitorNotificationArgs and MonitorNotificationOutput values. -// You can construct a concrete instance of `MonitorNotificationInput` via: +// MetricsSearchTimeRangeInput is an input type that accepts MetricsSearchTimeRangeArgs and MetricsSearchTimeRangeOutput values. +// You can construct a concrete instance of `MetricsSearchTimeRangeInput` via: // -// MonitorNotificationArgs{...} -type MonitorNotificationInput interface { +// MetricsSearchTimeRangeArgs{...} +type MetricsSearchTimeRangeInput interface { pulumi.Input - ToMonitorNotificationOutput() MonitorNotificationOutput - ToMonitorNotificationOutputWithContext(context.Context) MonitorNotificationOutput + ToMetricsSearchTimeRangeOutput() MetricsSearchTimeRangeOutput + ToMetricsSearchTimeRangeOutputWithContext(context.Context) MetricsSearchTimeRangeOutput } -type MonitorNotificationArgs struct { - Notification MonitorNotificationNotificationInput `pulumi:"notification"` - RunForTriggerTypes pulumi.StringArrayInput `pulumi:"runForTriggerTypes"` +type MetricsSearchTimeRangeArgs struct { + // Bounded time range. See + // beginBoundedTimeRange schema schema for details. + BeginBoundedTimeRange MetricsSearchTimeRangeBeginBoundedTimeRangePtrInput `pulumi:"beginBoundedTimeRange"` + // Literal time range. See + // completeLiteralTimeRange schema for details. + CompleteLiteralTimeRange MetricsSearchTimeRangeCompleteLiteralTimeRangePtrInput `pulumi:"completeLiteralTimeRange"` } -func (MonitorNotificationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*MonitorNotification)(nil)).Elem() +func (MetricsSearchTimeRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MetricsSearchTimeRange)(nil)).Elem() } -func (i MonitorNotificationArgs) ToMonitorNotificationOutput() MonitorNotificationOutput { - return i.ToMonitorNotificationOutputWithContext(context.Background()) +func (i MetricsSearchTimeRangeArgs) ToMetricsSearchTimeRangeOutput() MetricsSearchTimeRangeOutput { + return i.ToMetricsSearchTimeRangeOutputWithContext(context.Background()) } -func (i MonitorNotificationArgs) ToMonitorNotificationOutputWithContext(ctx context.Context) MonitorNotificationOutput { - return pulumi.ToOutputWithContext(ctx, i).(MonitorNotificationOutput) +func (i MetricsSearchTimeRangeArgs) ToMetricsSearchTimeRangeOutputWithContext(ctx context.Context) MetricsSearchTimeRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeOutput) } -// MonitorNotificationArrayInput is an input type that accepts MonitorNotificationArray and MonitorNotificationArrayOutput values. -// You can construct a concrete instance of `MonitorNotificationArrayInput` via: +func (i MetricsSearchTimeRangeArgs) ToMetricsSearchTimeRangePtrOutput() MetricsSearchTimeRangePtrOutput { + return i.ToMetricsSearchTimeRangePtrOutputWithContext(context.Background()) +} + +func (i MetricsSearchTimeRangeArgs) ToMetricsSearchTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeOutput).ToMetricsSearchTimeRangePtrOutputWithContext(ctx) +} + +// MetricsSearchTimeRangePtrInput is an input type that accepts MetricsSearchTimeRangeArgs, MetricsSearchTimeRangePtr and MetricsSearchTimeRangePtrOutput values. +// You can construct a concrete instance of `MetricsSearchTimeRangePtrInput` via: // -// MonitorNotificationArray{ MonitorNotificationArgs{...} } -type MonitorNotificationArrayInput interface { +// MetricsSearchTimeRangeArgs{...} +// +// or: +// +// nil +type MetricsSearchTimeRangePtrInput interface { pulumi.Input - ToMonitorNotificationArrayOutput() MonitorNotificationArrayOutput - ToMonitorNotificationArrayOutputWithContext(context.Context) MonitorNotificationArrayOutput + ToMetricsSearchTimeRangePtrOutput() MetricsSearchTimeRangePtrOutput + ToMetricsSearchTimeRangePtrOutputWithContext(context.Context) MetricsSearchTimeRangePtrOutput } -type MonitorNotificationArray []MonitorNotificationInput +type metricsSearchTimeRangePtrType MetricsSearchTimeRangeArgs -func (MonitorNotificationArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]MonitorNotification)(nil)).Elem() +func MetricsSearchTimeRangePtr(v *MetricsSearchTimeRangeArgs) MetricsSearchTimeRangePtrInput { + return (*metricsSearchTimeRangePtrType)(v) } -func (i MonitorNotificationArray) ToMonitorNotificationArrayOutput() MonitorNotificationArrayOutput { - return i.ToMonitorNotificationArrayOutputWithContext(context.Background()) +func (*metricsSearchTimeRangePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MetricsSearchTimeRange)(nil)).Elem() } -func (i MonitorNotificationArray) ToMonitorNotificationArrayOutputWithContext(ctx context.Context) MonitorNotificationArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(MonitorNotificationArrayOutput) +func (i *metricsSearchTimeRangePtrType) ToMetricsSearchTimeRangePtrOutput() MetricsSearchTimeRangePtrOutput { + return i.ToMetricsSearchTimeRangePtrOutputWithContext(context.Background()) } -type MonitorNotificationOutput struct{ *pulumi.OutputState } +func (i *metricsSearchTimeRangePtrType) ToMetricsSearchTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangePtrOutput) +} -func (MonitorNotificationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MonitorNotification)(nil)).Elem() +type MetricsSearchTimeRangeOutput struct{ *pulumi.OutputState } + +func (MetricsSearchTimeRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MetricsSearchTimeRange)(nil)).Elem() } -func (o MonitorNotificationOutput) ToMonitorNotificationOutput() MonitorNotificationOutput { +func (o MetricsSearchTimeRangeOutput) ToMetricsSearchTimeRangeOutput() MetricsSearchTimeRangeOutput { return o } -func (o MonitorNotificationOutput) ToMonitorNotificationOutputWithContext(ctx context.Context) MonitorNotificationOutput { +func (o MetricsSearchTimeRangeOutput) ToMetricsSearchTimeRangeOutputWithContext(ctx context.Context) MetricsSearchTimeRangeOutput { return o } -func (o MonitorNotificationOutput) Notification() MonitorNotificationNotificationOutput { - return o.ApplyT(func(v MonitorNotification) MonitorNotificationNotification { return v.Notification }).(MonitorNotificationNotificationOutput) +func (o MetricsSearchTimeRangeOutput) ToMetricsSearchTimeRangePtrOutput() MetricsSearchTimeRangePtrOutput { + return o.ToMetricsSearchTimeRangePtrOutputWithContext(context.Background()) } -func (o MonitorNotificationOutput) RunForTriggerTypes() pulumi.StringArrayOutput { - return o.ApplyT(func(v MonitorNotification) []string { return v.RunForTriggerTypes }).(pulumi.StringArrayOutput) +func (o MetricsSearchTimeRangeOutput) ToMetricsSearchTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MetricsSearchTimeRange) *MetricsSearchTimeRange { + return &v + }).(MetricsSearchTimeRangePtrOutput) } -type MonitorNotificationArrayOutput struct{ *pulumi.OutputState } +// Bounded time range. See +// beginBoundedTimeRange schema schema for details. +func (o MetricsSearchTimeRangeOutput) BeginBoundedTimeRange() MetricsSearchTimeRangeBeginBoundedTimeRangePtrOutput { + return o.ApplyT(func(v MetricsSearchTimeRange) *MetricsSearchTimeRangeBeginBoundedTimeRange { + return v.BeginBoundedTimeRange + }).(MetricsSearchTimeRangeBeginBoundedTimeRangePtrOutput) +} -func (MonitorNotificationArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]MonitorNotification)(nil)).Elem() +// Literal time range. See +// completeLiteralTimeRange schema for details. +func (o MetricsSearchTimeRangeOutput) CompleteLiteralTimeRange() MetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutput { + return o.ApplyT(func(v MetricsSearchTimeRange) *MetricsSearchTimeRangeCompleteLiteralTimeRange { + return v.CompleteLiteralTimeRange + }).(MetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutput) } -func (o MonitorNotificationArrayOutput) ToMonitorNotificationArrayOutput() MonitorNotificationArrayOutput { +type MetricsSearchTimeRangePtrOutput struct{ *pulumi.OutputState } + +func (MetricsSearchTimeRangePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MetricsSearchTimeRange)(nil)).Elem() +} + +func (o MetricsSearchTimeRangePtrOutput) ToMetricsSearchTimeRangePtrOutput() MetricsSearchTimeRangePtrOutput { return o } -func (o MonitorNotificationArrayOutput) ToMonitorNotificationArrayOutputWithContext(ctx context.Context) MonitorNotificationArrayOutput { +func (o MetricsSearchTimeRangePtrOutput) ToMetricsSearchTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangePtrOutput { return o } -func (o MonitorNotificationArrayOutput) Index(i pulumi.IntInput) MonitorNotificationOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) MonitorNotification { - return vs[0].([]MonitorNotification)[vs[1].(int)] - }).(MonitorNotificationOutput) +func (o MetricsSearchTimeRangePtrOutput) Elem() MetricsSearchTimeRangeOutput { + return o.ApplyT(func(v *MetricsSearchTimeRange) MetricsSearchTimeRange { + if v != nil { + return *v + } + var ret MetricsSearchTimeRange + return ret + }).(MetricsSearchTimeRangeOutput) } -type MonitorNotificationNotification struct { - // Deprecated: The field `action_type` is deprecated and will be removed in a future release of the provider - please use `connection_type` instead. - ActionType *string `pulumi:"actionType"` - ConnectionId *string `pulumi:"connectionId"` - ConnectionType *string `pulumi:"connectionType"` - MessageBody *string `pulumi:"messageBody"` - PayloadOverride *string `pulumi:"payloadOverride"` - Recipients []string `pulumi:"recipients"` - ResolutionPayloadOverride *string `pulumi:"resolutionPayloadOverride"` - Subject *string `pulumi:"subject"` - TimeZone *string `pulumi:"timeZone"` +// Bounded time range. See +// beginBoundedTimeRange schema schema for details. +func (o MetricsSearchTimeRangePtrOutput) BeginBoundedTimeRange() MetricsSearchTimeRangeBeginBoundedTimeRangePtrOutput { + return o.ApplyT(func(v *MetricsSearchTimeRange) *MetricsSearchTimeRangeBeginBoundedTimeRange { + if v == nil { + return nil + } + return v.BeginBoundedTimeRange + }).(MetricsSearchTimeRangeBeginBoundedTimeRangePtrOutput) } -// MonitorNotificationNotificationInput is an input type that accepts MonitorNotificationNotificationArgs and MonitorNotificationNotificationOutput values. -// You can construct a concrete instance of `MonitorNotificationNotificationInput` via: +// Literal time range. See +// completeLiteralTimeRange schema for details. +func (o MetricsSearchTimeRangePtrOutput) CompleteLiteralTimeRange() MetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutput { + return o.ApplyT(func(v *MetricsSearchTimeRange) *MetricsSearchTimeRangeCompleteLiteralTimeRange { + if v == nil { + return nil + } + return v.CompleteLiteralTimeRange + }).(MetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRange struct { + // Start boundary of bounded time range. See + // timeRangeBoundary schema for details. + From MetricsSearchTimeRangeBeginBoundedTimeRangeFrom `pulumi:"from"` + // End boundary of bounded time range. See + // timeRangeBoundary schema for details. + To *MetricsSearchTimeRangeBeginBoundedTimeRangeTo `pulumi:"to"` +} + +// MetricsSearchTimeRangeBeginBoundedTimeRangeInput is an input type that accepts MetricsSearchTimeRangeBeginBoundedTimeRangeArgs and MetricsSearchTimeRangeBeginBoundedTimeRangeOutput values. +// You can construct a concrete instance of `MetricsSearchTimeRangeBeginBoundedTimeRangeInput` via: // -// MonitorNotificationNotificationArgs{...} -type MonitorNotificationNotificationInput interface { +// MetricsSearchTimeRangeBeginBoundedTimeRangeArgs{...} +type MetricsSearchTimeRangeBeginBoundedTimeRangeInput interface { pulumi.Input - ToMonitorNotificationNotificationOutput() MonitorNotificationNotificationOutput - ToMonitorNotificationNotificationOutputWithContext(context.Context) MonitorNotificationNotificationOutput + ToMetricsSearchTimeRangeBeginBoundedTimeRangeOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeOutput + ToMetricsSearchTimeRangeBeginBoundedTimeRangeOutputWithContext(context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeOutput } -type MonitorNotificationNotificationArgs struct { - // Deprecated: The field `action_type` is deprecated and will be removed in a future release of the provider - please use `connection_type` instead. - ActionType pulumi.StringPtrInput `pulumi:"actionType"` - ConnectionId pulumi.StringPtrInput `pulumi:"connectionId"` - ConnectionType pulumi.StringPtrInput `pulumi:"connectionType"` - MessageBody pulumi.StringPtrInput `pulumi:"messageBody"` - PayloadOverride pulumi.StringPtrInput `pulumi:"payloadOverride"` - Recipients pulumi.StringArrayInput `pulumi:"recipients"` - ResolutionPayloadOverride pulumi.StringPtrInput `pulumi:"resolutionPayloadOverride"` - Subject pulumi.StringPtrInput `pulumi:"subject"` - TimeZone pulumi.StringPtrInput `pulumi:"timeZone"` +type MetricsSearchTimeRangeBeginBoundedTimeRangeArgs struct { + // Start boundary of bounded time range. See + // timeRangeBoundary schema for details. + From MetricsSearchTimeRangeBeginBoundedTimeRangeFromInput `pulumi:"from"` + // End boundary of bounded time range. See + // timeRangeBoundary schema for details. + To MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrInput `pulumi:"to"` } -func (MonitorNotificationNotificationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*MonitorNotificationNotification)(nil)).Elem() +func (MetricsSearchTimeRangeBeginBoundedTimeRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRange)(nil)).Elem() } -func (i MonitorNotificationNotificationArgs) ToMonitorNotificationNotificationOutput() MonitorNotificationNotificationOutput { - return i.ToMonitorNotificationNotificationOutputWithContext(context.Background()) +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeOutputWithContext(context.Background()) } -func (i MonitorNotificationNotificationArgs) ToMonitorNotificationNotificationOutputWithContext(ctx context.Context) MonitorNotificationNotificationOutput { - return pulumi.ToOutputWithContext(ctx, i).(MonitorNotificationNotificationOutput) +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeOutput) } -type MonitorNotificationNotificationOutput struct{ *pulumi.OutputState } - -func (MonitorNotificationNotificationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MonitorNotificationNotification)(nil)).Elem() +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangePtrOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangePtrOutputWithContext(context.Background()) } -func (o MonitorNotificationNotificationOutput) ToMonitorNotificationNotificationOutput() MonitorNotificationNotificationOutput { - return o +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeOutput).ToMetricsSearchTimeRangeBeginBoundedTimeRangePtrOutputWithContext(ctx) } -func (o MonitorNotificationNotificationOutput) ToMonitorNotificationNotificationOutputWithContext(ctx context.Context) MonitorNotificationNotificationOutput { - return o -} +// MetricsSearchTimeRangeBeginBoundedTimeRangePtrInput is an input type that accepts MetricsSearchTimeRangeBeginBoundedTimeRangeArgs, MetricsSearchTimeRangeBeginBoundedTimeRangePtr and MetricsSearchTimeRangeBeginBoundedTimeRangePtrOutput values. +// You can construct a concrete instance of `MetricsSearchTimeRangeBeginBoundedTimeRangePtrInput` via: +// +// MetricsSearchTimeRangeBeginBoundedTimeRangeArgs{...} +// +// or: +// +// nil +type MetricsSearchTimeRangeBeginBoundedTimeRangePtrInput interface { + pulumi.Input -// Deprecated: The field `action_type` is deprecated and will be removed in a future release of the provider - please use `connection_type` instead. -func (o MonitorNotificationNotificationOutput) ActionType() pulumi.StringPtrOutput { - return o.ApplyT(func(v MonitorNotificationNotification) *string { return v.ActionType }).(pulumi.StringPtrOutput) + ToMetricsSearchTimeRangeBeginBoundedTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangePtrOutput + ToMetricsSearchTimeRangeBeginBoundedTimeRangePtrOutputWithContext(context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangePtrOutput } -func (o MonitorNotificationNotificationOutput) ConnectionId() pulumi.StringPtrOutput { - return o.ApplyT(func(v MonitorNotificationNotification) *string { return v.ConnectionId }).(pulumi.StringPtrOutput) +type metricsSearchTimeRangeBeginBoundedTimeRangePtrType MetricsSearchTimeRangeBeginBoundedTimeRangeArgs + +func MetricsSearchTimeRangeBeginBoundedTimeRangePtr(v *MetricsSearchTimeRangeBeginBoundedTimeRangeArgs) MetricsSearchTimeRangeBeginBoundedTimeRangePtrInput { + return (*metricsSearchTimeRangeBeginBoundedTimeRangePtrType)(v) } -func (o MonitorNotificationNotificationOutput) ConnectionType() pulumi.StringPtrOutput { - return o.ApplyT(func(v MonitorNotificationNotification) *string { return v.ConnectionType }).(pulumi.StringPtrOutput) +func (*metricsSearchTimeRangeBeginBoundedTimeRangePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MetricsSearchTimeRangeBeginBoundedTimeRange)(nil)).Elem() } -func (o MonitorNotificationNotificationOutput) MessageBody() pulumi.StringPtrOutput { - return o.ApplyT(func(v MonitorNotificationNotification) *string { return v.MessageBody }).(pulumi.StringPtrOutput) +func (i *metricsSearchTimeRangeBeginBoundedTimeRangePtrType) ToMetricsSearchTimeRangeBeginBoundedTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangePtrOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangePtrOutputWithContext(context.Background()) } -func (o MonitorNotificationNotificationOutput) PayloadOverride() pulumi.StringPtrOutput { - return o.ApplyT(func(v MonitorNotificationNotification) *string { return v.PayloadOverride }).(pulumi.StringPtrOutput) +func (i *metricsSearchTimeRangeBeginBoundedTimeRangePtrType) ToMetricsSearchTimeRangeBeginBoundedTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangePtrOutput) } -func (o MonitorNotificationNotificationOutput) Recipients() pulumi.StringArrayOutput { - return o.ApplyT(func(v MonitorNotificationNotification) []string { return v.Recipients }).(pulumi.StringArrayOutput) +type MetricsSearchTimeRangeBeginBoundedTimeRangeOutput struct{ *pulumi.OutputState } + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRange)(nil)).Elem() } -func (o MonitorNotificationNotificationOutput) ResolutionPayloadOverride() pulumi.StringPtrOutput { - return o.ApplyT(func(v MonitorNotificationNotification) *string { return v.ResolutionPayloadOverride }).(pulumi.StringPtrOutput) +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeOutput { + return o } -func (o MonitorNotificationNotificationOutput) Subject() pulumi.StringPtrOutput { - return o.ApplyT(func(v MonitorNotificationNotification) *string { return v.Subject }).(pulumi.StringPtrOutput) +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeOutput { + return o } -func (o MonitorNotificationNotificationOutput) TimeZone() pulumi.StringPtrOutput { - return o.ApplyT(func(v MonitorNotificationNotification) *string { return v.TimeZone }).(pulumi.StringPtrOutput) +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangePtrOutput { + return o.ToMetricsSearchTimeRangeBeginBoundedTimeRangePtrOutputWithContext(context.Background()) } -type MonitorObjPermission struct { - // A Set of Permissions. Valid Permission Values: - Permissions []string `pulumi:"permissions"` - // A Role ID or the Org ID of the account - SubjectId string `pulumi:"subjectId"` - // Valid values: - SubjectType string `pulumi:"subjectType"` +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MetricsSearchTimeRangeBeginBoundedTimeRange) *MetricsSearchTimeRangeBeginBoundedTimeRange { + return &v + }).(MetricsSearchTimeRangeBeginBoundedTimeRangePtrOutput) } -// MonitorObjPermissionInput is an input type that accepts MonitorObjPermissionArgs and MonitorObjPermissionOutput values. +// Start boundary of bounded time range. See +// timeRangeBoundary schema for details. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeOutput) From() MetricsSearchTimeRangeBeginBoundedTimeRangeFromOutput { + return o.ApplyT(func(v MetricsSearchTimeRangeBeginBoundedTimeRange) MetricsSearchTimeRangeBeginBoundedTimeRangeFrom { + return v.From + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromOutput) +} + +// End boundary of bounded time range. See +// timeRangeBoundary schema for details. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeOutput) To() MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput { + return o.ApplyT(func(v MetricsSearchTimeRangeBeginBoundedTimeRange) *MetricsSearchTimeRangeBeginBoundedTimeRangeTo { + return v.To + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangePtrOutput struct{ *pulumi.OutputState } + +func (MetricsSearchTimeRangeBeginBoundedTimeRangePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MetricsSearchTimeRangeBeginBoundedTimeRange)(nil)).Elem() +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangePtrOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangePtrOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangePtrOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangePtrOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangePtrOutput) Elem() MetricsSearchTimeRangeBeginBoundedTimeRangeOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeBeginBoundedTimeRange) MetricsSearchTimeRangeBeginBoundedTimeRange { + if v != nil { + return *v + } + var ret MetricsSearchTimeRangeBeginBoundedTimeRange + return ret + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeOutput) +} + +// Start boundary of bounded time range. See +// timeRangeBoundary schema for details. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangePtrOutput) From() MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeBeginBoundedTimeRange) *MetricsSearchTimeRangeBeginBoundedTimeRangeFrom { + if v == nil { + return nil + } + return &v.From + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutput) +} + +// End boundary of bounded time range. See +// timeRangeBoundary schema for details. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangePtrOutput) To() MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeBeginBoundedTimeRange) *MetricsSearchTimeRangeBeginBoundedTimeRangeTo { + if v == nil { + return nil + } + return v.To + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeFrom struct { + // Time since the epoch. + EpochTimeRange *MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange `pulumi:"epochTimeRange"` + // Time in ISO 8601 format. + Iso8601TimeRange *MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange `pulumi:"iso8601TimeRange"` + // Time in literal format. + LiteralTimeRange *MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange `pulumi:"literalTimeRange"` + // Time in relative format. + RelativeTimeRange *MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange `pulumi:"relativeTimeRange"` +} + +// MetricsSearchTimeRangeBeginBoundedTimeRangeFromInput is an input type that accepts MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs and MetricsSearchTimeRangeBeginBoundedTimeRangeFromOutput values. +// You can construct a concrete instance of `MetricsSearchTimeRangeBeginBoundedTimeRangeFromInput` via: +// +// MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs{...} +type MetricsSearchTimeRangeBeginBoundedTimeRangeFromInput interface { + pulumi.Input + + ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromOutput + ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromOutputWithContext(context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromOutput +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs struct { + // Time since the epoch. + EpochTimeRange MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrInput `pulumi:"epochTimeRange"` + // Time in ISO 8601 format. + Iso8601TimeRange MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrInput `pulumi:"iso8601TimeRange"` + // Time in literal format. + LiteralTimeRange MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrInput `pulumi:"literalTimeRange"` + // Time in relative format. + RelativeTimeRange MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrInput `pulumi:"relativeTimeRange"` +} + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeFrom)(nil)).Elem() +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromOutputWithContext(context.Background()) +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromOutput) +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutputWithContext(context.Background()) +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromOutput).ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutputWithContext(ctx) +} + +// MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrInput is an input type that accepts MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs, MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtr and MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutput values. +// You can construct a concrete instance of `MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrInput` via: +// +// MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs{...} +// +// or: +// +// nil +type MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrInput interface { + pulumi.Input + + ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutput + ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutputWithContext(context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutput +} + +type metricsSearchTimeRangeBeginBoundedTimeRangeFromPtrType MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs + +func MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtr(v *MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs) MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrInput { + return (*metricsSearchTimeRangeBeginBoundedTimeRangeFromPtrType)(v) +} + +func (*metricsSearchTimeRangeBeginBoundedTimeRangeFromPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MetricsSearchTimeRangeBeginBoundedTimeRangeFrom)(nil)).Elem() +} + +func (i *metricsSearchTimeRangeBeginBoundedTimeRangeFromPtrType) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutputWithContext(context.Background()) +} + +func (i *metricsSearchTimeRangeBeginBoundedTimeRangeFromPtrType) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeFromOutput struct{ *pulumi.OutputState } + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeFromOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeFrom)(nil)).Elem() +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutput { + return o.ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutputWithContext(context.Background()) +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MetricsSearchTimeRangeBeginBoundedTimeRangeFrom) *MetricsSearchTimeRangeBeginBoundedTimeRangeFrom { + return &v + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutput) +} + +// Time since the epoch. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromOutput) EpochTimeRange() MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutput { + return o.ApplyT(func(v MetricsSearchTimeRangeBeginBoundedTimeRangeFrom) *MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange { + return v.EpochTimeRange + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutput) +} + +// Time in ISO 8601 format. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromOutput) Iso8601TimeRange() MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutput { + return o.ApplyT(func(v MetricsSearchTimeRangeBeginBoundedTimeRangeFrom) *MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange { + return v.Iso8601TimeRange + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutput) +} + +// Time in literal format. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromOutput) LiteralTimeRange() MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutput { + return o.ApplyT(func(v MetricsSearchTimeRangeBeginBoundedTimeRangeFrom) *MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange { + return v.LiteralTimeRange + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutput) +} + +// Time in relative format. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromOutput) RelativeTimeRange() MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutput { + return o.ApplyT(func(v MetricsSearchTimeRangeBeginBoundedTimeRangeFrom) *MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange { + return v.RelativeTimeRange + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutput struct{ *pulumi.OutputState } + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MetricsSearchTimeRangeBeginBoundedTimeRangeFrom)(nil)).Elem() +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutput) Elem() MetricsSearchTimeRangeBeginBoundedTimeRangeFromOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeBeginBoundedTimeRangeFrom) MetricsSearchTimeRangeBeginBoundedTimeRangeFrom { + if v != nil { + return *v + } + var ret MetricsSearchTimeRangeBeginBoundedTimeRangeFrom + return ret + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromOutput) +} + +// Time since the epoch. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutput) EpochTimeRange() MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeBeginBoundedTimeRangeFrom) *MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange { + if v == nil { + return nil + } + return v.EpochTimeRange + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutput) +} + +// Time in ISO 8601 format. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutput) Iso8601TimeRange() MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeBeginBoundedTimeRangeFrom) *MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange { + if v == nil { + return nil + } + return v.Iso8601TimeRange + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutput) +} + +// Time in literal format. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutput) LiteralTimeRange() MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeBeginBoundedTimeRangeFrom) *MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange { + if v == nil { + return nil + } + return v.LiteralTimeRange + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutput) +} + +// Time in relative format. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutput) RelativeTimeRange() MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeBeginBoundedTimeRangeFrom) *MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange { + if v == nil { + return nil + } + return v.RelativeTimeRange + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange struct { + // Time as a number of milliseconds since the epoch. + EpochMillis int `pulumi:"epochMillis"` +} + +// MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeInput is an input type that accepts MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs and MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeOutput values. +// You can construct a concrete instance of `MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeInput` via: +// +// MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs{...} +type MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeInput interface { + pulumi.Input + + ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeOutput + ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeOutputWithContext(context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeOutput +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs struct { + // Time as a number of milliseconds since the epoch. + EpochMillis pulumi.IntInput `pulumi:"epochMillis"` +} + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange)(nil)).Elem() +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeOutputWithContext(context.Background()) +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeOutput) +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutputWithContext(context.Background()) +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeOutput).ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutputWithContext(ctx) +} + +// MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrInput is an input type that accepts MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs, MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtr and MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutput values. +// You can construct a concrete instance of `MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrInput` via: +// +// MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs{...} +// +// or: +// +// nil +type MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrInput interface { + pulumi.Input + + ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutput + ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutputWithContext(context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutput +} + +type metricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrType MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs + +func MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtr(v *MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs) MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrInput { + return (*metricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrType)(v) +} + +func (*metricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange)(nil)).Elem() +} + +func (i *metricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrType) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutputWithContext(context.Background()) +} + +func (i *metricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrType) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeOutput struct{ *pulumi.OutputState } + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange)(nil)).Elem() +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutput { + return o.ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutputWithContext(context.Background()) +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange) *MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange { + return &v + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutput) +} + +// Time as a number of milliseconds since the epoch. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeOutput) EpochMillis() pulumi.IntOutput { + return o.ApplyT(func(v MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange) int { return v.EpochMillis }).(pulumi.IntOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutput struct{ *pulumi.OutputState } + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange)(nil)).Elem() +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutput) Elem() MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange) MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange { + if v != nil { + return *v + } + var ret MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange + return ret + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeOutput) +} + +// Time as a number of milliseconds since the epoch. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutput) EpochMillis() pulumi.IntPtrOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange) *int { + if v == nil { + return nil + } + return &v.EpochMillis + }).(pulumi.IntPtrOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange struct { + // Time as a string in ISO 8601 format. + Iso8601Time string `pulumi:"iso8601Time"` +} + +// MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeInput is an input type that accepts MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs and MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeOutput values. +// You can construct a concrete instance of `MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeInput` via: +// +// MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs{...} +type MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeInput interface { + pulumi.Input + + ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeOutput + ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeOutputWithContext(context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeOutput +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs struct { + // Time as a string in ISO 8601 format. + Iso8601Time pulumi.StringInput `pulumi:"iso8601Time"` +} + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange)(nil)).Elem() +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeOutputWithContext(context.Background()) +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeOutput) +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutputWithContext(context.Background()) +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeOutput).ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutputWithContext(ctx) +} + +// MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrInput is an input type that accepts MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs, MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtr and MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutput values. +// You can construct a concrete instance of `MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrInput` via: +// +// MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs{...} +// +// or: +// +// nil +type MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrInput interface { + pulumi.Input + + ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutput + ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutputWithContext(context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutput +} + +type metricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrType MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs + +func MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtr(v *MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs) MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrInput { + return (*metricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrType)(v) +} + +func (*metricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange)(nil)).Elem() +} + +func (i *metricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrType) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutputWithContext(context.Background()) +} + +func (i *metricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrType) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeOutput struct{ *pulumi.OutputState } + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange)(nil)).Elem() +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutput { + return o.ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutputWithContext(context.Background()) +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange) *MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange { + return &v + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutput) +} + +// Time as a string in ISO 8601 format. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeOutput) Iso8601Time() pulumi.StringOutput { + return o.ApplyT(func(v MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange) string { return v.Iso8601Time }).(pulumi.StringOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutput struct{ *pulumi.OutputState } + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange)(nil)).Elem() +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutput) Elem() MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange) MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange { + if v != nil { + return *v + } + var ret MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange + return ret + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeOutput) +} + +// Time as a string in ISO 8601 format. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutput) Iso8601Time() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange) *string { + if v == nil { + return nil + } + return &v.Iso8601Time + }).(pulumi.StringPtrOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange struct { + // Name of complete literal time range. One of `today`, `yesterday`, `previousWeek`, and + // `previousMonth`. + RangeName string `pulumi:"rangeName"` +} + +// MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeInput is an input type that accepts MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs and MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeOutput values. +// You can construct a concrete instance of `MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeInput` via: +// +// MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs{...} +type MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeInput interface { + pulumi.Input + + ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeOutput + ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeOutputWithContext(context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeOutput +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs struct { + // Name of complete literal time range. One of `today`, `yesterday`, `previousWeek`, and + // `previousMonth`. + RangeName pulumi.StringInput `pulumi:"rangeName"` +} + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange)(nil)).Elem() +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeOutputWithContext(context.Background()) +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeOutput) +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutputWithContext(context.Background()) +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeOutput).ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutputWithContext(ctx) +} + +// MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrInput is an input type that accepts MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs, MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtr and MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutput values. +// You can construct a concrete instance of `MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrInput` via: +// +// MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs{...} +// +// or: +// +// nil +type MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrInput interface { + pulumi.Input + + ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutput + ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutputWithContext(context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutput +} + +type metricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrType MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs + +func MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtr(v *MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs) MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrInput { + return (*metricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrType)(v) +} + +func (*metricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange)(nil)).Elem() +} + +func (i *metricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrType) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutputWithContext(context.Background()) +} + +func (i *metricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrType) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeOutput struct{ *pulumi.OutputState } + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange)(nil)).Elem() +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutput { + return o.ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutputWithContext(context.Background()) +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange) *MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange { + return &v + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutput) +} + +// Name of complete literal time range. One of `today`, `yesterday`, `previousWeek`, and +// `previousMonth`. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeOutput) RangeName() pulumi.StringOutput { + return o.ApplyT(func(v MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange) string { return v.RangeName }).(pulumi.StringOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutput struct{ *pulumi.OutputState } + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange)(nil)).Elem() +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutput) Elem() MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange) MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange { + if v != nil { + return *v + } + var ret MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange + return ret + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeOutput) +} + +// Name of complete literal time range. One of `today`, `yesterday`, `previousWeek`, and +// `previousMonth`. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutput) RangeName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange) *string { + if v == nil { + return nil + } + return &v.RangeName + }).(pulumi.StringPtrOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange struct { + // Relative time as a string consisting of following elements: + // 1. `-` (optional): minus sign indicates time in the past, + // 2. ``: number of time units, + // 3. ``: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + // + // Multiple pairs of `` may be provided, and they may be in any order. For example, + // `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + RelativeTime string `pulumi:"relativeTime"` +} + +// MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeInput is an input type that accepts MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs and MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeOutput values. +// You can construct a concrete instance of `MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeInput` via: +// +// MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs{...} +type MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeInput interface { + pulumi.Input + + ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeOutput + ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeOutputWithContext(context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeOutput +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs struct { + // Relative time as a string consisting of following elements: + // 1. `-` (optional): minus sign indicates time in the past, + // 2. ``: number of time units, + // 3. ``: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + // + // Multiple pairs of `` may be provided, and they may be in any order. For example, + // `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + RelativeTime pulumi.StringInput `pulumi:"relativeTime"` +} + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange)(nil)).Elem() +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeOutputWithContext(context.Background()) +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeOutput) +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutputWithContext(context.Background()) +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeOutput).ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutputWithContext(ctx) +} + +// MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrInput is an input type that accepts MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs, MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtr and MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutput values. +// You can construct a concrete instance of `MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrInput` via: +// +// MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs{...} +// +// or: +// +// nil +type MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrInput interface { + pulumi.Input + + ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutput + ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutputWithContext(context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutput +} + +type metricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrType MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs + +func MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtr(v *MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs) MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrInput { + return (*metricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrType)(v) +} + +func (*metricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange)(nil)).Elem() +} + +func (i *metricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrType) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutputWithContext(context.Background()) +} + +func (i *metricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrType) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeOutput struct{ *pulumi.OutputState } + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange)(nil)).Elem() +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutput { + return o.ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutputWithContext(context.Background()) +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange) *MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange { + return &v + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutput) +} + +// Relative time as a string consisting of following elements: +// 1. `-` (optional): minus sign indicates time in the past, +// 2. ``: number of time units, +// 3. ``: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). +// +// Multiple pairs of `` may be provided, and they may be in any order. For example, +// `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeOutput) RelativeTime() pulumi.StringOutput { + return o.ApplyT(func(v MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange) string { return v.RelativeTime }).(pulumi.StringOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutput struct{ *pulumi.OutputState } + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange)(nil)).Elem() +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutput) Elem() MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange) MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange { + if v != nil { + return *v + } + var ret MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange + return ret + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeOutput) +} + +// Relative time as a string consisting of following elements: +// 1. `-` (optional): minus sign indicates time in the past, +// 2. ``: number of time units, +// 3. ``: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). +// +// Multiple pairs of `` may be provided, and they may be in any order. For example, +// `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutput) RelativeTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange) *string { + if v == nil { + return nil + } + return &v.RelativeTime + }).(pulumi.StringPtrOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeTo struct { + // Time since the epoch. + EpochTimeRange *MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange `pulumi:"epochTimeRange"` + // Time in ISO 8601 format. + Iso8601TimeRange *MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange `pulumi:"iso8601TimeRange"` + // Time in literal format. + LiteralTimeRange *MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange `pulumi:"literalTimeRange"` + // Time in relative format. + RelativeTimeRange *MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange `pulumi:"relativeTimeRange"` +} + +// MetricsSearchTimeRangeBeginBoundedTimeRangeToInput is an input type that accepts MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs and MetricsSearchTimeRangeBeginBoundedTimeRangeToOutput values. +// You can construct a concrete instance of `MetricsSearchTimeRangeBeginBoundedTimeRangeToInput` via: +// +// MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs{...} +type MetricsSearchTimeRangeBeginBoundedTimeRangeToInput interface { + pulumi.Input + + ToMetricsSearchTimeRangeBeginBoundedTimeRangeToOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToOutput + ToMetricsSearchTimeRangeBeginBoundedTimeRangeToOutputWithContext(context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToOutput +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs struct { + // Time since the epoch. + EpochTimeRange MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrInput `pulumi:"epochTimeRange"` + // Time in ISO 8601 format. + Iso8601TimeRange MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrInput `pulumi:"iso8601TimeRange"` + // Time in literal format. + LiteralTimeRange MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrInput `pulumi:"literalTimeRange"` + // Time in relative format. + RelativeTimeRange MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrInput `pulumi:"relativeTimeRange"` +} + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeTo)(nil)).Elem() +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeToOutputWithContext(context.Background()) +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeToOutput) +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutputWithContext(context.Background()) +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeToOutput).ToMetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutputWithContext(ctx) +} + +// MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrInput is an input type that accepts MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs, MetricsSearchTimeRangeBeginBoundedTimeRangeToPtr and MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput values. +// You can construct a concrete instance of `MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrInput` via: +// +// MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs{...} +// +// or: +// +// nil +type MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrInput interface { + pulumi.Input + + ToMetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput + ToMetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutputWithContext(context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput +} + +type metricsSearchTimeRangeBeginBoundedTimeRangeToPtrType MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs + +func MetricsSearchTimeRangeBeginBoundedTimeRangeToPtr(v *MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs) MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrInput { + return (*metricsSearchTimeRangeBeginBoundedTimeRangeToPtrType)(v) +} + +func (*metricsSearchTimeRangeBeginBoundedTimeRangeToPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MetricsSearchTimeRangeBeginBoundedTimeRangeTo)(nil)).Elem() +} + +func (i *metricsSearchTimeRangeBeginBoundedTimeRangeToPtrType) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutputWithContext(context.Background()) +} + +func (i *metricsSearchTimeRangeBeginBoundedTimeRangeToPtrType) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeToOutput struct{ *pulumi.OutputState } + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeToOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeTo)(nil)).Elem() +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput { + return o.ToMetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutputWithContext(context.Background()) +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MetricsSearchTimeRangeBeginBoundedTimeRangeTo) *MetricsSearchTimeRangeBeginBoundedTimeRangeTo { + return &v + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput) +} + +// Time since the epoch. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToOutput) EpochTimeRange() MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutput { + return o.ApplyT(func(v MetricsSearchTimeRangeBeginBoundedTimeRangeTo) *MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange { + return v.EpochTimeRange + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutput) +} + +// Time in ISO 8601 format. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToOutput) Iso8601TimeRange() MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutput { + return o.ApplyT(func(v MetricsSearchTimeRangeBeginBoundedTimeRangeTo) *MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange { + return v.Iso8601TimeRange + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutput) +} + +// Time in literal format. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToOutput) LiteralTimeRange() MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutput { + return o.ApplyT(func(v MetricsSearchTimeRangeBeginBoundedTimeRangeTo) *MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange { + return v.LiteralTimeRange + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutput) +} + +// Time in relative format. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToOutput) RelativeTimeRange() MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutput { + return o.ApplyT(func(v MetricsSearchTimeRangeBeginBoundedTimeRangeTo) *MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange { + return v.RelativeTimeRange + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput struct{ *pulumi.OutputState } + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MetricsSearchTimeRangeBeginBoundedTimeRangeTo)(nil)).Elem() +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput) Elem() MetricsSearchTimeRangeBeginBoundedTimeRangeToOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeBeginBoundedTimeRangeTo) MetricsSearchTimeRangeBeginBoundedTimeRangeTo { + if v != nil { + return *v + } + var ret MetricsSearchTimeRangeBeginBoundedTimeRangeTo + return ret + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeToOutput) +} + +// Time since the epoch. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput) EpochTimeRange() MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeBeginBoundedTimeRangeTo) *MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange { + if v == nil { + return nil + } + return v.EpochTimeRange + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutput) +} + +// Time in ISO 8601 format. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput) Iso8601TimeRange() MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeBeginBoundedTimeRangeTo) *MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange { + if v == nil { + return nil + } + return v.Iso8601TimeRange + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutput) +} + +// Time in literal format. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput) LiteralTimeRange() MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeBeginBoundedTimeRangeTo) *MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange { + if v == nil { + return nil + } + return v.LiteralTimeRange + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutput) +} + +// Time in relative format. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput) RelativeTimeRange() MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeBeginBoundedTimeRangeTo) *MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange { + if v == nil { + return nil + } + return v.RelativeTimeRange + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange struct { + // Time as a number of milliseconds since the epoch. + EpochMillis int `pulumi:"epochMillis"` +} + +// MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeInput is an input type that accepts MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs and MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeOutput values. +// You can construct a concrete instance of `MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeInput` via: +// +// MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs{...} +type MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeInput interface { + pulumi.Input + + ToMetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeOutput + ToMetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeOutputWithContext(context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeOutput +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs struct { + // Time as a number of milliseconds since the epoch. + EpochMillis pulumi.IntInput `pulumi:"epochMillis"` +} + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange)(nil)).Elem() +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeOutputWithContext(context.Background()) +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeOutput) +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutputWithContext(context.Background()) +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeOutput).ToMetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutputWithContext(ctx) +} + +// MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrInput is an input type that accepts MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs, MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtr and MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutput values. +// You can construct a concrete instance of `MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrInput` via: +// +// MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs{...} +// +// or: +// +// nil +type MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrInput interface { + pulumi.Input + + ToMetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutput + ToMetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutputWithContext(context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutput +} + +type metricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrType MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs + +func MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtr(v *MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs) MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrInput { + return (*metricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrType)(v) +} + +func (*metricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange)(nil)).Elem() +} + +func (i *metricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrType) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutputWithContext(context.Background()) +} + +func (i *metricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrType) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeOutput struct{ *pulumi.OutputState } + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange)(nil)).Elem() +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutput { + return o.ToMetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutputWithContext(context.Background()) +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange) *MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange { + return &v + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutput) +} + +// Time as a number of milliseconds since the epoch. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeOutput) EpochMillis() pulumi.IntOutput { + return o.ApplyT(func(v MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange) int { return v.EpochMillis }).(pulumi.IntOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutput struct{ *pulumi.OutputState } + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange)(nil)).Elem() +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutput) Elem() MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange) MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange { + if v != nil { + return *v + } + var ret MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange + return ret + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeOutput) +} + +// Time as a number of milliseconds since the epoch. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutput) EpochMillis() pulumi.IntPtrOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange) *int { + if v == nil { + return nil + } + return &v.EpochMillis + }).(pulumi.IntPtrOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange struct { + // Time as a string in ISO 8601 format. + Iso8601Time string `pulumi:"iso8601Time"` +} + +// MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeInput is an input type that accepts MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs and MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeOutput values. +// You can construct a concrete instance of `MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeInput` via: +// +// MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs{...} +type MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeInput interface { + pulumi.Input + + ToMetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeOutput + ToMetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeOutputWithContext(context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeOutput +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs struct { + // Time as a string in ISO 8601 format. + Iso8601Time pulumi.StringInput `pulumi:"iso8601Time"` +} + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange)(nil)).Elem() +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeOutputWithContext(context.Background()) +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeOutput) +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutputWithContext(context.Background()) +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeOutput).ToMetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutputWithContext(ctx) +} + +// MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrInput is an input type that accepts MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs, MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtr and MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutput values. +// You can construct a concrete instance of `MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrInput` via: +// +// MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs{...} +// +// or: +// +// nil +type MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrInput interface { + pulumi.Input + + ToMetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutput + ToMetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutputWithContext(context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutput +} + +type metricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrType MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs + +func MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtr(v *MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs) MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrInput { + return (*metricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrType)(v) +} + +func (*metricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange)(nil)).Elem() +} + +func (i *metricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrType) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutputWithContext(context.Background()) +} + +func (i *metricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrType) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeOutput struct{ *pulumi.OutputState } + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange)(nil)).Elem() +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutput { + return o.ToMetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutputWithContext(context.Background()) +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange) *MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange { + return &v + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutput) +} + +// Time as a string in ISO 8601 format. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeOutput) Iso8601Time() pulumi.StringOutput { + return o.ApplyT(func(v MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange) string { return v.Iso8601Time }).(pulumi.StringOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutput struct{ *pulumi.OutputState } + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange)(nil)).Elem() +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutput) Elem() MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange) MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange { + if v != nil { + return *v + } + var ret MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange + return ret + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeOutput) +} + +// Time as a string in ISO 8601 format. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutput) Iso8601Time() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange) *string { + if v == nil { + return nil + } + return &v.Iso8601Time + }).(pulumi.StringPtrOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange struct { + // Name of complete literal time range. One of `today`, `yesterday`, `previousWeek`, and + // `previousMonth`. + RangeName string `pulumi:"rangeName"` +} + +// MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeInput is an input type that accepts MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs and MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeOutput values. +// You can construct a concrete instance of `MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeInput` via: +// +// MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs{...} +type MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeInput interface { + pulumi.Input + + ToMetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeOutput + ToMetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeOutputWithContext(context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeOutput +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs struct { + // Name of complete literal time range. One of `today`, `yesterday`, `previousWeek`, and + // `previousMonth`. + RangeName pulumi.StringInput `pulumi:"rangeName"` +} + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange)(nil)).Elem() +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeOutputWithContext(context.Background()) +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeOutput) +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutputWithContext(context.Background()) +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeOutput).ToMetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutputWithContext(ctx) +} + +// MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrInput is an input type that accepts MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs, MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtr and MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutput values. +// You can construct a concrete instance of `MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrInput` via: +// +// MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs{...} +// +// or: +// +// nil +type MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrInput interface { + pulumi.Input + + ToMetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutput + ToMetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutputWithContext(context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutput +} + +type metricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrType MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs + +func MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtr(v *MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs) MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrInput { + return (*metricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrType)(v) +} + +func (*metricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange)(nil)).Elem() +} + +func (i *metricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrType) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutputWithContext(context.Background()) +} + +func (i *metricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrType) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeOutput struct{ *pulumi.OutputState } + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange)(nil)).Elem() +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutput { + return o.ToMetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutputWithContext(context.Background()) +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange) *MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange { + return &v + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutput) +} + +// Name of complete literal time range. One of `today`, `yesterday`, `previousWeek`, and +// `previousMonth`. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeOutput) RangeName() pulumi.StringOutput { + return o.ApplyT(func(v MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange) string { return v.RangeName }).(pulumi.StringOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutput struct{ *pulumi.OutputState } + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange)(nil)).Elem() +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutput) Elem() MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange) MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange { + if v != nil { + return *v + } + var ret MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange + return ret + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeOutput) +} + +// Name of complete literal time range. One of `today`, `yesterday`, `previousWeek`, and +// `previousMonth`. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutput) RangeName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange) *string { + if v == nil { + return nil + } + return &v.RangeName + }).(pulumi.StringPtrOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange struct { + // Relative time as a string consisting of following elements: + // 1. `-` (optional): minus sign indicates time in the past, + // 2. ``: number of time units, + // 3. ``: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + // + // Multiple pairs of `` may be provided, and they may be in any order. For example, + // `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + RelativeTime string `pulumi:"relativeTime"` +} + +// MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeInput is an input type that accepts MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs and MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeOutput values. +// You can construct a concrete instance of `MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeInput` via: +// +// MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs{...} +type MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeInput interface { + pulumi.Input + + ToMetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeOutput + ToMetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeOutputWithContext(context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeOutput +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs struct { + // Relative time as a string consisting of following elements: + // 1. `-` (optional): minus sign indicates time in the past, + // 2. ``: number of time units, + // 3. ``: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + // + // Multiple pairs of `` may be provided, and they may be in any order. For example, + // `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + RelativeTime pulumi.StringInput `pulumi:"relativeTime"` +} + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange)(nil)).Elem() +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeOutputWithContext(context.Background()) +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeOutput) +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutputWithContext(context.Background()) +} + +func (i MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeOutput).ToMetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutputWithContext(ctx) +} + +// MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrInput is an input type that accepts MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs, MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtr and MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutput values. +// You can construct a concrete instance of `MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrInput` via: +// +// MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs{...} +// +// or: +// +// nil +type MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrInput interface { + pulumi.Input + + ToMetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutput + ToMetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutputWithContext(context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutput +} + +type metricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrType MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs + +func MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtr(v *MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs) MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrInput { + return (*metricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrType)(v) +} + +func (*metricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange)(nil)).Elem() +} + +func (i *metricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrType) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutput { + return i.ToMetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutputWithContext(context.Background()) +} + +func (i *metricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrType) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeOutput struct{ *pulumi.OutputState } + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange)(nil)).Elem() +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutput { + return o.ToMetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutputWithContext(context.Background()) +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange) *MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange { + return &v + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutput) +} + +// Relative time as a string consisting of following elements: +// 1. `-` (optional): minus sign indicates time in the past, +// 2. ``: number of time units, +// 3. ``: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). +// +// Multiple pairs of `` may be provided, and they may be in any order. For example, +// `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeOutput) RelativeTime() pulumi.StringOutput { + return o.ApplyT(func(v MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange) string { return v.RelativeTime }).(pulumi.StringOutput) +} + +type MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutput struct{ *pulumi.OutputState } + +func (MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange)(nil)).Elem() +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutput() MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutput) ToMetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutput { + return o +} + +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutput) Elem() MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange) MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange { + if v != nil { + return *v + } + var ret MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange + return ret + }).(MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeOutput) +} + +// Relative time as a string consisting of following elements: +// 1. `-` (optional): minus sign indicates time in the past, +// 2. ``: number of time units, +// 3. ``: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). +// +// Multiple pairs of `` may be provided, and they may be in any order. For example, +// `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. +func (o MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutput) RelativeTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange) *string { + if v == nil { + return nil + } + return &v.RelativeTime + }).(pulumi.StringPtrOutput) +} + +type MetricsSearchTimeRangeCompleteLiteralTimeRange struct { + // Name of complete literal time range. One of `today`, `yesterday`, `previousWeek`, and + // `previousMonth`. + RangeName string `pulumi:"rangeName"` +} + +// MetricsSearchTimeRangeCompleteLiteralTimeRangeInput is an input type that accepts MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs and MetricsSearchTimeRangeCompleteLiteralTimeRangeOutput values. +// You can construct a concrete instance of `MetricsSearchTimeRangeCompleteLiteralTimeRangeInput` via: +// +// MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs{...} +type MetricsSearchTimeRangeCompleteLiteralTimeRangeInput interface { + pulumi.Input + + ToMetricsSearchTimeRangeCompleteLiteralTimeRangeOutput() MetricsSearchTimeRangeCompleteLiteralTimeRangeOutput + ToMetricsSearchTimeRangeCompleteLiteralTimeRangeOutputWithContext(context.Context) MetricsSearchTimeRangeCompleteLiteralTimeRangeOutput +} + +type MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs struct { + // Name of complete literal time range. One of `today`, `yesterday`, `previousWeek`, and + // `previousMonth`. + RangeName pulumi.StringInput `pulumi:"rangeName"` +} + +func (MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MetricsSearchTimeRangeCompleteLiteralTimeRange)(nil)).Elem() +} + +func (i MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs) ToMetricsSearchTimeRangeCompleteLiteralTimeRangeOutput() MetricsSearchTimeRangeCompleteLiteralTimeRangeOutput { + return i.ToMetricsSearchTimeRangeCompleteLiteralTimeRangeOutputWithContext(context.Background()) +} + +func (i MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs) ToMetricsSearchTimeRangeCompleteLiteralTimeRangeOutputWithContext(ctx context.Context) MetricsSearchTimeRangeCompleteLiteralTimeRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeCompleteLiteralTimeRangeOutput) +} + +func (i MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs) ToMetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutput() MetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutput { + return i.ToMetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutputWithContext(context.Background()) +} + +func (i MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs) ToMetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeCompleteLiteralTimeRangeOutput).ToMetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutputWithContext(ctx) +} + +// MetricsSearchTimeRangeCompleteLiteralTimeRangePtrInput is an input type that accepts MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs, MetricsSearchTimeRangeCompleteLiteralTimeRangePtr and MetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutput values. +// You can construct a concrete instance of `MetricsSearchTimeRangeCompleteLiteralTimeRangePtrInput` via: +// +// MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs{...} +// +// or: +// +// nil +type MetricsSearchTimeRangeCompleteLiteralTimeRangePtrInput interface { + pulumi.Input + + ToMetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutput() MetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutput + ToMetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutputWithContext(context.Context) MetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutput +} + +type metricsSearchTimeRangeCompleteLiteralTimeRangePtrType MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs + +func MetricsSearchTimeRangeCompleteLiteralTimeRangePtr(v *MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs) MetricsSearchTimeRangeCompleteLiteralTimeRangePtrInput { + return (*metricsSearchTimeRangeCompleteLiteralTimeRangePtrType)(v) +} + +func (*metricsSearchTimeRangeCompleteLiteralTimeRangePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MetricsSearchTimeRangeCompleteLiteralTimeRange)(nil)).Elem() +} + +func (i *metricsSearchTimeRangeCompleteLiteralTimeRangePtrType) ToMetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutput() MetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutput { + return i.ToMetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutputWithContext(context.Background()) +} + +func (i *metricsSearchTimeRangeCompleteLiteralTimeRangePtrType) ToMetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutput) +} + +type MetricsSearchTimeRangeCompleteLiteralTimeRangeOutput struct{ *pulumi.OutputState } + +func (MetricsSearchTimeRangeCompleteLiteralTimeRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MetricsSearchTimeRangeCompleteLiteralTimeRange)(nil)).Elem() +} + +func (o MetricsSearchTimeRangeCompleteLiteralTimeRangeOutput) ToMetricsSearchTimeRangeCompleteLiteralTimeRangeOutput() MetricsSearchTimeRangeCompleteLiteralTimeRangeOutput { + return o +} + +func (o MetricsSearchTimeRangeCompleteLiteralTimeRangeOutput) ToMetricsSearchTimeRangeCompleteLiteralTimeRangeOutputWithContext(ctx context.Context) MetricsSearchTimeRangeCompleteLiteralTimeRangeOutput { + return o +} + +func (o MetricsSearchTimeRangeCompleteLiteralTimeRangeOutput) ToMetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutput() MetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutput { + return o.ToMetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutputWithContext(context.Background()) +} + +func (o MetricsSearchTimeRangeCompleteLiteralTimeRangeOutput) ToMetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MetricsSearchTimeRangeCompleteLiteralTimeRange) *MetricsSearchTimeRangeCompleteLiteralTimeRange { + return &v + }).(MetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutput) +} + +// Name of complete literal time range. One of `today`, `yesterday`, `previousWeek`, and +// `previousMonth`. +func (o MetricsSearchTimeRangeCompleteLiteralTimeRangeOutput) RangeName() pulumi.StringOutput { + return o.ApplyT(func(v MetricsSearchTimeRangeCompleteLiteralTimeRange) string { return v.RangeName }).(pulumi.StringOutput) +} + +type MetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutput struct{ *pulumi.OutputState } + +func (MetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MetricsSearchTimeRangeCompleteLiteralTimeRange)(nil)).Elem() +} + +func (o MetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutput) ToMetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutput() MetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutput { + return o +} + +func (o MetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutput) ToMetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutputWithContext(ctx context.Context) MetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutput { + return o +} + +func (o MetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutput) Elem() MetricsSearchTimeRangeCompleteLiteralTimeRangeOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeCompleteLiteralTimeRange) MetricsSearchTimeRangeCompleteLiteralTimeRange { + if v != nil { + return *v + } + var ret MetricsSearchTimeRangeCompleteLiteralTimeRange + return ret + }).(MetricsSearchTimeRangeCompleteLiteralTimeRangeOutput) +} + +// Name of complete literal time range. One of `today`, `yesterday`, `previousWeek`, and +// `previousMonth`. +func (o MetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutput) RangeName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MetricsSearchTimeRangeCompleteLiteralTimeRange) *string { + if v == nil { + return nil + } + return &v.RangeName + }).(pulumi.StringPtrOutput) +} + +type MonitorFolderObjPermission struct { + // A Set of Permissions. Valid Permission Values: + Permissions []string `pulumi:"permissions"` + // A Role ID or the Org ID of the account + SubjectId string `pulumi:"subjectId"` + // Valid values: + SubjectType string `pulumi:"subjectType"` +} + +// MonitorFolderObjPermissionInput is an input type that accepts MonitorFolderObjPermissionArgs and MonitorFolderObjPermissionOutput values. +// You can construct a concrete instance of `MonitorFolderObjPermissionInput` via: +// +// MonitorFolderObjPermissionArgs{...} +type MonitorFolderObjPermissionInput interface { + pulumi.Input + + ToMonitorFolderObjPermissionOutput() MonitorFolderObjPermissionOutput + ToMonitorFolderObjPermissionOutputWithContext(context.Context) MonitorFolderObjPermissionOutput +} + +type MonitorFolderObjPermissionArgs struct { + // A Set of Permissions. Valid Permission Values: + Permissions pulumi.StringArrayInput `pulumi:"permissions"` + // A Role ID or the Org ID of the account + SubjectId pulumi.StringInput `pulumi:"subjectId"` + // Valid values: + SubjectType pulumi.StringInput `pulumi:"subjectType"` +} + +func (MonitorFolderObjPermissionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MonitorFolderObjPermission)(nil)).Elem() +} + +func (i MonitorFolderObjPermissionArgs) ToMonitorFolderObjPermissionOutput() MonitorFolderObjPermissionOutput { + return i.ToMonitorFolderObjPermissionOutputWithContext(context.Background()) +} + +func (i MonitorFolderObjPermissionArgs) ToMonitorFolderObjPermissionOutputWithContext(ctx context.Context) MonitorFolderObjPermissionOutput { + return pulumi.ToOutputWithContext(ctx, i).(MonitorFolderObjPermissionOutput) +} + +// MonitorFolderObjPermissionArrayInput is an input type that accepts MonitorFolderObjPermissionArray and MonitorFolderObjPermissionArrayOutput values. +// You can construct a concrete instance of `MonitorFolderObjPermissionArrayInput` via: +// +// MonitorFolderObjPermissionArray{ MonitorFolderObjPermissionArgs{...} } +type MonitorFolderObjPermissionArrayInput interface { + pulumi.Input + + ToMonitorFolderObjPermissionArrayOutput() MonitorFolderObjPermissionArrayOutput + ToMonitorFolderObjPermissionArrayOutputWithContext(context.Context) MonitorFolderObjPermissionArrayOutput +} + +type MonitorFolderObjPermissionArray []MonitorFolderObjPermissionInput + +func (MonitorFolderObjPermissionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]MonitorFolderObjPermission)(nil)).Elem() +} + +func (i MonitorFolderObjPermissionArray) ToMonitorFolderObjPermissionArrayOutput() MonitorFolderObjPermissionArrayOutput { + return i.ToMonitorFolderObjPermissionArrayOutputWithContext(context.Background()) +} + +func (i MonitorFolderObjPermissionArray) ToMonitorFolderObjPermissionArrayOutputWithContext(ctx context.Context) MonitorFolderObjPermissionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(MonitorFolderObjPermissionArrayOutput) +} + +type MonitorFolderObjPermissionOutput struct{ *pulumi.OutputState } + +func (MonitorFolderObjPermissionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MonitorFolderObjPermission)(nil)).Elem() +} + +func (o MonitorFolderObjPermissionOutput) ToMonitorFolderObjPermissionOutput() MonitorFolderObjPermissionOutput { + return o +} + +func (o MonitorFolderObjPermissionOutput) ToMonitorFolderObjPermissionOutputWithContext(ctx context.Context) MonitorFolderObjPermissionOutput { + return o +} + +// A Set of Permissions. Valid Permission Values: +func (o MonitorFolderObjPermissionOutput) Permissions() pulumi.StringArrayOutput { + return o.ApplyT(func(v MonitorFolderObjPermission) []string { return v.Permissions }).(pulumi.StringArrayOutput) +} + +// A Role ID or the Org ID of the account +func (o MonitorFolderObjPermissionOutput) SubjectId() pulumi.StringOutput { + return o.ApplyT(func(v MonitorFolderObjPermission) string { return v.SubjectId }).(pulumi.StringOutput) +} + +// Valid values: +func (o MonitorFolderObjPermissionOutput) SubjectType() pulumi.StringOutput { + return o.ApplyT(func(v MonitorFolderObjPermission) string { return v.SubjectType }).(pulumi.StringOutput) +} + +type MonitorFolderObjPermissionArrayOutput struct{ *pulumi.OutputState } + +func (MonitorFolderObjPermissionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]MonitorFolderObjPermission)(nil)).Elem() +} + +func (o MonitorFolderObjPermissionArrayOutput) ToMonitorFolderObjPermissionArrayOutput() MonitorFolderObjPermissionArrayOutput { + return o +} + +func (o MonitorFolderObjPermissionArrayOutput) ToMonitorFolderObjPermissionArrayOutputWithContext(ctx context.Context) MonitorFolderObjPermissionArrayOutput { + return o +} + +func (o MonitorFolderObjPermissionArrayOutput) Index(i pulumi.IntInput) MonitorFolderObjPermissionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) MonitorFolderObjPermission { + return vs[0].([]MonitorFolderObjPermission)[vs[1].(int)] + }).(MonitorFolderObjPermissionOutput) +} + +type MonitorNotification struct { + Notification MonitorNotificationNotification `pulumi:"notification"` + RunForTriggerTypes []string `pulumi:"runForTriggerTypes"` +} + +// MonitorNotificationInput is an input type that accepts MonitorNotificationArgs and MonitorNotificationOutput values. +// You can construct a concrete instance of `MonitorNotificationInput` via: +// +// MonitorNotificationArgs{...} +type MonitorNotificationInput interface { + pulumi.Input + + ToMonitorNotificationOutput() MonitorNotificationOutput + ToMonitorNotificationOutputWithContext(context.Context) MonitorNotificationOutput +} + +type MonitorNotificationArgs struct { + Notification MonitorNotificationNotificationInput `pulumi:"notification"` + RunForTriggerTypes pulumi.StringArrayInput `pulumi:"runForTriggerTypes"` +} + +func (MonitorNotificationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MonitorNotification)(nil)).Elem() +} + +func (i MonitorNotificationArgs) ToMonitorNotificationOutput() MonitorNotificationOutput { + return i.ToMonitorNotificationOutputWithContext(context.Background()) +} + +func (i MonitorNotificationArgs) ToMonitorNotificationOutputWithContext(ctx context.Context) MonitorNotificationOutput { + return pulumi.ToOutputWithContext(ctx, i).(MonitorNotificationOutput) +} + +// MonitorNotificationArrayInput is an input type that accepts MonitorNotificationArray and MonitorNotificationArrayOutput values. +// You can construct a concrete instance of `MonitorNotificationArrayInput` via: +// +// MonitorNotificationArray{ MonitorNotificationArgs{...} } +type MonitorNotificationArrayInput interface { + pulumi.Input + + ToMonitorNotificationArrayOutput() MonitorNotificationArrayOutput + ToMonitorNotificationArrayOutputWithContext(context.Context) MonitorNotificationArrayOutput +} + +type MonitorNotificationArray []MonitorNotificationInput + +func (MonitorNotificationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]MonitorNotification)(nil)).Elem() +} + +func (i MonitorNotificationArray) ToMonitorNotificationArrayOutput() MonitorNotificationArrayOutput { + return i.ToMonitorNotificationArrayOutputWithContext(context.Background()) +} + +func (i MonitorNotificationArray) ToMonitorNotificationArrayOutputWithContext(ctx context.Context) MonitorNotificationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(MonitorNotificationArrayOutput) +} + +type MonitorNotificationOutput struct{ *pulumi.OutputState } + +func (MonitorNotificationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MonitorNotification)(nil)).Elem() +} + +func (o MonitorNotificationOutput) ToMonitorNotificationOutput() MonitorNotificationOutput { + return o +} + +func (o MonitorNotificationOutput) ToMonitorNotificationOutputWithContext(ctx context.Context) MonitorNotificationOutput { + return o +} + +func (o MonitorNotificationOutput) Notification() MonitorNotificationNotificationOutput { + return o.ApplyT(func(v MonitorNotification) MonitorNotificationNotification { return v.Notification }).(MonitorNotificationNotificationOutput) +} + +func (o MonitorNotificationOutput) RunForTriggerTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v MonitorNotification) []string { return v.RunForTriggerTypes }).(pulumi.StringArrayOutput) +} + +type MonitorNotificationArrayOutput struct{ *pulumi.OutputState } + +func (MonitorNotificationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]MonitorNotification)(nil)).Elem() +} + +func (o MonitorNotificationArrayOutput) ToMonitorNotificationArrayOutput() MonitorNotificationArrayOutput { + return o +} + +func (o MonitorNotificationArrayOutput) ToMonitorNotificationArrayOutputWithContext(ctx context.Context) MonitorNotificationArrayOutput { + return o +} + +func (o MonitorNotificationArrayOutput) Index(i pulumi.IntInput) MonitorNotificationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) MonitorNotification { + return vs[0].([]MonitorNotification)[vs[1].(int)] + }).(MonitorNotificationOutput) +} + +type MonitorNotificationNotification struct { + // Deprecated: The field `action_type` is deprecated and will be removed in a future release of the provider - please use `connection_type` instead. + ActionType *string `pulumi:"actionType"` + ConnectionId *string `pulumi:"connectionId"` + ConnectionType *string `pulumi:"connectionType"` + MessageBody *string `pulumi:"messageBody"` + PayloadOverride *string `pulumi:"payloadOverride"` + Recipients []string `pulumi:"recipients"` + ResolutionPayloadOverride *string `pulumi:"resolutionPayloadOverride"` + Subject *string `pulumi:"subject"` + TimeZone *string `pulumi:"timeZone"` +} + +// MonitorNotificationNotificationInput is an input type that accepts MonitorNotificationNotificationArgs and MonitorNotificationNotificationOutput values. +// You can construct a concrete instance of `MonitorNotificationNotificationInput` via: +// +// MonitorNotificationNotificationArgs{...} +type MonitorNotificationNotificationInput interface { + pulumi.Input + + ToMonitorNotificationNotificationOutput() MonitorNotificationNotificationOutput + ToMonitorNotificationNotificationOutputWithContext(context.Context) MonitorNotificationNotificationOutput +} + +type MonitorNotificationNotificationArgs struct { + // Deprecated: The field `action_type` is deprecated and will be removed in a future release of the provider - please use `connection_type` instead. + ActionType pulumi.StringPtrInput `pulumi:"actionType"` + ConnectionId pulumi.StringPtrInput `pulumi:"connectionId"` + ConnectionType pulumi.StringPtrInput `pulumi:"connectionType"` + MessageBody pulumi.StringPtrInput `pulumi:"messageBody"` + PayloadOverride pulumi.StringPtrInput `pulumi:"payloadOverride"` + Recipients pulumi.StringArrayInput `pulumi:"recipients"` + ResolutionPayloadOverride pulumi.StringPtrInput `pulumi:"resolutionPayloadOverride"` + Subject pulumi.StringPtrInput `pulumi:"subject"` + TimeZone pulumi.StringPtrInput `pulumi:"timeZone"` +} + +func (MonitorNotificationNotificationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MonitorNotificationNotification)(nil)).Elem() +} + +func (i MonitorNotificationNotificationArgs) ToMonitorNotificationNotificationOutput() MonitorNotificationNotificationOutput { + return i.ToMonitorNotificationNotificationOutputWithContext(context.Background()) +} + +func (i MonitorNotificationNotificationArgs) ToMonitorNotificationNotificationOutputWithContext(ctx context.Context) MonitorNotificationNotificationOutput { + return pulumi.ToOutputWithContext(ctx, i).(MonitorNotificationNotificationOutput) +} + +type MonitorNotificationNotificationOutput struct{ *pulumi.OutputState } + +func (MonitorNotificationNotificationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MonitorNotificationNotification)(nil)).Elem() +} + +func (o MonitorNotificationNotificationOutput) ToMonitorNotificationNotificationOutput() MonitorNotificationNotificationOutput { + return o +} + +func (o MonitorNotificationNotificationOutput) ToMonitorNotificationNotificationOutputWithContext(ctx context.Context) MonitorNotificationNotificationOutput { + return o +} + +// Deprecated: The field `action_type` is deprecated and will be removed in a future release of the provider - please use `connection_type` instead. +func (o MonitorNotificationNotificationOutput) ActionType() pulumi.StringPtrOutput { + return o.ApplyT(func(v MonitorNotificationNotification) *string { return v.ActionType }).(pulumi.StringPtrOutput) +} + +func (o MonitorNotificationNotificationOutput) ConnectionId() pulumi.StringPtrOutput { + return o.ApplyT(func(v MonitorNotificationNotification) *string { return v.ConnectionId }).(pulumi.StringPtrOutput) +} + +func (o MonitorNotificationNotificationOutput) ConnectionType() pulumi.StringPtrOutput { + return o.ApplyT(func(v MonitorNotificationNotification) *string { return v.ConnectionType }).(pulumi.StringPtrOutput) +} + +func (o MonitorNotificationNotificationOutput) MessageBody() pulumi.StringPtrOutput { + return o.ApplyT(func(v MonitorNotificationNotification) *string { return v.MessageBody }).(pulumi.StringPtrOutput) +} + +func (o MonitorNotificationNotificationOutput) PayloadOverride() pulumi.StringPtrOutput { + return o.ApplyT(func(v MonitorNotificationNotification) *string { return v.PayloadOverride }).(pulumi.StringPtrOutput) +} + +func (o MonitorNotificationNotificationOutput) Recipients() pulumi.StringArrayOutput { + return o.ApplyT(func(v MonitorNotificationNotification) []string { return v.Recipients }).(pulumi.StringArrayOutput) +} + +func (o MonitorNotificationNotificationOutput) ResolutionPayloadOverride() pulumi.StringPtrOutput { + return o.ApplyT(func(v MonitorNotificationNotification) *string { return v.ResolutionPayloadOverride }).(pulumi.StringPtrOutput) +} + +func (o MonitorNotificationNotificationOutput) Subject() pulumi.StringPtrOutput { + return o.ApplyT(func(v MonitorNotificationNotification) *string { return v.Subject }).(pulumi.StringPtrOutput) +} + +func (o MonitorNotificationNotificationOutput) TimeZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v MonitorNotificationNotification) *string { return v.TimeZone }).(pulumi.StringPtrOutput) +} + +type MonitorObjPermission struct { + // A Set of Permissions. Valid Permission Values: + Permissions []string `pulumi:"permissions"` + // A Role ID or the Org ID of the account + SubjectId string `pulumi:"subjectId"` + // Valid values: + SubjectType string `pulumi:"subjectType"` +} + +// MonitorObjPermissionInput is an input type that accepts MonitorObjPermissionArgs and MonitorObjPermissionOutput values. // You can construct a concrete instance of `MonitorObjPermissionInput` via: // // MonitorObjPermissionArgs{...} @@ -16114,6 +18283,488 @@ func (o PollingSourcePathTagFilterArrayOutput) Index(i pulumi.IntInput) PollingS }).(PollingSourcePathTagFilterOutput) } +type RumSourceDefaultDateFormat struct { + Format string `pulumi:"format"` + Locator *string `pulumi:"locator"` +} + +// RumSourceDefaultDateFormatInput is an input type that accepts RumSourceDefaultDateFormatArgs and RumSourceDefaultDateFormatOutput values. +// You can construct a concrete instance of `RumSourceDefaultDateFormatInput` via: +// +// RumSourceDefaultDateFormatArgs{...} +type RumSourceDefaultDateFormatInput interface { + pulumi.Input + + ToRumSourceDefaultDateFormatOutput() RumSourceDefaultDateFormatOutput + ToRumSourceDefaultDateFormatOutputWithContext(context.Context) RumSourceDefaultDateFormatOutput +} + +type RumSourceDefaultDateFormatArgs struct { + Format pulumi.StringInput `pulumi:"format"` + Locator pulumi.StringPtrInput `pulumi:"locator"` +} + +func (RumSourceDefaultDateFormatArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RumSourceDefaultDateFormat)(nil)).Elem() +} + +func (i RumSourceDefaultDateFormatArgs) ToRumSourceDefaultDateFormatOutput() RumSourceDefaultDateFormatOutput { + return i.ToRumSourceDefaultDateFormatOutputWithContext(context.Background()) +} + +func (i RumSourceDefaultDateFormatArgs) ToRumSourceDefaultDateFormatOutputWithContext(ctx context.Context) RumSourceDefaultDateFormatOutput { + return pulumi.ToOutputWithContext(ctx, i).(RumSourceDefaultDateFormatOutput) +} + +// RumSourceDefaultDateFormatArrayInput is an input type that accepts RumSourceDefaultDateFormatArray and RumSourceDefaultDateFormatArrayOutput values. +// You can construct a concrete instance of `RumSourceDefaultDateFormatArrayInput` via: +// +// RumSourceDefaultDateFormatArray{ RumSourceDefaultDateFormatArgs{...} } +type RumSourceDefaultDateFormatArrayInput interface { + pulumi.Input + + ToRumSourceDefaultDateFormatArrayOutput() RumSourceDefaultDateFormatArrayOutput + ToRumSourceDefaultDateFormatArrayOutputWithContext(context.Context) RumSourceDefaultDateFormatArrayOutput +} + +type RumSourceDefaultDateFormatArray []RumSourceDefaultDateFormatInput + +func (RumSourceDefaultDateFormatArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RumSourceDefaultDateFormat)(nil)).Elem() +} + +func (i RumSourceDefaultDateFormatArray) ToRumSourceDefaultDateFormatArrayOutput() RumSourceDefaultDateFormatArrayOutput { + return i.ToRumSourceDefaultDateFormatArrayOutputWithContext(context.Background()) +} + +func (i RumSourceDefaultDateFormatArray) ToRumSourceDefaultDateFormatArrayOutputWithContext(ctx context.Context) RumSourceDefaultDateFormatArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RumSourceDefaultDateFormatArrayOutput) +} + +type RumSourceDefaultDateFormatOutput struct{ *pulumi.OutputState } + +func (RumSourceDefaultDateFormatOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RumSourceDefaultDateFormat)(nil)).Elem() +} + +func (o RumSourceDefaultDateFormatOutput) ToRumSourceDefaultDateFormatOutput() RumSourceDefaultDateFormatOutput { + return o +} + +func (o RumSourceDefaultDateFormatOutput) ToRumSourceDefaultDateFormatOutputWithContext(ctx context.Context) RumSourceDefaultDateFormatOutput { + return o +} + +func (o RumSourceDefaultDateFormatOutput) Format() pulumi.StringOutput { + return o.ApplyT(func(v RumSourceDefaultDateFormat) string { return v.Format }).(pulumi.StringOutput) +} + +func (o RumSourceDefaultDateFormatOutput) Locator() pulumi.StringPtrOutput { + return o.ApplyT(func(v RumSourceDefaultDateFormat) *string { return v.Locator }).(pulumi.StringPtrOutput) +} + +type RumSourceDefaultDateFormatArrayOutput struct{ *pulumi.OutputState } + +func (RumSourceDefaultDateFormatArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RumSourceDefaultDateFormat)(nil)).Elem() +} + +func (o RumSourceDefaultDateFormatArrayOutput) ToRumSourceDefaultDateFormatArrayOutput() RumSourceDefaultDateFormatArrayOutput { + return o +} + +func (o RumSourceDefaultDateFormatArrayOutput) ToRumSourceDefaultDateFormatArrayOutputWithContext(ctx context.Context) RumSourceDefaultDateFormatArrayOutput { + return o +} + +func (o RumSourceDefaultDateFormatArrayOutput) Index(i pulumi.IntInput) RumSourceDefaultDateFormatOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RumSourceDefaultDateFormat { + return vs[0].([]RumSourceDefaultDateFormat)[vs[1].(int)] + }).(RumSourceDefaultDateFormatOutput) +} + +type RumSourceFilter struct { + FilterType string `pulumi:"filterType"` + Mask *string `pulumi:"mask"` + Name string `pulumi:"name"` + Regexp string `pulumi:"regexp"` +} + +// RumSourceFilterInput is an input type that accepts RumSourceFilterArgs and RumSourceFilterOutput values. +// You can construct a concrete instance of `RumSourceFilterInput` via: +// +// RumSourceFilterArgs{...} +type RumSourceFilterInput interface { + pulumi.Input + + ToRumSourceFilterOutput() RumSourceFilterOutput + ToRumSourceFilterOutputWithContext(context.Context) RumSourceFilterOutput +} + +type RumSourceFilterArgs struct { + FilterType pulumi.StringInput `pulumi:"filterType"` + Mask pulumi.StringPtrInput `pulumi:"mask"` + Name pulumi.StringInput `pulumi:"name"` + Regexp pulumi.StringInput `pulumi:"regexp"` +} + +func (RumSourceFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RumSourceFilter)(nil)).Elem() +} + +func (i RumSourceFilterArgs) ToRumSourceFilterOutput() RumSourceFilterOutput { + return i.ToRumSourceFilterOutputWithContext(context.Background()) +} + +func (i RumSourceFilterArgs) ToRumSourceFilterOutputWithContext(ctx context.Context) RumSourceFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(RumSourceFilterOutput) +} + +// RumSourceFilterArrayInput is an input type that accepts RumSourceFilterArray and RumSourceFilterArrayOutput values. +// You can construct a concrete instance of `RumSourceFilterArrayInput` via: +// +// RumSourceFilterArray{ RumSourceFilterArgs{...} } +type RumSourceFilterArrayInput interface { + pulumi.Input + + ToRumSourceFilterArrayOutput() RumSourceFilterArrayOutput + ToRumSourceFilterArrayOutputWithContext(context.Context) RumSourceFilterArrayOutput +} + +type RumSourceFilterArray []RumSourceFilterInput + +func (RumSourceFilterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RumSourceFilter)(nil)).Elem() +} + +func (i RumSourceFilterArray) ToRumSourceFilterArrayOutput() RumSourceFilterArrayOutput { + return i.ToRumSourceFilterArrayOutputWithContext(context.Background()) +} + +func (i RumSourceFilterArray) ToRumSourceFilterArrayOutputWithContext(ctx context.Context) RumSourceFilterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RumSourceFilterArrayOutput) +} + +type RumSourceFilterOutput struct{ *pulumi.OutputState } + +func (RumSourceFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RumSourceFilter)(nil)).Elem() +} + +func (o RumSourceFilterOutput) ToRumSourceFilterOutput() RumSourceFilterOutput { + return o +} + +func (o RumSourceFilterOutput) ToRumSourceFilterOutputWithContext(ctx context.Context) RumSourceFilterOutput { + return o +} + +func (o RumSourceFilterOutput) FilterType() pulumi.StringOutput { + return o.ApplyT(func(v RumSourceFilter) string { return v.FilterType }).(pulumi.StringOutput) +} + +func (o RumSourceFilterOutput) Mask() pulumi.StringPtrOutput { + return o.ApplyT(func(v RumSourceFilter) *string { return v.Mask }).(pulumi.StringPtrOutput) +} + +func (o RumSourceFilterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v RumSourceFilter) string { return v.Name }).(pulumi.StringOutput) +} + +func (o RumSourceFilterOutput) Regexp() pulumi.StringOutput { + return o.ApplyT(func(v RumSourceFilter) string { return v.Regexp }).(pulumi.StringOutput) +} + +type RumSourceFilterArrayOutput struct{ *pulumi.OutputState } + +func (RumSourceFilterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RumSourceFilter)(nil)).Elem() +} + +func (o RumSourceFilterArrayOutput) ToRumSourceFilterArrayOutput() RumSourceFilterArrayOutput { + return o +} + +func (o RumSourceFilterArrayOutput) ToRumSourceFilterArrayOutputWithContext(ctx context.Context) RumSourceFilterArrayOutput { + return o +} + +func (o RumSourceFilterArrayOutput) Index(i pulumi.IntInput) RumSourceFilterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RumSourceFilter { + return vs[0].([]RumSourceFilter)[vs[1].(int)] + }).(RumSourceFilterOutput) +} + +type RumSourcePath struct { + // (Recommended) Add an Application Name tag of a text string to show for the app name in spans (for example, bookings-app). This groups services in the Application Service View. If left blank, services will belong to a "default" application. + ApplicationName *string `pulumi:"applicationName"` + // Defines custom tags attached to the spans. For example: "internal.version = 0.1.21" + CustomTags map[string]string `pulumi:"customTags"` + // Your production, staging, or development environment name. + DeploymentEnvironment *string `pulumi:"deploymentEnvironment"` + // Add a list of URLs not to collect trace data from. Supports regex. Make sure provided URLs are valid JavaScript flavor regexes. For example: "/^https:\/\/www.tracker.com\/.*/, /^https:\/\/api.mydomain.com\/log\/.*/" + IgnoreUrls []string `pulumi:"ignoreUrls"` + // (Recommended) Add a list of URLs or URL patterns that pass tracing context to construct traces end-to-end. Provided URLs should be valid JavaScript flavor regexes. Some examples are "/^https:\/\/api.mydomain.com\/apiv3\/.*/" and "/^https:\/\/www.3rdparty.com\/.*/". + PropagateTraceHeaderCorsUrls []string `pulumi:"propagateTraceHeaderCorsUrls"` + // Add a Probabilistic sampling rate for heavy traffic sites in a decimal value based on percentage, for example, 10% would be entered as 0.1. Supports floating values between 0.0 and 1.0, defaults to 1.0 (all data is passed). + SamplingRate *float64 `pulumi:"samplingRate"` + // Specify if you want to enrich spans with the details level up to the city - if left blank, enrichment works down to the state level. + SelectedCountry *string `pulumi:"selectedCountry"` + // Add a Service Name of a text string to show for the service name in spans (for example, "bookings-web-app"). + ServiceName string `pulumi:"serviceName"` +} + +// RumSourcePathInput is an input type that accepts RumSourcePathArgs and RumSourcePathOutput values. +// You can construct a concrete instance of `RumSourcePathInput` via: +// +// RumSourcePathArgs{...} +type RumSourcePathInput interface { + pulumi.Input + + ToRumSourcePathOutput() RumSourcePathOutput + ToRumSourcePathOutputWithContext(context.Context) RumSourcePathOutput +} + +type RumSourcePathArgs struct { + // (Recommended) Add an Application Name tag of a text string to show for the app name in spans (for example, bookings-app). This groups services in the Application Service View. If left blank, services will belong to a "default" application. + ApplicationName pulumi.StringPtrInput `pulumi:"applicationName"` + // Defines custom tags attached to the spans. For example: "internal.version = 0.1.21" + CustomTags pulumi.StringMapInput `pulumi:"customTags"` + // Your production, staging, or development environment name. + DeploymentEnvironment pulumi.StringPtrInput `pulumi:"deploymentEnvironment"` + // Add a list of URLs not to collect trace data from. Supports regex. Make sure provided URLs are valid JavaScript flavor regexes. For example: "/^https:\/\/www.tracker.com\/.*/, /^https:\/\/api.mydomain.com\/log\/.*/" + IgnoreUrls pulumi.StringArrayInput `pulumi:"ignoreUrls"` + // (Recommended) Add a list of URLs or URL patterns that pass tracing context to construct traces end-to-end. Provided URLs should be valid JavaScript flavor regexes. Some examples are "/^https:\/\/api.mydomain.com\/apiv3\/.*/" and "/^https:\/\/www.3rdparty.com\/.*/". + PropagateTraceHeaderCorsUrls pulumi.StringArrayInput `pulumi:"propagateTraceHeaderCorsUrls"` + // Add a Probabilistic sampling rate for heavy traffic sites in a decimal value based on percentage, for example, 10% would be entered as 0.1. Supports floating values between 0.0 and 1.0, defaults to 1.0 (all data is passed). + SamplingRate pulumi.Float64PtrInput `pulumi:"samplingRate"` + // Specify if you want to enrich spans with the details level up to the city - if left blank, enrichment works down to the state level. + SelectedCountry pulumi.StringPtrInput `pulumi:"selectedCountry"` + // Add a Service Name of a text string to show for the service name in spans (for example, "bookings-web-app"). + ServiceName pulumi.StringInput `pulumi:"serviceName"` +} + +func (RumSourcePathArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RumSourcePath)(nil)).Elem() +} + +func (i RumSourcePathArgs) ToRumSourcePathOutput() RumSourcePathOutput { + return i.ToRumSourcePathOutputWithContext(context.Background()) +} + +func (i RumSourcePathArgs) ToRumSourcePathOutputWithContext(ctx context.Context) RumSourcePathOutput { + return pulumi.ToOutputWithContext(ctx, i).(RumSourcePathOutput) +} + +func (i RumSourcePathArgs) ToRumSourcePathPtrOutput() RumSourcePathPtrOutput { + return i.ToRumSourcePathPtrOutputWithContext(context.Background()) +} + +func (i RumSourcePathArgs) ToRumSourcePathPtrOutputWithContext(ctx context.Context) RumSourcePathPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RumSourcePathOutput).ToRumSourcePathPtrOutputWithContext(ctx) +} + +// RumSourcePathPtrInput is an input type that accepts RumSourcePathArgs, RumSourcePathPtr and RumSourcePathPtrOutput values. +// You can construct a concrete instance of `RumSourcePathPtrInput` via: +// +// RumSourcePathArgs{...} +// +// or: +// +// nil +type RumSourcePathPtrInput interface { + pulumi.Input + + ToRumSourcePathPtrOutput() RumSourcePathPtrOutput + ToRumSourcePathPtrOutputWithContext(context.Context) RumSourcePathPtrOutput +} + +type rumSourcePathPtrType RumSourcePathArgs + +func RumSourcePathPtr(v *RumSourcePathArgs) RumSourcePathPtrInput { + return (*rumSourcePathPtrType)(v) +} + +func (*rumSourcePathPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RumSourcePath)(nil)).Elem() +} + +func (i *rumSourcePathPtrType) ToRumSourcePathPtrOutput() RumSourcePathPtrOutput { + return i.ToRumSourcePathPtrOutputWithContext(context.Background()) +} + +func (i *rumSourcePathPtrType) ToRumSourcePathPtrOutputWithContext(ctx context.Context) RumSourcePathPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RumSourcePathPtrOutput) +} + +type RumSourcePathOutput struct{ *pulumi.OutputState } + +func (RumSourcePathOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RumSourcePath)(nil)).Elem() +} + +func (o RumSourcePathOutput) ToRumSourcePathOutput() RumSourcePathOutput { + return o +} + +func (o RumSourcePathOutput) ToRumSourcePathOutputWithContext(ctx context.Context) RumSourcePathOutput { + return o +} + +func (o RumSourcePathOutput) ToRumSourcePathPtrOutput() RumSourcePathPtrOutput { + return o.ToRumSourcePathPtrOutputWithContext(context.Background()) +} + +func (o RumSourcePathOutput) ToRumSourcePathPtrOutputWithContext(ctx context.Context) RumSourcePathPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RumSourcePath) *RumSourcePath { + return &v + }).(RumSourcePathPtrOutput) +} + +// (Recommended) Add an Application Name tag of a text string to show for the app name in spans (for example, bookings-app). This groups services in the Application Service View. If left blank, services will belong to a "default" application. +func (o RumSourcePathOutput) ApplicationName() pulumi.StringPtrOutput { + return o.ApplyT(func(v RumSourcePath) *string { return v.ApplicationName }).(pulumi.StringPtrOutput) +} + +// Defines custom tags attached to the spans. For example: "internal.version = 0.1.21" +func (o RumSourcePathOutput) CustomTags() pulumi.StringMapOutput { + return o.ApplyT(func(v RumSourcePath) map[string]string { return v.CustomTags }).(pulumi.StringMapOutput) +} + +// Your production, staging, or development environment name. +func (o RumSourcePathOutput) DeploymentEnvironment() pulumi.StringPtrOutput { + return o.ApplyT(func(v RumSourcePath) *string { return v.DeploymentEnvironment }).(pulumi.StringPtrOutput) +} + +// Add a list of URLs not to collect trace data from. Supports regex. Make sure provided URLs are valid JavaScript flavor regexes. For example: "/^https:\/\/www.tracker.com\/.*/, /^https:\/\/api.mydomain.com\/log\/.*/" +func (o RumSourcePathOutput) IgnoreUrls() pulumi.StringArrayOutput { + return o.ApplyT(func(v RumSourcePath) []string { return v.IgnoreUrls }).(pulumi.StringArrayOutput) +} + +// (Recommended) Add a list of URLs or URL patterns that pass tracing context to construct traces end-to-end. Provided URLs should be valid JavaScript flavor regexes. Some examples are "/^https:\/\/api.mydomain.com\/apiv3\/.*/" and "/^https:\/\/www.3rdparty.com\/.*/". +func (o RumSourcePathOutput) PropagateTraceHeaderCorsUrls() pulumi.StringArrayOutput { + return o.ApplyT(func(v RumSourcePath) []string { return v.PropagateTraceHeaderCorsUrls }).(pulumi.StringArrayOutput) +} + +// Add a Probabilistic sampling rate for heavy traffic sites in a decimal value based on percentage, for example, 10% would be entered as 0.1. Supports floating values between 0.0 and 1.0, defaults to 1.0 (all data is passed). +func (o RumSourcePathOutput) SamplingRate() pulumi.Float64PtrOutput { + return o.ApplyT(func(v RumSourcePath) *float64 { return v.SamplingRate }).(pulumi.Float64PtrOutput) +} + +// Specify if you want to enrich spans with the details level up to the city - if left blank, enrichment works down to the state level. +func (o RumSourcePathOutput) SelectedCountry() pulumi.StringPtrOutput { + return o.ApplyT(func(v RumSourcePath) *string { return v.SelectedCountry }).(pulumi.StringPtrOutput) +} + +// Add a Service Name of a text string to show for the service name in spans (for example, "bookings-web-app"). +func (o RumSourcePathOutput) ServiceName() pulumi.StringOutput { + return o.ApplyT(func(v RumSourcePath) string { return v.ServiceName }).(pulumi.StringOutput) +} + +type RumSourcePathPtrOutput struct{ *pulumi.OutputState } + +func (RumSourcePathPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RumSourcePath)(nil)).Elem() +} + +func (o RumSourcePathPtrOutput) ToRumSourcePathPtrOutput() RumSourcePathPtrOutput { + return o +} + +func (o RumSourcePathPtrOutput) ToRumSourcePathPtrOutputWithContext(ctx context.Context) RumSourcePathPtrOutput { + return o +} + +func (o RumSourcePathPtrOutput) Elem() RumSourcePathOutput { + return o.ApplyT(func(v *RumSourcePath) RumSourcePath { + if v != nil { + return *v + } + var ret RumSourcePath + return ret + }).(RumSourcePathOutput) +} + +// (Recommended) Add an Application Name tag of a text string to show for the app name in spans (for example, bookings-app). This groups services in the Application Service View. If left blank, services will belong to a "default" application. +func (o RumSourcePathPtrOutput) ApplicationName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RumSourcePath) *string { + if v == nil { + return nil + } + return v.ApplicationName + }).(pulumi.StringPtrOutput) +} + +// Defines custom tags attached to the spans. For example: "internal.version = 0.1.21" +func (o RumSourcePathPtrOutput) CustomTags() pulumi.StringMapOutput { + return o.ApplyT(func(v *RumSourcePath) map[string]string { + if v == nil { + return nil + } + return v.CustomTags + }).(pulumi.StringMapOutput) +} + +// Your production, staging, or development environment name. +func (o RumSourcePathPtrOutput) DeploymentEnvironment() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RumSourcePath) *string { + if v == nil { + return nil + } + return v.DeploymentEnvironment + }).(pulumi.StringPtrOutput) +} + +// Add a list of URLs not to collect trace data from. Supports regex. Make sure provided URLs are valid JavaScript flavor regexes. For example: "/^https:\/\/www.tracker.com\/.*/, /^https:\/\/api.mydomain.com\/log\/.*/" +func (o RumSourcePathPtrOutput) IgnoreUrls() pulumi.StringArrayOutput { + return o.ApplyT(func(v *RumSourcePath) []string { + if v == nil { + return nil + } + return v.IgnoreUrls + }).(pulumi.StringArrayOutput) +} + +// (Recommended) Add a list of URLs or URL patterns that pass tracing context to construct traces end-to-end. Provided URLs should be valid JavaScript flavor regexes. Some examples are "/^https:\/\/api.mydomain.com\/apiv3\/.*/" and "/^https:\/\/www.3rdparty.com\/.*/". +func (o RumSourcePathPtrOutput) PropagateTraceHeaderCorsUrls() pulumi.StringArrayOutput { + return o.ApplyT(func(v *RumSourcePath) []string { + if v == nil { + return nil + } + return v.PropagateTraceHeaderCorsUrls + }).(pulumi.StringArrayOutput) +} + +// Add a Probabilistic sampling rate for heavy traffic sites in a decimal value based on percentage, for example, 10% would be entered as 0.1. Supports floating values between 0.0 and 1.0, defaults to 1.0 (all data is passed). +func (o RumSourcePathPtrOutput) SamplingRate() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *RumSourcePath) *float64 { + if v == nil { + return nil + } + return v.SamplingRate + }).(pulumi.Float64PtrOutput) +} + +// Specify if you want to enrich spans with the details level up to the city - if left blank, enrichment works down to the state level. +func (o RumSourcePathPtrOutput) SelectedCountry() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RumSourcePath) *string { + if v == nil { + return nil + } + return v.SelectedCountry + }).(pulumi.StringPtrOutput) +} + +// Add a Service Name of a text string to show for the service name in spans (for example, "bookings-web-app"). +func (o RumSourcePathPtrOutput) ServiceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RumSourcePath) *string { + if v == nil { + return nil + } + return &v.ServiceName + }).(pulumi.StringPtrOutput) +} + type S3ArchiveSourceAuthentication struct { // Your AWS access key if using type `S3BucketAuthentication`. AccessKey *string `pulumi:"accessKey"` @@ -21447,6 +24098,34 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*MetadataSourceFilterArrayInput)(nil)).Elem(), MetadataSourceFilterArray{}) pulumi.RegisterInputType(reflect.TypeOf((*MetadataSourcePathInput)(nil)).Elem(), MetadataSourcePathArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MetadataSourcePathPtrInput)(nil)).Elem(), MetadataSourcePathArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchMetricsQueryInput)(nil)).Elem(), MetricsSearchMetricsQueryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchMetricsQueryArrayInput)(nil)).Elem(), MetricsSearchMetricsQueryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchTimeRangeInput)(nil)).Elem(), MetricsSearchTimeRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchTimeRangePtrInput)(nil)).Elem(), MetricsSearchTimeRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeInput)(nil)).Elem(), MetricsSearchTimeRangeBeginBoundedTimeRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangePtrInput)(nil)).Elem(), MetricsSearchTimeRangeBeginBoundedTimeRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeFromInput)(nil)).Elem(), MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrInput)(nil)).Elem(), MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeInput)(nil)).Elem(), MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrInput)(nil)).Elem(), MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeInput)(nil)).Elem(), MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrInput)(nil)).Elem(), MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeInput)(nil)).Elem(), MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrInput)(nil)).Elem(), MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeInput)(nil)).Elem(), MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrInput)(nil)).Elem(), MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeToInput)(nil)).Elem(), MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrInput)(nil)).Elem(), MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeInput)(nil)).Elem(), MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrInput)(nil)).Elem(), MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeInput)(nil)).Elem(), MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrInput)(nil)).Elem(), MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeInput)(nil)).Elem(), MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrInput)(nil)).Elem(), MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeInput)(nil)).Elem(), MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrInput)(nil)).Elem(), MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchTimeRangeCompleteLiteralTimeRangeInput)(nil)).Elem(), MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MetricsSearchTimeRangeCompleteLiteralTimeRangePtrInput)(nil)).Elem(), MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MonitorFolderObjPermissionInput)(nil)).Elem(), MonitorFolderObjPermissionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MonitorFolderObjPermissionArrayInput)(nil)).Elem(), MonitorFolderObjPermissionArray{}) pulumi.RegisterInputType(reflect.TypeOf((*MonitorNotificationInput)(nil)).Elem(), MonitorNotificationArgs{}) @@ -21532,6 +24211,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*PollingSourcePathPtrInput)(nil)).Elem(), PollingSourcePathArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PollingSourcePathTagFilterInput)(nil)).Elem(), PollingSourcePathTagFilterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PollingSourcePathTagFilterArrayInput)(nil)).Elem(), PollingSourcePathTagFilterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RumSourceDefaultDateFormatInput)(nil)).Elem(), RumSourceDefaultDateFormatArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RumSourceDefaultDateFormatArrayInput)(nil)).Elem(), RumSourceDefaultDateFormatArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RumSourceFilterInput)(nil)).Elem(), RumSourceFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RumSourceFilterArrayInput)(nil)).Elem(), RumSourceFilterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RumSourcePathInput)(nil)).Elem(), RumSourcePathArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RumSourcePathPtrInput)(nil)).Elem(), RumSourcePathArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*S3ArchiveSourceAuthenticationInput)(nil)).Elem(), S3ArchiveSourceAuthenticationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*S3ArchiveSourceAuthenticationPtrInput)(nil)).Elem(), S3ArchiveSourceAuthenticationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*S3ArchiveSourceDefaultDateFormatInput)(nil)).Elem(), S3ArchiveSourceDefaultDateFormatArgs{}) @@ -21721,6 +24406,34 @@ func init() { pulumi.RegisterOutputType(MetadataSourceFilterArrayOutput{}) pulumi.RegisterOutputType(MetadataSourcePathOutput{}) pulumi.RegisterOutputType(MetadataSourcePathPtrOutput{}) + pulumi.RegisterOutputType(MetricsSearchMetricsQueryOutput{}) + pulumi.RegisterOutputType(MetricsSearchMetricsQueryArrayOutput{}) + pulumi.RegisterOutputType(MetricsSearchTimeRangeOutput{}) + pulumi.RegisterOutputType(MetricsSearchTimeRangePtrOutput{}) + pulumi.RegisterOutputType(MetricsSearchTimeRangeBeginBoundedTimeRangeOutput{}) + pulumi.RegisterOutputType(MetricsSearchTimeRangeBeginBoundedTimeRangePtrOutput{}) + pulumi.RegisterOutputType(MetricsSearchTimeRangeBeginBoundedTimeRangeFromOutput{}) + pulumi.RegisterOutputType(MetricsSearchTimeRangeBeginBoundedTimeRangeFromPtrOutput{}) + pulumi.RegisterOutputType(MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeOutput{}) + pulumi.RegisterOutputType(MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangePtrOutput{}) + pulumi.RegisterOutputType(MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeOutput{}) + pulumi.RegisterOutputType(MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangePtrOutput{}) + pulumi.RegisterOutputType(MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeOutput{}) + pulumi.RegisterOutputType(MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangePtrOutput{}) + pulumi.RegisterOutputType(MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeOutput{}) + pulumi.RegisterOutputType(MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangePtrOutput{}) + pulumi.RegisterOutputType(MetricsSearchTimeRangeBeginBoundedTimeRangeToOutput{}) + pulumi.RegisterOutputType(MetricsSearchTimeRangeBeginBoundedTimeRangeToPtrOutput{}) + pulumi.RegisterOutputType(MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeOutput{}) + pulumi.RegisterOutputType(MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangePtrOutput{}) + pulumi.RegisterOutputType(MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeOutput{}) + pulumi.RegisterOutputType(MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangePtrOutput{}) + pulumi.RegisterOutputType(MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeOutput{}) + pulumi.RegisterOutputType(MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangePtrOutput{}) + pulumi.RegisterOutputType(MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeOutput{}) + pulumi.RegisterOutputType(MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangePtrOutput{}) + pulumi.RegisterOutputType(MetricsSearchTimeRangeCompleteLiteralTimeRangeOutput{}) + pulumi.RegisterOutputType(MetricsSearchTimeRangeCompleteLiteralTimeRangePtrOutput{}) pulumi.RegisterOutputType(MonitorFolderObjPermissionOutput{}) pulumi.RegisterOutputType(MonitorFolderObjPermissionArrayOutput{}) pulumi.RegisterOutputType(MonitorNotificationOutput{}) @@ -21806,6 +24519,12 @@ func init() { pulumi.RegisterOutputType(PollingSourcePathPtrOutput{}) pulumi.RegisterOutputType(PollingSourcePathTagFilterOutput{}) pulumi.RegisterOutputType(PollingSourcePathTagFilterArrayOutput{}) + pulumi.RegisterOutputType(RumSourceDefaultDateFormatOutput{}) + pulumi.RegisterOutputType(RumSourceDefaultDateFormatArrayOutput{}) + pulumi.RegisterOutputType(RumSourceFilterOutput{}) + pulumi.RegisterOutputType(RumSourceFilterArrayOutput{}) + pulumi.RegisterOutputType(RumSourcePathOutput{}) + pulumi.RegisterOutputType(RumSourcePathPtrOutput{}) pulumi.RegisterOutputType(S3ArchiveSourceAuthenticationOutput{}) pulumi.RegisterOutputType(S3ArchiveSourceAuthenticationPtrOutput{}) pulumi.RegisterOutputType(S3ArchiveSourceDefaultDateFormatOutput{}) diff --git a/sdk/go/sumologic/pulumiUtilities.go b/sdk/go/sumologic/pulumiUtilities.go deleted file mode 100644 index deb12029..00000000 --- a/sdk/go/sumologic/pulumiUtilities.go +++ /dev/null @@ -1,87 +0,0 @@ -// 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 sumologic - -import ( - "fmt" - "os" - "reflect" - "regexp" - "strconv" - "strings" - - "github.com/blang/semver" - "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -) - -type envParser func(v string) interface{} - -func parseEnvBool(v string) interface{} { - b, err := strconv.ParseBool(v) - if err != nil { - return nil - } - return b -} - -func parseEnvInt(v string) interface{} { - i, err := strconv.ParseInt(v, 0, 0) - if err != nil { - return nil - } - return int(i) -} - -func parseEnvFloat(v string) interface{} { - f, err := strconv.ParseFloat(v, 64) - if err != nil { - return nil - } - return f -} - -func parseEnvStringArray(v string) interface{} { - var result pulumi.StringArray - for _, item := range strings.Split(v, ";") { - result = append(result, pulumi.String(item)) - } - return result -} - -func getEnvOrDefault(def interface{}, parser envParser, vars ...string) interface{} { - for _, v := range vars { - if value, ok := os.LookupEnv(v); ok { - if parser != nil { - return parser(value) - } - return value - } - } - return def -} - -// PkgVersion uses reflection to determine the version of the current package. -// If a version cannot be determined, v1 will be assumed. The second return -// value is always nil. -func PkgVersion() (semver.Version, error) { - type sentinal struct{} - pkgPath := reflect.TypeOf(sentinal{}).PkgPath() - re := regexp.MustCompile("^.*/pulumi-sumologic/sdk(/v\\d+)?") - if match := re.FindStringSubmatch(pkgPath); match != nil { - vStr := match[1] - if len(vStr) == 0 { // If the version capture group was empty, default to v1. - return semver.Version{Major: 1}, nil - } - return semver.MustParse(fmt.Sprintf("%s.0.0", vStr[2:])), nil - } - return semver.Version{Major: 1}, nil -} - -// isZero is a null safe check for if a value is it's types zero value. -func isZero(v interface{}) bool { - if v == nil { - return true - } - return reflect.ValueOf(v).IsZero() -} diff --git a/sdk/go/sumologic/role.go b/sdk/go/sumologic/role.go index 3b3d74a2..bbb86b82 100644 --- a/sdk/go/sumologic/role.go +++ b/sdk/go/sumologic/role.go @@ -7,6 +7,7 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -75,6 +76,7 @@ func NewRole(ctx *pulumi.Context, args = &RoleArgs{} } + opts = internal.PkgResourceDefaultOpts(opts) var resource Role err := ctx.RegisterResource("sumologic:index/role:Role", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/rumSource.go b/sdk/go/sumologic/rumSource.go new file mode 100644 index 00000000..d37123ab --- /dev/null +++ b/sdk/go/sumologic/rumSource.go @@ -0,0 +1,384 @@ +// 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 sumologic + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a Sumologic Rum Source. +// +// ## Import +// +// # Rum sources can be imported using the collector and source IDs, e.g.hcl +// +// ```sh +// +// $ pulumi import sumologic:index/rumSource:RumSource test 123/456 +// +// ``` +// +// Rum sources can also be imported using the collector name and source name, e.g.hcl +// +// ```sh +// +// $ pulumi import sumologic:index/rumSource:RumSource test my-test-collector/my-test-source +// +// ``` +type RumSource struct { + pulumi.CustomResourceState + + AutomaticDateParsing pulumi.BoolPtrOutput `pulumi:"automaticDateParsing"` + Category pulumi.StringPtrOutput `pulumi:"category"` + CollectorId pulumi.IntOutput `pulumi:"collectorId"` + ContentType pulumi.StringPtrOutput `pulumi:"contentType"` + CutoffRelativeTime pulumi.StringPtrOutput `pulumi:"cutoffRelativeTime"` + CutoffTimestamp pulumi.IntPtrOutput `pulumi:"cutoffTimestamp"` + DefaultDateFormats RumSourceDefaultDateFormatArrayOutput `pulumi:"defaultDateFormats"` + Description pulumi.StringPtrOutput `pulumi:"description"` + Fields pulumi.StringMapOutput `pulumi:"fields"` + Filters RumSourceFilterArrayOutput `pulumi:"filters"` + ForceTimezone pulumi.BoolPtrOutput `pulumi:"forceTimezone"` + HostName pulumi.StringPtrOutput `pulumi:"hostName"` + ManualPrefixRegexp pulumi.StringPtrOutput `pulumi:"manualPrefixRegexp"` + MultilineProcessingEnabled pulumi.BoolPtrOutput `pulumi:"multilineProcessingEnabled"` + Name pulumi.StringOutput `pulumi:"name"` + Path RumSourcePathPtrOutput `pulumi:"path"` + Timezone pulumi.StringPtrOutput `pulumi:"timezone"` + UseAutolineMatching pulumi.BoolPtrOutput `pulumi:"useAutolineMatching"` +} + +// NewRumSource registers a new resource with the given unique name, arguments, and options. +func NewRumSource(ctx *pulumi.Context, + name string, args *RumSourceArgs, opts ...pulumi.ResourceOption) (*RumSource, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.CollectorId == nil { + return nil, errors.New("invalid value for required argument 'CollectorId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource RumSource + err := ctx.RegisterResource("sumologic:index/rumSource:RumSource", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetRumSource gets an existing RumSource 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 GetRumSource(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *RumSourceState, opts ...pulumi.ResourceOption) (*RumSource, error) { + var resource RumSource + err := ctx.ReadResource("sumologic:index/rumSource:RumSource", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering RumSource resources. +type rumSourceState struct { + AutomaticDateParsing *bool `pulumi:"automaticDateParsing"` + Category *string `pulumi:"category"` + CollectorId *int `pulumi:"collectorId"` + ContentType *string `pulumi:"contentType"` + CutoffRelativeTime *string `pulumi:"cutoffRelativeTime"` + CutoffTimestamp *int `pulumi:"cutoffTimestamp"` + DefaultDateFormats []RumSourceDefaultDateFormat `pulumi:"defaultDateFormats"` + Description *string `pulumi:"description"` + Fields map[string]string `pulumi:"fields"` + Filters []RumSourceFilter `pulumi:"filters"` + ForceTimezone *bool `pulumi:"forceTimezone"` + HostName *string `pulumi:"hostName"` + ManualPrefixRegexp *string `pulumi:"manualPrefixRegexp"` + MultilineProcessingEnabled *bool `pulumi:"multilineProcessingEnabled"` + Name *string `pulumi:"name"` + Path *RumSourcePath `pulumi:"path"` + Timezone *string `pulumi:"timezone"` + UseAutolineMatching *bool `pulumi:"useAutolineMatching"` +} + +type RumSourceState struct { + AutomaticDateParsing pulumi.BoolPtrInput + Category pulumi.StringPtrInput + CollectorId pulumi.IntPtrInput + ContentType pulumi.StringPtrInput + CutoffRelativeTime pulumi.StringPtrInput + CutoffTimestamp pulumi.IntPtrInput + DefaultDateFormats RumSourceDefaultDateFormatArrayInput + Description pulumi.StringPtrInput + Fields pulumi.StringMapInput + Filters RumSourceFilterArrayInput + ForceTimezone pulumi.BoolPtrInput + HostName pulumi.StringPtrInput + ManualPrefixRegexp pulumi.StringPtrInput + MultilineProcessingEnabled pulumi.BoolPtrInput + Name pulumi.StringPtrInput + Path RumSourcePathPtrInput + Timezone pulumi.StringPtrInput + UseAutolineMatching pulumi.BoolPtrInput +} + +func (RumSourceState) ElementType() reflect.Type { + return reflect.TypeOf((*rumSourceState)(nil)).Elem() +} + +type rumSourceArgs struct { + AutomaticDateParsing *bool `pulumi:"automaticDateParsing"` + Category *string `pulumi:"category"` + CollectorId int `pulumi:"collectorId"` + ContentType *string `pulumi:"contentType"` + CutoffRelativeTime *string `pulumi:"cutoffRelativeTime"` + CutoffTimestamp *int `pulumi:"cutoffTimestamp"` + DefaultDateFormats []RumSourceDefaultDateFormat `pulumi:"defaultDateFormats"` + Description *string `pulumi:"description"` + Fields map[string]string `pulumi:"fields"` + Filters []RumSourceFilter `pulumi:"filters"` + ForceTimezone *bool `pulumi:"forceTimezone"` + HostName *string `pulumi:"hostName"` + ManualPrefixRegexp *string `pulumi:"manualPrefixRegexp"` + MultilineProcessingEnabled *bool `pulumi:"multilineProcessingEnabled"` + Name *string `pulumi:"name"` + Path *RumSourcePath `pulumi:"path"` + Timezone *string `pulumi:"timezone"` + UseAutolineMatching *bool `pulumi:"useAutolineMatching"` +} + +// The set of arguments for constructing a RumSource resource. +type RumSourceArgs struct { + AutomaticDateParsing pulumi.BoolPtrInput + Category pulumi.StringPtrInput + CollectorId pulumi.IntInput + ContentType pulumi.StringPtrInput + CutoffRelativeTime pulumi.StringPtrInput + CutoffTimestamp pulumi.IntPtrInput + DefaultDateFormats RumSourceDefaultDateFormatArrayInput + Description pulumi.StringPtrInput + Fields pulumi.StringMapInput + Filters RumSourceFilterArrayInput + ForceTimezone pulumi.BoolPtrInput + HostName pulumi.StringPtrInput + ManualPrefixRegexp pulumi.StringPtrInput + MultilineProcessingEnabled pulumi.BoolPtrInput + Name pulumi.StringPtrInput + Path RumSourcePathPtrInput + Timezone pulumi.StringPtrInput + UseAutolineMatching pulumi.BoolPtrInput +} + +func (RumSourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*rumSourceArgs)(nil)).Elem() +} + +type RumSourceInput interface { + pulumi.Input + + ToRumSourceOutput() RumSourceOutput + ToRumSourceOutputWithContext(ctx context.Context) RumSourceOutput +} + +func (*RumSource) ElementType() reflect.Type { + return reflect.TypeOf((**RumSource)(nil)).Elem() +} + +func (i *RumSource) ToRumSourceOutput() RumSourceOutput { + return i.ToRumSourceOutputWithContext(context.Background()) +} + +func (i *RumSource) ToRumSourceOutputWithContext(ctx context.Context) RumSourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(RumSourceOutput) +} + +// RumSourceArrayInput is an input type that accepts RumSourceArray and RumSourceArrayOutput values. +// You can construct a concrete instance of `RumSourceArrayInput` via: +// +// RumSourceArray{ RumSourceArgs{...} } +type RumSourceArrayInput interface { + pulumi.Input + + ToRumSourceArrayOutput() RumSourceArrayOutput + ToRumSourceArrayOutputWithContext(context.Context) RumSourceArrayOutput +} + +type RumSourceArray []RumSourceInput + +func (RumSourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RumSource)(nil)).Elem() +} + +func (i RumSourceArray) ToRumSourceArrayOutput() RumSourceArrayOutput { + return i.ToRumSourceArrayOutputWithContext(context.Background()) +} + +func (i RumSourceArray) ToRumSourceArrayOutputWithContext(ctx context.Context) RumSourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RumSourceArrayOutput) +} + +// RumSourceMapInput is an input type that accepts RumSourceMap and RumSourceMapOutput values. +// You can construct a concrete instance of `RumSourceMapInput` via: +// +// RumSourceMap{ "key": RumSourceArgs{...} } +type RumSourceMapInput interface { + pulumi.Input + + ToRumSourceMapOutput() RumSourceMapOutput + ToRumSourceMapOutputWithContext(context.Context) RumSourceMapOutput +} + +type RumSourceMap map[string]RumSourceInput + +func (RumSourceMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RumSource)(nil)).Elem() +} + +func (i RumSourceMap) ToRumSourceMapOutput() RumSourceMapOutput { + return i.ToRumSourceMapOutputWithContext(context.Background()) +} + +func (i RumSourceMap) ToRumSourceMapOutputWithContext(ctx context.Context) RumSourceMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(RumSourceMapOutput) +} + +type RumSourceOutput struct{ *pulumi.OutputState } + +func (RumSourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RumSource)(nil)).Elem() +} + +func (o RumSourceOutput) ToRumSourceOutput() RumSourceOutput { + return o +} + +func (o RumSourceOutput) ToRumSourceOutputWithContext(ctx context.Context) RumSourceOutput { + return o +} + +func (o RumSourceOutput) AutomaticDateParsing() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *RumSource) pulumi.BoolPtrOutput { return v.AutomaticDateParsing }).(pulumi.BoolPtrOutput) +} + +func (o RumSourceOutput) Category() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RumSource) pulumi.StringPtrOutput { return v.Category }).(pulumi.StringPtrOutput) +} + +func (o RumSourceOutput) CollectorId() pulumi.IntOutput { + return o.ApplyT(func(v *RumSource) pulumi.IntOutput { return v.CollectorId }).(pulumi.IntOutput) +} + +func (o RumSourceOutput) ContentType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RumSource) pulumi.StringPtrOutput { return v.ContentType }).(pulumi.StringPtrOutput) +} + +func (o RumSourceOutput) CutoffRelativeTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RumSource) pulumi.StringPtrOutput { return v.CutoffRelativeTime }).(pulumi.StringPtrOutput) +} + +func (o RumSourceOutput) CutoffTimestamp() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RumSource) pulumi.IntPtrOutput { return v.CutoffTimestamp }).(pulumi.IntPtrOutput) +} + +func (o RumSourceOutput) DefaultDateFormats() RumSourceDefaultDateFormatArrayOutput { + return o.ApplyT(func(v *RumSource) RumSourceDefaultDateFormatArrayOutput { return v.DefaultDateFormats }).(RumSourceDefaultDateFormatArrayOutput) +} + +func (o RumSourceOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RumSource) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +func (o RumSourceOutput) Fields() pulumi.StringMapOutput { + return o.ApplyT(func(v *RumSource) pulumi.StringMapOutput { return v.Fields }).(pulumi.StringMapOutput) +} + +func (o RumSourceOutput) Filters() RumSourceFilterArrayOutput { + return o.ApplyT(func(v *RumSource) RumSourceFilterArrayOutput { return v.Filters }).(RumSourceFilterArrayOutput) +} + +func (o RumSourceOutput) ForceTimezone() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *RumSource) pulumi.BoolPtrOutput { return v.ForceTimezone }).(pulumi.BoolPtrOutput) +} + +func (o RumSourceOutput) HostName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RumSource) pulumi.StringPtrOutput { return v.HostName }).(pulumi.StringPtrOutput) +} + +func (o RumSourceOutput) ManualPrefixRegexp() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RumSource) pulumi.StringPtrOutput { return v.ManualPrefixRegexp }).(pulumi.StringPtrOutput) +} + +func (o RumSourceOutput) MultilineProcessingEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *RumSource) pulumi.BoolPtrOutput { return v.MultilineProcessingEnabled }).(pulumi.BoolPtrOutput) +} + +func (o RumSourceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *RumSource) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +func (o RumSourceOutput) Path() RumSourcePathPtrOutput { + return o.ApplyT(func(v *RumSource) RumSourcePathPtrOutput { return v.Path }).(RumSourcePathPtrOutput) +} + +func (o RumSourceOutput) Timezone() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RumSource) pulumi.StringPtrOutput { return v.Timezone }).(pulumi.StringPtrOutput) +} + +func (o RumSourceOutput) UseAutolineMatching() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *RumSource) pulumi.BoolPtrOutput { return v.UseAutolineMatching }).(pulumi.BoolPtrOutput) +} + +type RumSourceArrayOutput struct{ *pulumi.OutputState } + +func (RumSourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RumSource)(nil)).Elem() +} + +func (o RumSourceArrayOutput) ToRumSourceArrayOutput() RumSourceArrayOutput { + return o +} + +func (o RumSourceArrayOutput) ToRumSourceArrayOutputWithContext(ctx context.Context) RumSourceArrayOutput { + return o +} + +func (o RumSourceArrayOutput) Index(i pulumi.IntInput) RumSourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *RumSource { + return vs[0].([]*RumSource)[vs[1].(int)] + }).(RumSourceOutput) +} + +type RumSourceMapOutput struct{ *pulumi.OutputState } + +func (RumSourceMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RumSource)(nil)).Elem() +} + +func (o RumSourceMapOutput) ToRumSourceMapOutput() RumSourceMapOutput { + return o +} + +func (o RumSourceMapOutput) ToRumSourceMapOutputWithContext(ctx context.Context) RumSourceMapOutput { + return o +} + +func (o RumSourceMapOutput) MapIndex(k pulumi.StringInput) RumSourceOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *RumSource { + return vs[0].(map[string]*RumSource)[vs[1].(string)] + }).(RumSourceOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*RumSourceInput)(nil)).Elem(), &RumSource{}) + pulumi.RegisterInputType(reflect.TypeOf((*RumSourceArrayInput)(nil)).Elem(), RumSourceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RumSourceMapInput)(nil)).Elem(), RumSourceMap{}) + pulumi.RegisterOutputType(RumSourceOutput{}) + pulumi.RegisterOutputType(RumSourceArrayOutput{}) + pulumi.RegisterOutputType(RumSourceMapOutput{}) +} diff --git a/sdk/go/sumologic/s3archiveSource.go b/sdk/go/sumologic/s3archiveSource.go index cf2bd79d..6bd10f3d 100644 --- a/sdk/go/sumologic/s3archiveSource.go +++ b/sdk/go/sumologic/s3archiveSource.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -139,6 +140,7 @@ func NewS3ArchiveSource(ctx *pulumi.Context, if args.ScanInterval == nil { return nil, errors.New("invalid value for required argument 'ScanInterval'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource S3ArchiveSource err := ctx.RegisterResource("sumologic:index/s3ArchiveSource:S3ArchiveSource", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/s3auditSource.go b/sdk/go/sumologic/s3auditSource.go index d36009f1..faf09801 100644 --- a/sdk/go/sumologic/s3auditSource.go +++ b/sdk/go/sumologic/s3auditSource.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -139,6 +140,7 @@ func NewS3AuditSource(ctx *pulumi.Context, if args.ScanInterval == nil { return nil, errors.New("invalid value for required argument 'ScanInterval'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource S3AuditSource err := ctx.RegisterResource("sumologic:index/s3AuditSource:S3AuditSource", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/s3source.go b/sdk/go/sumologic/s3source.go index c5846cbc..8fc86dcf 100644 --- a/sdk/go/sumologic/s3source.go +++ b/sdk/go/sumologic/s3source.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -139,6 +140,7 @@ func NewS3Source(ctx *pulumi.Context, if args.ScanInterval == nil { return nil, errors.New("invalid value for required argument 'ScanInterval'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource S3Source err := ctx.RegisterResource("sumologic:index/s3Source:S3Source", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/samlConfiguration.go b/sdk/go/sumologic/samlConfiguration.go index eba675cb..46e53635 100644 --- a/sdk/go/sumologic/samlConfiguration.go +++ b/sdk/go/sumologic/samlConfiguration.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -138,6 +139,7 @@ func NewSamlConfiguration(ctx *pulumi.Context, if args.X509cert1 == nil { return nil, errors.New("invalid value for required argument 'X509cert1'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource SamlConfiguration err := ctx.RegisterResource("sumologic:index/samlConfiguration:SamlConfiguration", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/scheduledView.go b/sdk/go/sumologic/scheduledView.go index 9abbbe2d..e4d68f45 100644 --- a/sdk/go/sumologic/scheduledView.go +++ b/sdk/go/sumologic/scheduledView.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -61,6 +62,7 @@ func NewScheduledView(ctx *pulumi.Context, if args.StartTime == nil { return nil, errors.New("invalid value for required argument 'StartTime'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource ScheduledView err := ctx.RegisterResource("sumologic:index/scheduledView:ScheduledView", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/slo.go b/sdk/go/sumologic/slo.go index 084c0b75..0b35ddd9 100644 --- a/sdk/go/sumologic/slo.go +++ b/sdk/go/sumologic/slo.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -67,6 +68,7 @@ func NewSlo(ctx *pulumi.Context, if args.SignalType == nil { return nil, errors.New("invalid value for required argument 'SignalType'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource Slo err := ctx.RegisterResource("sumologic:index/slo:Slo", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/sloFolder.go b/sdk/go/sumologic/sloFolder.go index 160036df..9aaba06d 100644 --- a/sdk/go/sumologic/sloFolder.go +++ b/sdk/go/sumologic/sloFolder.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -126,6 +127,7 @@ func NewSloFolder(ctx *pulumi.Context, if args.Description == nil { return nil, errors.New("invalid value for required argument 'Description'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource SloFolder err := ctx.RegisterResource("sumologic:index/sloFolder:SloFolder", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/subdomain.go b/sdk/go/sumologic/subdomain.go index 505dc211..4e4b69c5 100644 --- a/sdk/go/sumologic/subdomain.go +++ b/sdk/go/sumologic/subdomain.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -62,6 +63,7 @@ func NewSubdomain(ctx *pulumi.Context, if args.Subdomain == nil { return nil, errors.New("invalid value for required argument 'Subdomain'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource Subdomain err := ctx.RegisterResource("sumologic:index/subdomain:Subdomain", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/token.go b/sdk/go/sumologic/token.go index 5e7cc320..bfb9a923 100644 --- a/sdk/go/sumologic/token.go +++ b/sdk/go/sumologic/token.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -81,6 +82,7 @@ func NewToken(ctx *pulumi.Context, if args.Type == nil { return nil, errors.New("invalid value for required argument 'Type'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource Token err := ctx.RegisterResource("sumologic:index/token:Token", name, args, &resource, opts...) if err != nil { diff --git a/sdk/go/sumologic/user.go b/sdk/go/sumologic/user.go index 2b4ffa5e..5d6a62e7 100644 --- a/sdk/go/sumologic/user.go +++ b/sdk/go/sumologic/user.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-sumologic/sdk/go/sumologic/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -119,6 +120,7 @@ func NewUser(ctx *pulumi.Context, if args.TransferTo == nil { return nil, errors.New("invalid value for required argument 'TransferTo'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource User err := ctx.RegisterResource("sumologic:index/user:User", name, args, &resource, opts...) if err != nil { diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/CseMatchList.java b/sdk/java/src/main/java/com/pulumi/sumologic/CseMatchList.java index affdef82..15e8413c 100644 --- a/sdk/java/src/main/java/com/pulumi/sumologic/CseMatchList.java +++ b/sdk/java/src/main/java/com/pulumi/sumologic/CseMatchList.java @@ -109,17 +109,9 @@ public Output> defaultTtl() { public Output description() { return this.description; } - /** - * List of match list items. See match_list_item schema for details. - * - */ @Export(name="items", type=List.class, parameters={CseMatchListItem.class}) private Output> items; - /** - * @return List of match list items. See match_list_item schema for details. - * - */ public Output>> items() { return Codegen.optional(this.items); } diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/CseMatchListArgs.java b/sdk/java/src/main/java/com/pulumi/sumologic/CseMatchListArgs.java index 7ac5c3ea..0d60b817 100644 --- a/sdk/java/src/main/java/com/pulumi/sumologic/CseMatchListArgs.java +++ b/sdk/java/src/main/java/com/pulumi/sumologic/CseMatchListArgs.java @@ -48,17 +48,9 @@ public Output description() { return this.description; } - /** - * List of match list items. See match_list_item schema for details. - * - */ @Import(name="items") private @Nullable Output> items; - /** - * @return List of match list items. See match_list_item schema for details. - * - */ public Optional>> items() { return Optional.ofNullable(this.items); } @@ -163,33 +155,15 @@ public Builder description(String description) { return description(Output.of(description)); } - /** - * @param items List of match list items. See match_list_item schema for details. - * - * @return builder - * - */ public Builder items(@Nullable Output> items) { $.items = items; return this; } - /** - * @param items List of match list items. See match_list_item schema for details. - * - * @return builder - * - */ public Builder items(List items) { return items(Output.of(items)); } - /** - * @param items List of match list items. See match_list_item schema for details. - * - * @return builder - * - */ public Builder items(CseMatchListItemArgs... items) { return items(List.of(items)); } diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/IngestBudgetV2.java b/sdk/java/src/main/java/com/pulumi/sumologic/IngestBudgetV2.java index a1f0ae9a..680b112c 100644 --- a/sdk/java/src/main/java/com/pulumi/sumologic/IngestBudgetV2.java +++ b/sdk/java/src/main/java/com/pulumi/sumologic/IngestBudgetV2.java @@ -43,6 +43,7 @@ * var budget = new IngestBudgetV2("budget", IngestBudgetV2Args.builder() * .action("keepCollecting") * .auditThreshold(85) + * .budgetType("dailyVolume") * .capacityBytes(30000000000) * .description("For testing purposes") * .resetTime("00:00") @@ -56,10 +57,10 @@ * * ## Import * - * Ingest budgets can be imported using the name, e.g.hcl + * Ingest budgets can be imported using the budget ID, e.g.hcl * * ```sh - * $ pulumi import sumologic:index/ingestBudgetV2:IngestBudgetV2 budget budgetName + * $ pulumi import sumologic:index/ingestBudgetV2:IngestBudgetV2 budget 00000000000123AB * ``` * * [1]https://help.sumologic.com/Beta/Metadata_Ingest_Budgets [2]https://en.wikipedia.org/wiki/Tz_database @@ -100,14 +101,28 @@ public Output> auditThreshold() { return Codegen.optional(this.auditThreshold); } /** - * Capacity of the ingest budget, in bytes. + * The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`. + * + */ + @Export(name="budgetType", type=String.class, parameters={}) + private Output budgetType; + + /** + * @return The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`. + * + */ + public Output> budgetType() { + return Codegen.optional(this.budgetType); + } + /** + * Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min. * */ @Export(name="capacityBytes", type=Integer.class, parameters={}) private Output capacityBytes; /** - * @return Capacity of the ingest budget, in bytes. + * @return Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min. * */ public Output capacityBytes() { diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/IngestBudgetV2Args.java b/sdk/java/src/main/java/com/pulumi/sumologic/IngestBudgetV2Args.java index eeff08c3..8ecbd9c2 100644 --- a/sdk/java/src/main/java/com/pulumi/sumologic/IngestBudgetV2Args.java +++ b/sdk/java/src/main/java/com/pulumi/sumologic/IngestBudgetV2Args.java @@ -51,14 +51,29 @@ public Optional> auditThreshold() { } /** - * Capacity of the ingest budget, in bytes. + * The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`. + * + */ + @Import(name="budgetType") + private @Nullable Output budgetType; + + /** + * @return The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`. + * + */ + public Optional> budgetType() { + return Optional.ofNullable(this.budgetType); + } + + /** + * Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min. * */ @Import(name="capacityBytes", required=true) private Output capacityBytes; /** - * @return Capacity of the ingest budget, in bytes. + * @return Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min. * */ public Output capacityBytes() { @@ -145,6 +160,7 @@ private IngestBudgetV2Args() {} private IngestBudgetV2Args(IngestBudgetV2Args $) { this.action = $.action; this.auditThreshold = $.auditThreshold; + this.budgetType = $.budgetType; this.capacityBytes = $.capacityBytes; this.description = $.description; this.name = $.name; @@ -218,7 +234,28 @@ public Builder auditThreshold(Integer auditThreshold) { } /** - * @param capacityBytes Capacity of the ingest budget, in bytes. + * @param budgetType The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`. + * + * @return builder + * + */ + public Builder budgetType(@Nullable Output budgetType) { + $.budgetType = budgetType; + return this; + } + + /** + * @param budgetType The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`. + * + * @return builder + * + */ + public Builder budgetType(String budgetType) { + return budgetType(Output.of(budgetType)); + } + + /** + * @param capacityBytes Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min. * * @return builder * @@ -229,7 +266,7 @@ public Builder capacityBytes(Output capacityBytes) { } /** - * @param capacityBytes Capacity of the ingest budget, in bytes. + * @param capacityBytes Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/LogSearch.java b/sdk/java/src/main/java/com/pulumi/sumologic/LogSearch.java index acf18e55..02f5bcf1 100644 --- a/sdk/java/src/main/java/com/pulumi/sumologic/LogSearch.java +++ b/sdk/java/src/main/java/com/pulumi/sumologic/LogSearch.java @@ -37,6 +37,7 @@ * import com.pulumi.sumologic.inputs.LogSearchTimeRangeBeginBoundedTimeRangeArgs; * import com.pulumi.sumologic.inputs.LogSearchTimeRangeBeginBoundedTimeRangeFromArgs; * import com.pulumi.sumologic.inputs.LogSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs; + * import com.pulumi.sumologic.inputs.LogSearchQueryParameterArgs; * import com.pulumi.sumologic.inputs.LogSearchScheduleArgs; * import com.pulumi.sumologic.inputs.LogSearchScheduleNotificationArgs; * import com.pulumi.sumologic.inputs.LogSearchScheduleNotificationEmailSearchNotificationArgs; @@ -63,7 +64,14 @@ * var exampleLogSearch = new LogSearch("exampleLogSearch", LogSearchArgs.builder() * .description("Demo search description") * .parentId(personalFolder.applyValue(getPersonalFolderResult -> getPersonalFolderResult.id())) - * .queryString("_sourceCategory=api error | count by _sourceHost") + * .queryString(""" + * _sourceCategory=api + * | parse "parameter1=*," as parameter1 + * | parse "parameter2=*," as parameter2 + * | where parameter1 matches {{param1}} + * | where parameter2 matches {{param2}} + * | count by _sourceHost + * """) * .parsingMode("AutoParse") * .runByReceiptTime(true) * .timeRange(LogSearchTimeRangeArgs.builder() @@ -75,6 +83,19 @@ * .build()) * .build()) * .build()) + * .queryParameters( + * LogSearchQueryParameterArgs.builder() + * .name("param1") + * .description("Description for param1") + * .dataType("STRING") + * .value("*") + * .build(), + * LogSearchQueryParameterArgs.builder() + * .name("param2") + * .description("Description for param2") + * .dataType("STRING") + * .value("*") + * .build()) * .schedule(LogSearchScheduleArgs.builder() * .cronExpression("0 0 * * * ? *") * .muteErrorEmails(false) @@ -104,6 +125,15 @@ * .thresholdType("group") * .build()) * .timeZone("America/Los_Angeles") + * .parameters( + * LogSearchScheduleParameterArgs.builder() + * .name("param1") + * .value("*") + * .build(), + * LogSearchScheduleParameterArgs.builder() + * .name("param2") + * .value("*") + * .build()) * .build()) * .build()); * @@ -193,9 +223,19 @@ public Output parentId() { public Output> parsingMode() { return Codegen.optional(this.parsingMode); } + /** + * Up to 10 `query_parameter` blocks can be added one for each parameter in the `query_string`. + * See query parameter schema. + * + */ @Export(name="queryParameters", type=List.class, parameters={LogSearchQueryParameter.class}) private Output> queryParameters; + /** + * @return Up to 10 `query_parameter` blocks can be added one for each parameter in the `query_string`. + * See query parameter schema. + * + */ public Output>> queryParameters() { return Codegen.optional(this.queryParameters); } diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/LogSearchArgs.java b/sdk/java/src/main/java/com/pulumi/sumologic/LogSearchArgs.java index 5ca1c2f1..32acdb2b 100644 --- a/sdk/java/src/main/java/com/pulumi/sumologic/LogSearchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/sumologic/LogSearchArgs.java @@ -90,9 +90,19 @@ public Optional> parsingMode() { return Optional.ofNullable(this.parsingMode); } + /** + * Up to 10 `query_parameter` blocks can be added one for each parameter in the `query_string`. + * See query parameter schema. + * + */ @Import(name="queryParameters") private @Nullable Output> queryParameters; + /** + * @return Up to 10 `query_parameter` blocks can be added one for each parameter in the `query_string`. + * See query parameter schema. + * + */ public Optional>> queryParameters() { return Optional.ofNullable(this.queryParameters); } @@ -285,15 +295,36 @@ public Builder parsingMode(String parsingMode) { return parsingMode(Output.of(parsingMode)); } + /** + * @param queryParameters Up to 10 `query_parameter` blocks can be added one for each parameter in the `query_string`. + * See query parameter schema. + * + * @return builder + * + */ public Builder queryParameters(@Nullable Output> queryParameters) { $.queryParameters = queryParameters; return this; } + /** + * @param queryParameters Up to 10 `query_parameter` blocks can be added one for each parameter in the `query_string`. + * See query parameter schema. + * + * @return builder + * + */ public Builder queryParameters(List queryParameters) { return queryParameters(Output.of(queryParameters)); } + /** + * @param queryParameters Up to 10 `query_parameter` blocks can be added one for each parameter in the `query_string`. + * See query parameter schema. + * + * @return builder + * + */ public Builder queryParameters(LogSearchQueryParameterArgs... queryParameters) { return queryParameters(List.of(queryParameters)); } diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/MetricsSearch.java b/sdk/java/src/main/java/com/pulumi/sumologic/MetricsSearch.java new file mode 100644 index 00000000..fb992d4b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/MetricsSearch.java @@ -0,0 +1,244 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import com.pulumi.sumologic.MetricsSearchArgs; +import com.pulumi.sumologic.Utilities; +import com.pulumi.sumologic.inputs.MetricsSearchState; +import com.pulumi.sumologic.outputs.MetricsSearchMetricsQuery; +import com.pulumi.sumologic.outputs.MetricsSearchTimeRange; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Provides a [Sumologic Metrics Search](https://help.sumologic.com/docs/metrics/metrics-queries/metrics-explorer/). + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.sumologic.SumologicFunctions; + * import com.pulumi.sumologic.inputs.GetPersonalFolderArgs; + * import com.pulumi.sumologic.MetricsSearch; + * import com.pulumi.sumologic.MetricsSearchArgs; + * import com.pulumi.sumologic.inputs.MetricsSearchMetricsQueryArgs; + * import com.pulumi.sumologic.inputs.MetricsSearchTimeRangeArgs; + * import com.pulumi.sumologic.inputs.MetricsSearchTimeRangeBeginBoundedTimeRangeArgs; + * import com.pulumi.sumologic.inputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs; + * import com.pulumi.sumologic.inputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var personalFolder = SumologicFunctions.getPersonalFolder(); + * + * var exampleMetricsSearch = new MetricsSearch("exampleMetricsSearch", MetricsSearchArgs.builder() + * .title("Demo Metrics Search") + * .description("Demo search description") + * .parentId(personalFolder.applyValue(getPersonalFolderResult -> getPersonalFolderResult.id())) + * .metricsQueries(MetricsSearchMetricsQueryArgs.builder() + * .rowId("A") + * .query("metric=cpu_idle | avg") + * .build()) + * .desiredQuantizationInSecs(0) + * .timeRange(MetricsSearchTimeRangeArgs.builder() + * .beginBoundedTimeRange(MetricsSearchTimeRangeBeginBoundedTimeRangeArgs.builder() + * .from(MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs.builder() + * .relativeTimeRange(MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs.builder() + * .relativeTime("-30m") + * .build()) + * .build()) + * .build()) + * .build()) + * .build()); + * + * } + * } + * ``` + * ## Attributes reference + * + * In addition to all arguments above, the following attributes are exported: + * + * - `id` - The ID of the log search. + * + * ## Import + * + * A metrics search can be imported using it's identifier, e.g.hcl + * + * ```sh + * $ pulumi import sumologic:index/metricsSearch:MetricsSearch example_search 0000000007FFD79D + * ``` + * + * [1]https://help.sumologic.com/docs/metrics/metrics-queries/metrics-explorer/ + * + */ +@ResourceType(type="sumologic:index/metricsSearch:MetricsSearch") +public class MetricsSearch extends com.pulumi.resources.CustomResource { + /** + * Description of the search. + * + */ + @Export(name="description", type=String.class, parameters={}) + private Output description; + + /** + * @return Description of the search. + * + */ + public Output description() { + return this.description; + } + /** + * Desired quantization in seconds. Default value is `0`. + * + */ + @Export(name="desiredQuantizationInSecs", type=Integer.class, parameters={}) + private Output desiredQuantizationInSecs; + + /** + * @return Desired quantization in seconds. Default value is `0`. + * + */ + public Output> desiredQuantizationInSecs() { + return Codegen.optional(this.desiredQuantizationInSecs); + } + /** + * Log query used to add an overlay to the chart. + * + */ + @Export(name="logQuery", type=String.class, parameters={}) + private Output logQuery; + + /** + * @return Log query used to add an overlay to the chart. + * + */ + public Output> logQuery() { + return Codegen.optional(this.logQuery); + } + /** + * Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. + * + */ + @Export(name="metricsQueries", type=List.class, parameters={MetricsSearchMetricsQuery.class}) + private Output> metricsQueries; + + /** + * @return Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. + * + */ + public Output> metricsQueries() { + return this.metricsQueries; + } + /** + * The identifier of the folder to create the log search in. + * + */ + @Export(name="parentId", type=String.class, parameters={}) + private Output parentId; + + /** + * @return The identifier of the folder to create the log search in. + * + */ + public Output parentId() { + return this.parentId; + } + /** + * Time range of the log search. See time range schema + * + */ + @Export(name="timeRange", type=MetricsSearchTimeRange.class, parameters={}) + private Output timeRange; + + /** + * @return Time range of the log search. See time range schema + * + */ + public Output timeRange() { + return this.timeRange; + } + /** + * Title of the search. + * + */ + @Export(name="title", type=String.class, parameters={}) + private Output title; + + /** + * @return Title of the search. + * + */ + public Output title() { + return this.title; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public MetricsSearch(String name) { + this(name, MetricsSearchArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public MetricsSearch(String name, MetricsSearchArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public MetricsSearch(String name, MetricsSearchArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("sumologic:index/metricsSearch:MetricsSearch", name, args == null ? MetricsSearchArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private MetricsSearch(String name, Output id, @Nullable MetricsSearchState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("sumologic:index/metricsSearch:MetricsSearch", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static MetricsSearch get(String name, Output id, @Nullable MetricsSearchState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new MetricsSearch(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/MetricsSearchArgs.java b/sdk/java/src/main/java/com/pulumi/sumologic/MetricsSearchArgs.java new file mode 100644 index 00000000..34a0f5b5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/MetricsSearchArgs.java @@ -0,0 +1,324 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.sumologic.inputs.MetricsSearchMetricsQueryArgs; +import com.pulumi.sumologic.inputs.MetricsSearchTimeRangeArgs; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class MetricsSearchArgs extends com.pulumi.resources.ResourceArgs { + + public static final MetricsSearchArgs Empty = new MetricsSearchArgs(); + + /** + * Description of the search. + * + */ + @Import(name="description", required=true) + private Output description; + + /** + * @return Description of the search. + * + */ + public Output description() { + return this.description; + } + + /** + * Desired quantization in seconds. Default value is `0`. + * + */ + @Import(name="desiredQuantizationInSecs") + private @Nullable Output desiredQuantizationInSecs; + + /** + * @return Desired quantization in seconds. Default value is `0`. + * + */ + public Optional> desiredQuantizationInSecs() { + return Optional.ofNullable(this.desiredQuantizationInSecs); + } + + /** + * Log query used to add an overlay to the chart. + * + */ + @Import(name="logQuery") + private @Nullable Output logQuery; + + /** + * @return Log query used to add an overlay to the chart. + * + */ + public Optional> logQuery() { + return Optional.ofNullable(this.logQuery); + } + + /** + * Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. + * + */ + @Import(name="metricsQueries", required=true) + private Output> metricsQueries; + + /** + * @return Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. + * + */ + public Output> metricsQueries() { + return this.metricsQueries; + } + + /** + * The identifier of the folder to create the log search in. + * + */ + @Import(name="parentId", required=true) + private Output parentId; + + /** + * @return The identifier of the folder to create the log search in. + * + */ + public Output parentId() { + return this.parentId; + } + + /** + * Time range of the log search. See time range schema + * + */ + @Import(name="timeRange", required=true) + private Output timeRange; + + /** + * @return Time range of the log search. See time range schema + * + */ + public Output timeRange() { + return this.timeRange; + } + + /** + * Title of the search. + * + */ + @Import(name="title", required=true) + private Output title; + + /** + * @return Title of the search. + * + */ + public Output title() { + return this.title; + } + + private MetricsSearchArgs() {} + + private MetricsSearchArgs(MetricsSearchArgs $) { + this.description = $.description; + this.desiredQuantizationInSecs = $.desiredQuantizationInSecs; + this.logQuery = $.logQuery; + this.metricsQueries = $.metricsQueries; + this.parentId = $.parentId; + this.timeRange = $.timeRange; + this.title = $.title; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MetricsSearchArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MetricsSearchArgs $; + + public Builder() { + $ = new MetricsSearchArgs(); + } + + public Builder(MetricsSearchArgs defaults) { + $ = new MetricsSearchArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param description Description of the search. + * + * @return builder + * + */ + public Builder description(Output description) { + $.description = description; + return this; + } + + /** + * @param description Description of the search. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param desiredQuantizationInSecs Desired quantization in seconds. Default value is `0`. + * + * @return builder + * + */ + public Builder desiredQuantizationInSecs(@Nullable Output desiredQuantizationInSecs) { + $.desiredQuantizationInSecs = desiredQuantizationInSecs; + return this; + } + + /** + * @param desiredQuantizationInSecs Desired quantization in seconds. Default value is `0`. + * + * @return builder + * + */ + public Builder desiredQuantizationInSecs(Integer desiredQuantizationInSecs) { + return desiredQuantizationInSecs(Output.of(desiredQuantizationInSecs)); + } + + /** + * @param logQuery Log query used to add an overlay to the chart. + * + * @return builder + * + */ + public Builder logQuery(@Nullable Output logQuery) { + $.logQuery = logQuery; + return this; + } + + /** + * @param logQuery Log query used to add an overlay to the chart. + * + * @return builder + * + */ + public Builder logQuery(String logQuery) { + return logQuery(Output.of(logQuery)); + } + + /** + * @param metricsQueries Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. + * + * @return builder + * + */ + public Builder metricsQueries(Output> metricsQueries) { + $.metricsQueries = metricsQueries; + return this; + } + + /** + * @param metricsQueries Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. + * + * @return builder + * + */ + public Builder metricsQueries(List metricsQueries) { + return metricsQueries(Output.of(metricsQueries)); + } + + /** + * @param metricsQueries Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. + * + * @return builder + * + */ + public Builder metricsQueries(MetricsSearchMetricsQueryArgs... metricsQueries) { + return metricsQueries(List.of(metricsQueries)); + } + + /** + * @param parentId The identifier of the folder to create the log search in. + * + * @return builder + * + */ + public Builder parentId(Output parentId) { + $.parentId = parentId; + return this; + } + + /** + * @param parentId The identifier of the folder to create the log search in. + * + * @return builder + * + */ + public Builder parentId(String parentId) { + return parentId(Output.of(parentId)); + } + + /** + * @param timeRange Time range of the log search. See time range schema + * + * @return builder + * + */ + public Builder timeRange(Output timeRange) { + $.timeRange = timeRange; + return this; + } + + /** + * @param timeRange Time range of the log search. See time range schema + * + * @return builder + * + */ + public Builder timeRange(MetricsSearchTimeRangeArgs timeRange) { + return timeRange(Output.of(timeRange)); + } + + /** + * @param title Title of the search. + * + * @return builder + * + */ + public Builder title(Output title) { + $.title = title; + return this; + } + + /** + * @param title Title of the search. + * + * @return builder + * + */ + public Builder title(String title) { + return title(Output.of(title)); + } + + public MetricsSearchArgs build() { + $.description = Objects.requireNonNull($.description, "expected parameter 'description' to be non-null"); + $.metricsQueries = Objects.requireNonNull($.metricsQueries, "expected parameter 'metricsQueries' to be non-null"); + $.parentId = Objects.requireNonNull($.parentId, "expected parameter 'parentId' to be non-null"); + $.timeRange = Objects.requireNonNull($.timeRange, "expected parameter 'timeRange' to be non-null"); + $.title = Objects.requireNonNull($.title, "expected parameter 'title' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/Monitor.java b/sdk/java/src/main/java/com/pulumi/sumologic/Monitor.java index 9e267b26..896431c3 100644 --- a/sdk/java/src/main/java/com/pulumi/sumologic/Monitor.java +++ b/sdk/java/src/main/java/com/pulumi/sumologic/Monitor.java @@ -544,14 +544,14 @@ public Output name() { return this.name; } /** - * The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. + * The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. * */ @Export(name="notificationGroupFields", type=List.class, parameters={String.class}) private Output> notificationGroupFields; /** - * @return The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. + * @return The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. * */ public Output>> notificationGroupFields() { diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/MonitorArgs.java b/sdk/java/src/main/java/com/pulumi/sumologic/MonitorArgs.java index e3663358..db368366 100644 --- a/sdk/java/src/main/java/com/pulumi/sumologic/MonitorArgs.java +++ b/sdk/java/src/main/java/com/pulumi/sumologic/MonitorArgs.java @@ -204,14 +204,14 @@ public Optional> name() { } /** - * The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. + * The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. * */ @Import(name="notificationGroupFields") private @Nullable Output> notificationGroupFields; /** - * @return The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. + * @return The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. * */ public Optional>> notificationGroupFields() { @@ -683,7 +683,7 @@ public Builder name(String name) { } /** - * @param notificationGroupFields The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. + * @param notificationGroupFields The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. * * @return builder * @@ -694,7 +694,7 @@ public Builder notificationGroupFields(@Nullable Output> notificati } /** - * @param notificationGroupFields The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. + * @param notificationGroupFields The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. * * @return builder * @@ -704,7 +704,7 @@ public Builder notificationGroupFields(List notificationGroupFields) { } /** - * @param notificationGroupFields The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. + * @param notificationGroupFields The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/RumSource.java b/sdk/java/src/main/java/com/pulumi/sumologic/RumSource.java new file mode 100644 index 00000000..c4b9cf12 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/RumSource.java @@ -0,0 +1,201 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import com.pulumi.sumologic.RumSourceArgs; +import com.pulumi.sumologic.Utilities; +import com.pulumi.sumologic.inputs.RumSourceState; +import com.pulumi.sumologic.outputs.RumSourceDefaultDateFormat; +import com.pulumi.sumologic.outputs.RumSourceFilter; +import com.pulumi.sumologic.outputs.RumSourcePath; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Provides a Sumologic Rum Source. + * + * ## Import + * + * Rum sources can be imported using the collector and source IDs, e.g.hcl + * + * ```sh + * $ pulumi import sumologic:index/rumSource:RumSource test 123/456 + * ``` + * + * Rum sources can also be imported using the collector name and source name, e.g.hcl + * + * ```sh + * $ pulumi import sumologic:index/rumSource:RumSource test my-test-collector/my-test-source + * ``` + * + */ +@ResourceType(type="sumologic:index/rumSource:RumSource") +public class RumSource extends com.pulumi.resources.CustomResource { + @Export(name="automaticDateParsing", type=Boolean.class, parameters={}) + private Output automaticDateParsing; + + public Output> automaticDateParsing() { + return Codegen.optional(this.automaticDateParsing); + } + @Export(name="category", type=String.class, parameters={}) + private Output category; + + public Output> category() { + return Codegen.optional(this.category); + } + @Export(name="collectorId", type=Integer.class, parameters={}) + private Output collectorId; + + public Output collectorId() { + return this.collectorId; + } + @Export(name="contentType", type=String.class, parameters={}) + private Output contentType; + + public Output> contentType() { + return Codegen.optional(this.contentType); + } + @Export(name="cutoffRelativeTime", type=String.class, parameters={}) + private Output cutoffRelativeTime; + + public Output> cutoffRelativeTime() { + return Codegen.optional(this.cutoffRelativeTime); + } + @Export(name="cutoffTimestamp", type=Integer.class, parameters={}) + private Output cutoffTimestamp; + + public Output> cutoffTimestamp() { + return Codegen.optional(this.cutoffTimestamp); + } + @Export(name="defaultDateFormats", type=List.class, parameters={RumSourceDefaultDateFormat.class}) + private Output> defaultDateFormats; + + public Output>> defaultDateFormats() { + return Codegen.optional(this.defaultDateFormats); + } + @Export(name="description", type=String.class, parameters={}) + private Output description; + + public Output> description() { + return Codegen.optional(this.description); + } + @Export(name="fields", type=Map.class, parameters={String.class, String.class}) + private Output> fields; + + public Output>> fields() { + return Codegen.optional(this.fields); + } + @Export(name="filters", type=List.class, parameters={RumSourceFilter.class}) + private Output> filters; + + public Output>> filters() { + return Codegen.optional(this.filters); + } + @Export(name="forceTimezone", type=Boolean.class, parameters={}) + private Output forceTimezone; + + public Output> forceTimezone() { + return Codegen.optional(this.forceTimezone); + } + @Export(name="hostName", type=String.class, parameters={}) + private Output hostName; + + public Output> hostName() { + return Codegen.optional(this.hostName); + } + @Export(name="manualPrefixRegexp", type=String.class, parameters={}) + private Output manualPrefixRegexp; + + public Output> manualPrefixRegexp() { + return Codegen.optional(this.manualPrefixRegexp); + } + @Export(name="multilineProcessingEnabled", type=Boolean.class, parameters={}) + private Output multilineProcessingEnabled; + + public Output> multilineProcessingEnabled() { + return Codegen.optional(this.multilineProcessingEnabled); + } + @Export(name="name", type=String.class, parameters={}) + private Output name; + + public Output name() { + return this.name; + } + @Export(name="path", type=RumSourcePath.class, parameters={}) + private Output path; + + public Output> path() { + return Codegen.optional(this.path); + } + @Export(name="timezone", type=String.class, parameters={}) + private Output timezone; + + public Output> timezone() { + return Codegen.optional(this.timezone); + } + @Export(name="useAutolineMatching", type=Boolean.class, parameters={}) + private Output useAutolineMatching; + + public Output> useAutolineMatching() { + return Codegen.optional(this.useAutolineMatching); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public RumSource(String name) { + this(name, RumSourceArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public RumSource(String name, RumSourceArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public RumSource(String name, RumSourceArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("sumologic:index/rumSource:RumSource", name, args == null ? RumSourceArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private RumSource(String name, Output id, @Nullable RumSourceState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("sumologic:index/rumSource:RumSource", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static RumSource get(String name, Output id, @Nullable RumSourceState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new RumSource(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/RumSourceArgs.java b/sdk/java/src/main/java/com/pulumi/sumologic/RumSourceArgs.java new file mode 100644 index 00000000..4c1611f7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/RumSourceArgs.java @@ -0,0 +1,368 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.sumologic.inputs.RumSourceDefaultDateFormatArgs; +import com.pulumi.sumologic.inputs.RumSourceFilterArgs; +import com.pulumi.sumologic.inputs.RumSourcePathArgs; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RumSourceArgs extends com.pulumi.resources.ResourceArgs { + + public static final RumSourceArgs Empty = new RumSourceArgs(); + + @Import(name="automaticDateParsing") + private @Nullable Output automaticDateParsing; + + public Optional> automaticDateParsing() { + return Optional.ofNullable(this.automaticDateParsing); + } + + @Import(name="category") + private @Nullable Output category; + + public Optional> category() { + return Optional.ofNullable(this.category); + } + + @Import(name="collectorId", required=true) + private Output collectorId; + + public Output collectorId() { + return this.collectorId; + } + + @Import(name="contentType") + private @Nullable Output contentType; + + public Optional> contentType() { + return Optional.ofNullable(this.contentType); + } + + @Import(name="cutoffRelativeTime") + private @Nullable Output cutoffRelativeTime; + + public Optional> cutoffRelativeTime() { + return Optional.ofNullable(this.cutoffRelativeTime); + } + + @Import(name="cutoffTimestamp") + private @Nullable Output cutoffTimestamp; + + public Optional> cutoffTimestamp() { + return Optional.ofNullable(this.cutoffTimestamp); + } + + @Import(name="defaultDateFormats") + private @Nullable Output> defaultDateFormats; + + public Optional>> defaultDateFormats() { + return Optional.ofNullable(this.defaultDateFormats); + } + + @Import(name="description") + private @Nullable Output description; + + public Optional> description() { + return Optional.ofNullable(this.description); + } + + @Import(name="fields") + private @Nullable Output> fields; + + public Optional>> fields() { + return Optional.ofNullable(this.fields); + } + + @Import(name="filters") + private @Nullable Output> filters; + + public Optional>> filters() { + return Optional.ofNullable(this.filters); + } + + @Import(name="forceTimezone") + private @Nullable Output forceTimezone; + + public Optional> forceTimezone() { + return Optional.ofNullable(this.forceTimezone); + } + + @Import(name="hostName") + private @Nullable Output hostName; + + public Optional> hostName() { + return Optional.ofNullable(this.hostName); + } + + @Import(name="manualPrefixRegexp") + private @Nullable Output manualPrefixRegexp; + + public Optional> manualPrefixRegexp() { + return Optional.ofNullable(this.manualPrefixRegexp); + } + + @Import(name="multilineProcessingEnabled") + private @Nullable Output multilineProcessingEnabled; + + public Optional> multilineProcessingEnabled() { + return Optional.ofNullable(this.multilineProcessingEnabled); + } + + @Import(name="name") + private @Nullable Output name; + + public Optional> name() { + return Optional.ofNullable(this.name); + } + + @Import(name="path") + private @Nullable Output path; + + public Optional> path() { + return Optional.ofNullable(this.path); + } + + @Import(name="timezone") + private @Nullable Output timezone; + + public Optional> timezone() { + return Optional.ofNullable(this.timezone); + } + + @Import(name="useAutolineMatching") + private @Nullable Output useAutolineMatching; + + public Optional> useAutolineMatching() { + return Optional.ofNullable(this.useAutolineMatching); + } + + private RumSourceArgs() {} + + private RumSourceArgs(RumSourceArgs $) { + this.automaticDateParsing = $.automaticDateParsing; + this.category = $.category; + this.collectorId = $.collectorId; + this.contentType = $.contentType; + this.cutoffRelativeTime = $.cutoffRelativeTime; + this.cutoffTimestamp = $.cutoffTimestamp; + this.defaultDateFormats = $.defaultDateFormats; + this.description = $.description; + this.fields = $.fields; + this.filters = $.filters; + this.forceTimezone = $.forceTimezone; + this.hostName = $.hostName; + this.manualPrefixRegexp = $.manualPrefixRegexp; + this.multilineProcessingEnabled = $.multilineProcessingEnabled; + this.name = $.name; + this.path = $.path; + this.timezone = $.timezone; + this.useAutolineMatching = $.useAutolineMatching; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RumSourceArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RumSourceArgs $; + + public Builder() { + $ = new RumSourceArgs(); + } + + public Builder(RumSourceArgs defaults) { + $ = new RumSourceArgs(Objects.requireNonNull(defaults)); + } + + public Builder automaticDateParsing(@Nullable Output automaticDateParsing) { + $.automaticDateParsing = automaticDateParsing; + return this; + } + + public Builder automaticDateParsing(Boolean automaticDateParsing) { + return automaticDateParsing(Output.of(automaticDateParsing)); + } + + public Builder category(@Nullable Output category) { + $.category = category; + return this; + } + + public Builder category(String category) { + return category(Output.of(category)); + } + + public Builder collectorId(Output collectorId) { + $.collectorId = collectorId; + return this; + } + + public Builder collectorId(Integer collectorId) { + return collectorId(Output.of(collectorId)); + } + + public Builder contentType(@Nullable Output contentType) { + $.contentType = contentType; + return this; + } + + public Builder contentType(String contentType) { + return contentType(Output.of(contentType)); + } + + public Builder cutoffRelativeTime(@Nullable Output cutoffRelativeTime) { + $.cutoffRelativeTime = cutoffRelativeTime; + return this; + } + + public Builder cutoffRelativeTime(String cutoffRelativeTime) { + return cutoffRelativeTime(Output.of(cutoffRelativeTime)); + } + + public Builder cutoffTimestamp(@Nullable Output cutoffTimestamp) { + $.cutoffTimestamp = cutoffTimestamp; + return this; + } + + public Builder cutoffTimestamp(Integer cutoffTimestamp) { + return cutoffTimestamp(Output.of(cutoffTimestamp)); + } + + public Builder defaultDateFormats(@Nullable Output> defaultDateFormats) { + $.defaultDateFormats = defaultDateFormats; + return this; + } + + public Builder defaultDateFormats(List defaultDateFormats) { + return defaultDateFormats(Output.of(defaultDateFormats)); + } + + public Builder defaultDateFormats(RumSourceDefaultDateFormatArgs... defaultDateFormats) { + return defaultDateFormats(List.of(defaultDateFormats)); + } + + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + public Builder description(String description) { + return description(Output.of(description)); + } + + public Builder fields(@Nullable Output> fields) { + $.fields = fields; + return this; + } + + public Builder fields(Map fields) { + return fields(Output.of(fields)); + } + + public Builder filters(@Nullable Output> filters) { + $.filters = filters; + return this; + } + + public Builder filters(List filters) { + return filters(Output.of(filters)); + } + + public Builder filters(RumSourceFilterArgs... filters) { + return filters(List.of(filters)); + } + + public Builder forceTimezone(@Nullable Output forceTimezone) { + $.forceTimezone = forceTimezone; + return this; + } + + public Builder forceTimezone(Boolean forceTimezone) { + return forceTimezone(Output.of(forceTimezone)); + } + + public Builder hostName(@Nullable Output hostName) { + $.hostName = hostName; + return this; + } + + public Builder hostName(String hostName) { + return hostName(Output.of(hostName)); + } + + public Builder manualPrefixRegexp(@Nullable Output manualPrefixRegexp) { + $.manualPrefixRegexp = manualPrefixRegexp; + return this; + } + + public Builder manualPrefixRegexp(String manualPrefixRegexp) { + return manualPrefixRegexp(Output.of(manualPrefixRegexp)); + } + + public Builder multilineProcessingEnabled(@Nullable Output multilineProcessingEnabled) { + $.multilineProcessingEnabled = multilineProcessingEnabled; + return this; + } + + public Builder multilineProcessingEnabled(Boolean multilineProcessingEnabled) { + return multilineProcessingEnabled(Output.of(multilineProcessingEnabled)); + } + + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + public Builder name(String name) { + return name(Output.of(name)); + } + + public Builder path(@Nullable Output path) { + $.path = path; + return this; + } + + public Builder path(RumSourcePathArgs path) { + return path(Output.of(path)); + } + + public Builder timezone(@Nullable Output timezone) { + $.timezone = timezone; + return this; + } + + public Builder timezone(String timezone) { + return timezone(Output.of(timezone)); + } + + public Builder useAutolineMatching(@Nullable Output useAutolineMatching) { + $.useAutolineMatching = useAutolineMatching; + return this; + } + + public Builder useAutolineMatching(Boolean useAutolineMatching) { + return useAutolineMatching(Output.of(useAutolineMatching)); + } + + public RumSourceArgs build() { + $.collectorId = Objects.requireNonNull($.collectorId, "expected parameter 'collectorId' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/CseMatchListState.java b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/CseMatchListState.java index c8eabb94..668a9277 100644 --- a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/CseMatchListState.java +++ b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/CseMatchListState.java @@ -62,17 +62,9 @@ public Optional> description() { return Optional.ofNullable(this.description); } - /** - * List of match list items. See match_list_item schema for details. - * - */ @Import(name="items") private @Nullable Output> items; - /** - * @return List of match list items. See match_list_item schema for details. - * - */ public Optional>> items() { return Optional.ofNullable(this.items); } @@ -213,33 +205,15 @@ public Builder description(String description) { return description(Output.of(description)); } - /** - * @param items List of match list items. See match_list_item schema for details. - * - * @return builder - * - */ public Builder items(@Nullable Output> items) { $.items = items; return this; } - /** - * @param items List of match list items. See match_list_item schema for details. - * - * @return builder - * - */ public Builder items(List items) { return items(Output.of(items)); } - /** - * @param items List of match list items. See match_list_item schema for details. - * - * @return builder - * - */ public Builder items(CseMatchListItemArgs... items) { return items(List.of(items)); } diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/IngestBudgetV2State.java b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/IngestBudgetV2State.java index 2257144b..cda6786d 100644 --- a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/IngestBudgetV2State.java +++ b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/IngestBudgetV2State.java @@ -51,14 +51,29 @@ public Optional> auditThreshold() { } /** - * Capacity of the ingest budget, in bytes. + * The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`. + * + */ + @Import(name="budgetType") + private @Nullable Output budgetType; + + /** + * @return The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`. + * + */ + public Optional> budgetType() { + return Optional.ofNullable(this.budgetType); + } + + /** + * Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min. * */ @Import(name="capacityBytes") private @Nullable Output capacityBytes; /** - * @return Capacity of the ingest budget, in bytes. + * @return Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min. * */ public Optional> capacityBytes() { @@ -145,6 +160,7 @@ private IngestBudgetV2State() {} private IngestBudgetV2State(IngestBudgetV2State $) { this.action = $.action; this.auditThreshold = $.auditThreshold; + this.budgetType = $.budgetType; this.capacityBytes = $.capacityBytes; this.description = $.description; this.name = $.name; @@ -218,7 +234,28 @@ public Builder auditThreshold(Integer auditThreshold) { } /** - * @param capacityBytes Capacity of the ingest budget, in bytes. + * @param budgetType The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`. + * + * @return builder + * + */ + public Builder budgetType(@Nullable Output budgetType) { + $.budgetType = budgetType; + return this; + } + + /** + * @param budgetType The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`. + * + * @return builder + * + */ + public Builder budgetType(String budgetType) { + return budgetType(Output.of(budgetType)); + } + + /** + * @param capacityBytes Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min. * * @return builder * @@ -229,7 +266,7 @@ public Builder capacityBytes(@Nullable Output capacityBytes) { } /** - * @param capacityBytes Capacity of the ingest budget, in bytes. + * @param capacityBytes Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/LogSearchQueryParameterArgs.java b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/LogSearchQueryParameterArgs.java index 9371f4ce..f75a8d52 100644 --- a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/LogSearchQueryParameterArgs.java +++ b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/LogSearchQueryParameterArgs.java @@ -15,9 +15,25 @@ public final class LogSearchQueryParameterArgs extends com.pulumi.resources.Reso public static final LogSearchQueryParameterArgs Empty = new LogSearchQueryParameterArgs(); + /** + * The data type of the parameter. Supported values are: + * 1. `NUMBER` + * 2. `STRING` + * 3. `ANY` + * 4. `KEYWORD` + * + */ @Import(name="dataType", required=true) private Output dataType; + /** + * @return The data type of the parameter. Supported values are: + * 1. `NUMBER` + * 2. `STRING` + * 3. `ANY` + * 4. `KEYWORD` + * + */ public Output dataType() { return this.dataType; } @@ -53,14 +69,14 @@ public Output name() { } /** - * Value of scheduled search parameter. + * The default value for the parameter. It should be compatible with the type set in the `data_type` field. * */ @Import(name="value", required=true) private Output value; /** - * @return Value of scheduled search parameter. + * @return The default value for the parameter. It should be compatible with the type set in the `data_type` field. * */ public Output value() { @@ -94,11 +110,31 @@ public Builder(LogSearchQueryParameterArgs defaults) { $ = new LogSearchQueryParameterArgs(Objects.requireNonNull(defaults)); } + /** + * @param dataType The data type of the parameter. Supported values are: + * 1. `NUMBER` + * 2. `STRING` + * 3. `ANY` + * 4. `KEYWORD` + * + * @return builder + * + */ public Builder dataType(Output dataType) { $.dataType = dataType; return this; } + /** + * @param dataType The data type of the parameter. Supported values are: + * 1. `NUMBER` + * 2. `STRING` + * 3. `ANY` + * 4. `KEYWORD` + * + * @return builder + * + */ public Builder dataType(String dataType) { return dataType(Output.of(dataType)); } @@ -146,7 +182,7 @@ public Builder name(String name) { } /** - * @param value Value of scheduled search parameter. + * @param value The default value for the parameter. It should be compatible with the type set in the `data_type` field. * * @return builder * @@ -157,7 +193,7 @@ public Builder value(Output value) { } /** - * @param value Value of scheduled search parameter. + * @param value The default value for the parameter. It should be compatible with the type set in the `data_type` field. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/LogSearchScheduleParameterArgs.java b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/LogSearchScheduleParameterArgs.java index b6fbb705..af4d3e00 100644 --- a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/LogSearchScheduleParameterArgs.java +++ b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/LogSearchScheduleParameterArgs.java @@ -29,14 +29,14 @@ public Output name() { } /** - * Value of scheduled search parameter. + * The default value for the parameter. It should be compatible with the type set in the `data_type` field. * */ @Import(name="value", required=true) private Output value; /** - * @return Value of scheduled search parameter. + * @return The default value for the parameter. It should be compatible with the type set in the `data_type` field. * */ public Output value() { @@ -90,7 +90,7 @@ public Builder name(String name) { } /** - * @param value Value of scheduled search parameter. + * @param value The default value for the parameter. It should be compatible with the type set in the `data_type` field. * * @return builder * @@ -101,7 +101,7 @@ public Builder value(Output value) { } /** - * @param value Value of scheduled search parameter. + * @param value The default value for the parameter. It should be compatible with the type set in the `data_type` field. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/LogSearchState.java b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/LogSearchState.java index 84f05e86..bfa09061 100644 --- a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/LogSearchState.java +++ b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/LogSearchState.java @@ -90,9 +90,19 @@ public Optional> parsingMode() { return Optional.ofNullable(this.parsingMode); } + /** + * Up to 10 `query_parameter` blocks can be added one for each parameter in the `query_string`. + * See query parameter schema. + * + */ @Import(name="queryParameters") private @Nullable Output> queryParameters; + /** + * @return Up to 10 `query_parameter` blocks can be added one for each parameter in the `query_string`. + * See query parameter schema. + * + */ public Optional>> queryParameters() { return Optional.ofNullable(this.queryParameters); } @@ -285,15 +295,36 @@ public Builder parsingMode(String parsingMode) { return parsingMode(Output.of(parsingMode)); } + /** + * @param queryParameters Up to 10 `query_parameter` blocks can be added one for each parameter in the `query_string`. + * See query parameter schema. + * + * @return builder + * + */ public Builder queryParameters(@Nullable Output> queryParameters) { $.queryParameters = queryParameters; return this; } + /** + * @param queryParameters Up to 10 `query_parameter` blocks can be added one for each parameter in the `query_string`. + * See query parameter schema. + * + * @return builder + * + */ public Builder queryParameters(List queryParameters) { return queryParameters(Output.of(queryParameters)); } + /** + * @param queryParameters Up to 10 `query_parameter` blocks can be added one for each parameter in the `query_string`. + * See query parameter schema. + * + * @return builder + * + */ public Builder queryParameters(LogSearchQueryParameterArgs... queryParameters) { return queryParameters(List.of(queryParameters)); } diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchMetricsQueryArgs.java b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchMetricsQueryArgs.java new file mode 100644 index 00000000..2e461938 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchMetricsQueryArgs.java @@ -0,0 +1,136 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class MetricsSearchMetricsQueryArgs extends com.pulumi.resources.ResourceArgs { + + public static final MetricsSearchMetricsQueryArgs Empty = new MetricsSearchMetricsQueryArgs(); + + /** + * A metric query consists of a metric, one or more filters and optionally, one or more [Metrics Operators](https://help.sumologic.com/?cid=10144). + * Strictly speaking, both filters and operators are optional. + * Most of the [Metrics Operators](https://help.sumologic.com/?cid=10144) are allowed in the query string except `fillmissing`, `outlier`, `quantize` and `timeshift`. + * In practice, your metric queries will almost always contain filters that narrow the scope of your query. + * For more information about the query language see [Metrics Queries](https://help.sumologic.com/?cid=1079). + * + */ + @Import(name="query", required=true) + private Output query; + + /** + * @return A metric query consists of a metric, one or more filters and optionally, one or more [Metrics Operators](https://help.sumologic.com/?cid=10144). + * Strictly speaking, both filters and operators are optional. + * Most of the [Metrics Operators](https://help.sumologic.com/?cid=10144) are allowed in the query string except `fillmissing`, `outlier`, `quantize` and `timeshift`. + * In practice, your metric queries will almost always contain filters that narrow the scope of your query. + * For more information about the query language see [Metrics Queries](https://help.sumologic.com/?cid=1079). + * + */ + public Output query() { + return this.query; + } + + /** + * Row id for the query row, A to Z letter. + * + */ + @Import(name="rowId", required=true) + private Output rowId; + + /** + * @return Row id for the query row, A to Z letter. + * + */ + public Output rowId() { + return this.rowId; + } + + private MetricsSearchMetricsQueryArgs() {} + + private MetricsSearchMetricsQueryArgs(MetricsSearchMetricsQueryArgs $) { + this.query = $.query; + this.rowId = $.rowId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MetricsSearchMetricsQueryArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MetricsSearchMetricsQueryArgs $; + + public Builder() { + $ = new MetricsSearchMetricsQueryArgs(); + } + + public Builder(MetricsSearchMetricsQueryArgs defaults) { + $ = new MetricsSearchMetricsQueryArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param query A metric query consists of a metric, one or more filters and optionally, one or more [Metrics Operators](https://help.sumologic.com/?cid=10144). + * Strictly speaking, both filters and operators are optional. + * Most of the [Metrics Operators](https://help.sumologic.com/?cid=10144) are allowed in the query string except `fillmissing`, `outlier`, `quantize` and `timeshift`. + * In practice, your metric queries will almost always contain filters that narrow the scope of your query. + * For more information about the query language see [Metrics Queries](https://help.sumologic.com/?cid=1079). + * + * @return builder + * + */ + public Builder query(Output query) { + $.query = query; + return this; + } + + /** + * @param query A metric query consists of a metric, one or more filters and optionally, one or more [Metrics Operators](https://help.sumologic.com/?cid=10144). + * Strictly speaking, both filters and operators are optional. + * Most of the [Metrics Operators](https://help.sumologic.com/?cid=10144) are allowed in the query string except `fillmissing`, `outlier`, `quantize` and `timeshift`. + * In practice, your metric queries will almost always contain filters that narrow the scope of your query. + * For more information about the query language see [Metrics Queries](https://help.sumologic.com/?cid=1079). + * + * @return builder + * + */ + public Builder query(String query) { + return query(Output.of(query)); + } + + /** + * @param rowId Row id for the query row, A to Z letter. + * + * @return builder + * + */ + public Builder rowId(Output rowId) { + $.rowId = rowId; + return this; + } + + /** + * @param rowId Row id for the query row, A to Z letter. + * + * @return builder + * + */ + public Builder rowId(String rowId) { + return rowId(Output.of(rowId)); + } + + public MetricsSearchMetricsQueryArgs build() { + $.query = Objects.requireNonNull($.query, "expected parameter 'query' to be non-null"); + $.rowId = Objects.requireNonNull($.rowId, "expected parameter 'rowId' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchState.java b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchState.java new file mode 100644 index 00000000..5902d926 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchState.java @@ -0,0 +1,319 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.sumologic.inputs.MetricsSearchMetricsQueryArgs; +import com.pulumi.sumologic.inputs.MetricsSearchTimeRangeArgs; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class MetricsSearchState extends com.pulumi.resources.ResourceArgs { + + public static final MetricsSearchState Empty = new MetricsSearchState(); + + /** + * Description of the search. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return Description of the search. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * Desired quantization in seconds. Default value is `0`. + * + */ + @Import(name="desiredQuantizationInSecs") + private @Nullable Output desiredQuantizationInSecs; + + /** + * @return Desired quantization in seconds. Default value is `0`. + * + */ + public Optional> desiredQuantizationInSecs() { + return Optional.ofNullable(this.desiredQuantizationInSecs); + } + + /** + * Log query used to add an overlay to the chart. + * + */ + @Import(name="logQuery") + private @Nullable Output logQuery; + + /** + * @return Log query used to add an overlay to the chart. + * + */ + public Optional> logQuery() { + return Optional.ofNullable(this.logQuery); + } + + /** + * Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. + * + */ + @Import(name="metricsQueries") + private @Nullable Output> metricsQueries; + + /** + * @return Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. + * + */ + public Optional>> metricsQueries() { + return Optional.ofNullable(this.metricsQueries); + } + + /** + * The identifier of the folder to create the log search in. + * + */ + @Import(name="parentId") + private @Nullable Output parentId; + + /** + * @return The identifier of the folder to create the log search in. + * + */ + public Optional> parentId() { + return Optional.ofNullable(this.parentId); + } + + /** + * Time range of the log search. See time range schema + * + */ + @Import(name="timeRange") + private @Nullable Output timeRange; + + /** + * @return Time range of the log search. See time range schema + * + */ + public Optional> timeRange() { + return Optional.ofNullable(this.timeRange); + } + + /** + * Title of the search. + * + */ + @Import(name="title") + private @Nullable Output title; + + /** + * @return Title of the search. + * + */ + public Optional> title() { + return Optional.ofNullable(this.title); + } + + private MetricsSearchState() {} + + private MetricsSearchState(MetricsSearchState $) { + this.description = $.description; + this.desiredQuantizationInSecs = $.desiredQuantizationInSecs; + this.logQuery = $.logQuery; + this.metricsQueries = $.metricsQueries; + this.parentId = $.parentId; + this.timeRange = $.timeRange; + this.title = $.title; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MetricsSearchState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MetricsSearchState $; + + public Builder() { + $ = new MetricsSearchState(); + } + + public Builder(MetricsSearchState defaults) { + $ = new MetricsSearchState(Objects.requireNonNull(defaults)); + } + + /** + * @param description Description of the search. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description Description of the search. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param desiredQuantizationInSecs Desired quantization in seconds. Default value is `0`. + * + * @return builder + * + */ + public Builder desiredQuantizationInSecs(@Nullable Output desiredQuantizationInSecs) { + $.desiredQuantizationInSecs = desiredQuantizationInSecs; + return this; + } + + /** + * @param desiredQuantizationInSecs Desired quantization in seconds. Default value is `0`. + * + * @return builder + * + */ + public Builder desiredQuantizationInSecs(Integer desiredQuantizationInSecs) { + return desiredQuantizationInSecs(Output.of(desiredQuantizationInSecs)); + } + + /** + * @param logQuery Log query used to add an overlay to the chart. + * + * @return builder + * + */ + public Builder logQuery(@Nullable Output logQuery) { + $.logQuery = logQuery; + return this; + } + + /** + * @param logQuery Log query used to add an overlay to the chart. + * + * @return builder + * + */ + public Builder logQuery(String logQuery) { + return logQuery(Output.of(logQuery)); + } + + /** + * @param metricsQueries Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. + * + * @return builder + * + */ + public Builder metricsQueries(@Nullable Output> metricsQueries) { + $.metricsQueries = metricsQueries; + return this; + } + + /** + * @param metricsQueries Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. + * + * @return builder + * + */ + public Builder metricsQueries(List metricsQueries) { + return metricsQueries(Output.of(metricsQueries)); + } + + /** + * @param metricsQueries Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. + * + * @return builder + * + */ + public Builder metricsQueries(MetricsSearchMetricsQueryArgs... metricsQueries) { + return metricsQueries(List.of(metricsQueries)); + } + + /** + * @param parentId The identifier of the folder to create the log search in. + * + * @return builder + * + */ + public Builder parentId(@Nullable Output parentId) { + $.parentId = parentId; + return this; + } + + /** + * @param parentId The identifier of the folder to create the log search in. + * + * @return builder + * + */ + public Builder parentId(String parentId) { + return parentId(Output.of(parentId)); + } + + /** + * @param timeRange Time range of the log search. See time range schema + * + * @return builder + * + */ + public Builder timeRange(@Nullable Output timeRange) { + $.timeRange = timeRange; + return this; + } + + /** + * @param timeRange Time range of the log search. See time range schema + * + * @return builder + * + */ + public Builder timeRange(MetricsSearchTimeRangeArgs timeRange) { + return timeRange(Output.of(timeRange)); + } + + /** + * @param title Title of the search. + * + * @return builder + * + */ + public Builder title(@Nullable Output title) { + $.title = title; + return this; + } + + /** + * @param title Title of the search. + * + * @return builder + * + */ + public Builder title(String title) { + return title(Output.of(title)); + } + + public MetricsSearchState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeArgs.java b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeArgs.java new file mode 100644 index 00000000..fa1038d0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeArgs.java @@ -0,0 +1,129 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.sumologic.inputs.MetricsSearchTimeRangeBeginBoundedTimeRangeArgs; +import com.pulumi.sumologic.inputs.MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class MetricsSearchTimeRangeArgs extends com.pulumi.resources.ResourceArgs { + + public static final MetricsSearchTimeRangeArgs Empty = new MetricsSearchTimeRangeArgs(); + + /** + * Bounded time range. See + * begin_bounded_time_range schema schema for details. + * + */ + @Import(name="beginBoundedTimeRange") + private @Nullable Output beginBoundedTimeRange; + + /** + * @return Bounded time range. See + * begin_bounded_time_range schema schema for details. + * + */ + public Optional> beginBoundedTimeRange() { + return Optional.ofNullable(this.beginBoundedTimeRange); + } + + /** + * Literal time range. See + * complete_literal_time_range schema for details. + * + */ + @Import(name="completeLiteralTimeRange") + private @Nullable Output completeLiteralTimeRange; + + /** + * @return Literal time range. See + * complete_literal_time_range schema for details. + * + */ + public Optional> completeLiteralTimeRange() { + return Optional.ofNullable(this.completeLiteralTimeRange); + } + + private MetricsSearchTimeRangeArgs() {} + + private MetricsSearchTimeRangeArgs(MetricsSearchTimeRangeArgs $) { + this.beginBoundedTimeRange = $.beginBoundedTimeRange; + this.completeLiteralTimeRange = $.completeLiteralTimeRange; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MetricsSearchTimeRangeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MetricsSearchTimeRangeArgs $; + + public Builder() { + $ = new MetricsSearchTimeRangeArgs(); + } + + public Builder(MetricsSearchTimeRangeArgs defaults) { + $ = new MetricsSearchTimeRangeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param beginBoundedTimeRange Bounded time range. See + * begin_bounded_time_range schema schema for details. + * + * @return builder + * + */ + public Builder beginBoundedTimeRange(@Nullable Output beginBoundedTimeRange) { + $.beginBoundedTimeRange = beginBoundedTimeRange; + return this; + } + + /** + * @param beginBoundedTimeRange Bounded time range. See + * begin_bounded_time_range schema schema for details. + * + * @return builder + * + */ + public Builder beginBoundedTimeRange(MetricsSearchTimeRangeBeginBoundedTimeRangeArgs beginBoundedTimeRange) { + return beginBoundedTimeRange(Output.of(beginBoundedTimeRange)); + } + + /** + * @param completeLiteralTimeRange Literal time range. See + * complete_literal_time_range schema for details. + * + * @return builder + * + */ + public Builder completeLiteralTimeRange(@Nullable Output completeLiteralTimeRange) { + $.completeLiteralTimeRange = completeLiteralTimeRange; + return this; + } + + /** + * @param completeLiteralTimeRange Literal time range. See + * complete_literal_time_range schema for details. + * + * @return builder + * + */ + public Builder completeLiteralTimeRange(MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs completeLiteralTimeRange) { + return completeLiteralTimeRange(Output.of(completeLiteralTimeRange)); + } + + public MetricsSearchTimeRangeArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeArgs.java b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeArgs.java new file mode 100644 index 00000000..ca79dea6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeArgs.java @@ -0,0 +1,130 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.sumologic.inputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs; +import com.pulumi.sumologic.inputs.MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class MetricsSearchTimeRangeBeginBoundedTimeRangeArgs extends com.pulumi.resources.ResourceArgs { + + public static final MetricsSearchTimeRangeBeginBoundedTimeRangeArgs Empty = new MetricsSearchTimeRangeBeginBoundedTimeRangeArgs(); + + /** + * Start boundary of bounded time range. See + * time_range_boundary schema for details. + * + */ + @Import(name="from", required=true) + private Output from; + + /** + * @return Start boundary of bounded time range. See + * time_range_boundary schema for details. + * + */ + public Output from() { + return this.from; + } + + /** + * End boundary of bounded time range. See + * time_range_boundary schema for details. + * + */ + @Import(name="to") + private @Nullable Output to; + + /** + * @return End boundary of bounded time range. See + * time_range_boundary schema for details. + * + */ + public Optional> to() { + return Optional.ofNullable(this.to); + } + + private MetricsSearchTimeRangeBeginBoundedTimeRangeArgs() {} + + private MetricsSearchTimeRangeBeginBoundedTimeRangeArgs(MetricsSearchTimeRangeBeginBoundedTimeRangeArgs $) { + this.from = $.from; + this.to = $.to; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MetricsSearchTimeRangeBeginBoundedTimeRangeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MetricsSearchTimeRangeBeginBoundedTimeRangeArgs $; + + public Builder() { + $ = new MetricsSearchTimeRangeBeginBoundedTimeRangeArgs(); + } + + public Builder(MetricsSearchTimeRangeBeginBoundedTimeRangeArgs defaults) { + $ = new MetricsSearchTimeRangeBeginBoundedTimeRangeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param from Start boundary of bounded time range. See + * time_range_boundary schema for details. + * + * @return builder + * + */ + public Builder from(Output from) { + $.from = from; + return this; + } + + /** + * @param from Start boundary of bounded time range. See + * time_range_boundary schema for details. + * + * @return builder + * + */ + public Builder from(MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs from) { + return from(Output.of(from)); + } + + /** + * @param to End boundary of bounded time range. See + * time_range_boundary schema for details. + * + * @return builder + * + */ + public Builder to(@Nullable Output to) { + $.to = to; + return this; + } + + /** + * @param to End boundary of bounded time range. See + * time_range_boundary schema for details. + * + * @return builder + * + */ + public Builder to(MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs to) { + return to(Output.of(to)); + } + + public MetricsSearchTimeRangeBeginBoundedTimeRangeArgs build() { + $.from = Objects.requireNonNull($.from, "expected parameter 'from' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs.java b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs.java new file mode 100644 index 00000000..d7f6fb04 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs.java @@ -0,0 +1,197 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.sumologic.inputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs; +import com.pulumi.sumologic.inputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs; +import com.pulumi.sumologic.inputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs; +import com.pulumi.sumologic.inputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs extends com.pulumi.resources.ResourceArgs { + + public static final MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs Empty = new MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs(); + + /** + * Time since the epoch. + * + */ + @Import(name="epochTimeRange") + private @Nullable Output epochTimeRange; + + /** + * @return Time since the epoch. + * + */ + public Optional> epochTimeRange() { + return Optional.ofNullable(this.epochTimeRange); + } + + /** + * Time in ISO 8601 format. + * + */ + @Import(name="iso8601TimeRange") + private @Nullable Output iso8601TimeRange; + + /** + * @return Time in ISO 8601 format. + * + */ + public Optional> iso8601TimeRange() { + return Optional.ofNullable(this.iso8601TimeRange); + } + + /** + * Time in literal format. + * + */ + @Import(name="literalTimeRange") + private @Nullable Output literalTimeRange; + + /** + * @return Time in literal format. + * + */ + public Optional> literalTimeRange() { + return Optional.ofNullable(this.literalTimeRange); + } + + /** + * Time in relative format. + * + */ + @Import(name="relativeTimeRange") + private @Nullable Output relativeTimeRange; + + /** + * @return Time in relative format. + * + */ + public Optional> relativeTimeRange() { + return Optional.ofNullable(this.relativeTimeRange); + } + + private MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs() {} + + private MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs(MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs $) { + this.epochTimeRange = $.epochTimeRange; + this.iso8601TimeRange = $.iso8601TimeRange; + this.literalTimeRange = $.literalTimeRange; + this.relativeTimeRange = $.relativeTimeRange; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs $; + + public Builder() { + $ = new MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs(); + } + + public Builder(MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs defaults) { + $ = new MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param epochTimeRange Time since the epoch. + * + * @return builder + * + */ + public Builder epochTimeRange(@Nullable Output epochTimeRange) { + $.epochTimeRange = epochTimeRange; + return this; + } + + /** + * @param epochTimeRange Time since the epoch. + * + * @return builder + * + */ + public Builder epochTimeRange(MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs epochTimeRange) { + return epochTimeRange(Output.of(epochTimeRange)); + } + + /** + * @param iso8601TimeRange Time in ISO 8601 format. + * + * @return builder + * + */ + public Builder iso8601TimeRange(@Nullable Output iso8601TimeRange) { + $.iso8601TimeRange = iso8601TimeRange; + return this; + } + + /** + * @param iso8601TimeRange Time in ISO 8601 format. + * + * @return builder + * + */ + public Builder iso8601TimeRange(MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs iso8601TimeRange) { + return iso8601TimeRange(Output.of(iso8601TimeRange)); + } + + /** + * @param literalTimeRange Time in literal format. + * + * @return builder + * + */ + public Builder literalTimeRange(@Nullable Output literalTimeRange) { + $.literalTimeRange = literalTimeRange; + return this; + } + + /** + * @param literalTimeRange Time in literal format. + * + * @return builder + * + */ + public Builder literalTimeRange(MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs literalTimeRange) { + return literalTimeRange(Output.of(literalTimeRange)); + } + + /** + * @param relativeTimeRange Time in relative format. + * + * @return builder + * + */ + public Builder relativeTimeRange(@Nullable Output relativeTimeRange) { + $.relativeTimeRange = relativeTimeRange; + return this; + } + + /** + * @param relativeTimeRange Time in relative format. + * + * @return builder + * + */ + public Builder relativeTimeRange(MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs relativeTimeRange) { + return relativeTimeRange(Output.of(relativeTimeRange)); + } + + public MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs.java b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs.java new file mode 100644 index 00000000..9e3830bf --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.util.Objects; + + +public final class MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs extends com.pulumi.resources.ResourceArgs { + + public static final MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs Empty = new MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs(); + + /** + * Time as a number of milliseconds since the epoch. + * + */ + @Import(name="epochMillis", required=true) + private Output epochMillis; + + /** + * @return Time as a number of milliseconds since the epoch. + * + */ + public Output epochMillis() { + return this.epochMillis; + } + + private MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs() {} + + private MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs(MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs $) { + this.epochMillis = $.epochMillis; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs $; + + public Builder() { + $ = new MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs(); + } + + public Builder(MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs defaults) { + $ = new MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param epochMillis Time as a number of milliseconds since the epoch. + * + * @return builder + * + */ + public Builder epochMillis(Output epochMillis) { + $.epochMillis = epochMillis; + return this; + } + + /** + * @param epochMillis Time as a number of milliseconds since the epoch. + * + * @return builder + * + */ + public Builder epochMillis(Integer epochMillis) { + return epochMillis(Output.of(epochMillis)); + } + + public MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs build() { + $.epochMillis = Objects.requireNonNull($.epochMillis, "expected parameter 'epochMillis' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs.java b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs.java new file mode 100644 index 00000000..8230d9dd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs extends com.pulumi.resources.ResourceArgs { + + public static final MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs Empty = new MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs(); + + /** + * Time as a string in ISO 8601 format. + * + */ + @Import(name="iso8601Time", required=true) + private Output iso8601Time; + + /** + * @return Time as a string in ISO 8601 format. + * + */ + public Output iso8601Time() { + return this.iso8601Time; + } + + private MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs() {} + + private MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs(MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs $) { + this.iso8601Time = $.iso8601Time; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs $; + + public Builder() { + $ = new MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs(); + } + + public Builder(MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs defaults) { + $ = new MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param iso8601Time Time as a string in ISO 8601 format. + * + * @return builder + * + */ + public Builder iso8601Time(Output iso8601Time) { + $.iso8601Time = iso8601Time; + return this; + } + + /** + * @param iso8601Time Time as a string in ISO 8601 format. + * + * @return builder + * + */ + public Builder iso8601Time(String iso8601Time) { + return iso8601Time(Output.of(iso8601Time)); + } + + public MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs build() { + $.iso8601Time = Objects.requireNonNull($.iso8601Time, "expected parameter 'iso8601Time' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs.java b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs.java new file mode 100644 index 00000000..ac5fbc93 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs.java @@ -0,0 +1,86 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs extends com.pulumi.resources.ResourceArgs { + + public static final MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs Empty = new MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs(); + + /** + * Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + * `previous_month`. + * + */ + @Import(name="rangeName", required=true) + private Output rangeName; + + /** + * @return Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + * `previous_month`. + * + */ + public Output rangeName() { + return this.rangeName; + } + + private MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs() {} + + private MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs(MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs $) { + this.rangeName = $.rangeName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs $; + + public Builder() { + $ = new MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs(); + } + + public Builder(MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs defaults) { + $ = new MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param rangeName Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + * `previous_month`. + * + * @return builder + * + */ + public Builder rangeName(Output rangeName) { + $.rangeName = rangeName; + return this; + } + + /** + * @param rangeName Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + * `previous_month`. + * + * @return builder + * + */ + public Builder rangeName(String rangeName) { + return rangeName(Output.of(rangeName)); + } + + public MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs build() { + $.rangeName = Objects.requireNonNull($.rangeName, "expected parameter 'rangeName' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs.java b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs.java new file mode 100644 index 00000000..23f3d5f1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs.java @@ -0,0 +1,106 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs extends com.pulumi.resources.ResourceArgs { + + public static final MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs Empty = new MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs(); + + /** + * Relative time as a string consisting of following elements: + * 1. `-` (optional): minus sign indicates time in the past, + * 2. `<number>`: number of time units, + * 3. `<time_unit>`: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + * + * Multiple pairs of `<number><time_unit>` may be provided, and they may be in any order. For example, + * `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + * + */ + @Import(name="relativeTime", required=true) + private Output relativeTime; + + /** + * @return Relative time as a string consisting of following elements: + * 1. `-` (optional): minus sign indicates time in the past, + * 2. `<number>`: number of time units, + * 3. `<time_unit>`: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + * + * Multiple pairs of `<number><time_unit>` may be provided, and they may be in any order. For example, + * `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + * + */ + public Output relativeTime() { + return this.relativeTime; + } + + private MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs() {} + + private MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs(MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs $) { + this.relativeTime = $.relativeTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs $; + + public Builder() { + $ = new MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs(); + } + + public Builder(MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs defaults) { + $ = new MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param relativeTime Relative time as a string consisting of following elements: + * 1. `-` (optional): minus sign indicates time in the past, + * 2. `<number>`: number of time units, + * 3. `<time_unit>`: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + * + * Multiple pairs of `<number><time_unit>` may be provided, and they may be in any order. For example, + * `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + * + * @return builder + * + */ + public Builder relativeTime(Output relativeTime) { + $.relativeTime = relativeTime; + return this; + } + + /** + * @param relativeTime Relative time as a string consisting of following elements: + * 1. `-` (optional): minus sign indicates time in the past, + * 2. `<number>`: number of time units, + * 3. `<time_unit>`: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + * + * Multiple pairs of `<number><time_unit>` may be provided, and they may be in any order. For example, + * `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + * + * @return builder + * + */ + public Builder relativeTime(String relativeTime) { + return relativeTime(Output.of(relativeTime)); + } + + public MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs build() { + $.relativeTime = Objects.requireNonNull($.relativeTime, "expected parameter 'relativeTime' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs.java b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs.java new file mode 100644 index 00000000..d2f5ffb6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs.java @@ -0,0 +1,197 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.sumologic.inputs.MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs; +import com.pulumi.sumologic.inputs.MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs; +import com.pulumi.sumologic.inputs.MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs; +import com.pulumi.sumologic.inputs.MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs extends com.pulumi.resources.ResourceArgs { + + public static final MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs Empty = new MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs(); + + /** + * Time since the epoch. + * + */ + @Import(name="epochTimeRange") + private @Nullable Output epochTimeRange; + + /** + * @return Time since the epoch. + * + */ + public Optional> epochTimeRange() { + return Optional.ofNullable(this.epochTimeRange); + } + + /** + * Time in ISO 8601 format. + * + */ + @Import(name="iso8601TimeRange") + private @Nullable Output iso8601TimeRange; + + /** + * @return Time in ISO 8601 format. + * + */ + public Optional> iso8601TimeRange() { + return Optional.ofNullable(this.iso8601TimeRange); + } + + /** + * Time in literal format. + * + */ + @Import(name="literalTimeRange") + private @Nullable Output literalTimeRange; + + /** + * @return Time in literal format. + * + */ + public Optional> literalTimeRange() { + return Optional.ofNullable(this.literalTimeRange); + } + + /** + * Time in relative format. + * + */ + @Import(name="relativeTimeRange") + private @Nullable Output relativeTimeRange; + + /** + * @return Time in relative format. + * + */ + public Optional> relativeTimeRange() { + return Optional.ofNullable(this.relativeTimeRange); + } + + private MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs() {} + + private MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs(MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs $) { + this.epochTimeRange = $.epochTimeRange; + this.iso8601TimeRange = $.iso8601TimeRange; + this.literalTimeRange = $.literalTimeRange; + this.relativeTimeRange = $.relativeTimeRange; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs $; + + public Builder() { + $ = new MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs(); + } + + public Builder(MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs defaults) { + $ = new MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param epochTimeRange Time since the epoch. + * + * @return builder + * + */ + public Builder epochTimeRange(@Nullable Output epochTimeRange) { + $.epochTimeRange = epochTimeRange; + return this; + } + + /** + * @param epochTimeRange Time since the epoch. + * + * @return builder + * + */ + public Builder epochTimeRange(MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs epochTimeRange) { + return epochTimeRange(Output.of(epochTimeRange)); + } + + /** + * @param iso8601TimeRange Time in ISO 8601 format. + * + * @return builder + * + */ + public Builder iso8601TimeRange(@Nullable Output iso8601TimeRange) { + $.iso8601TimeRange = iso8601TimeRange; + return this; + } + + /** + * @param iso8601TimeRange Time in ISO 8601 format. + * + * @return builder + * + */ + public Builder iso8601TimeRange(MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs iso8601TimeRange) { + return iso8601TimeRange(Output.of(iso8601TimeRange)); + } + + /** + * @param literalTimeRange Time in literal format. + * + * @return builder + * + */ + public Builder literalTimeRange(@Nullable Output literalTimeRange) { + $.literalTimeRange = literalTimeRange; + return this; + } + + /** + * @param literalTimeRange Time in literal format. + * + * @return builder + * + */ + public Builder literalTimeRange(MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs literalTimeRange) { + return literalTimeRange(Output.of(literalTimeRange)); + } + + /** + * @param relativeTimeRange Time in relative format. + * + * @return builder + * + */ + public Builder relativeTimeRange(@Nullable Output relativeTimeRange) { + $.relativeTimeRange = relativeTimeRange; + return this; + } + + /** + * @param relativeTimeRange Time in relative format. + * + * @return builder + * + */ + public Builder relativeTimeRange(MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs relativeTimeRange) { + return relativeTimeRange(Output.of(relativeTimeRange)); + } + + public MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs.java b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs.java new file mode 100644 index 00000000..2d90a554 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.util.Objects; + + +public final class MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs extends com.pulumi.resources.ResourceArgs { + + public static final MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs Empty = new MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs(); + + /** + * Time as a number of milliseconds since the epoch. + * + */ + @Import(name="epochMillis", required=true) + private Output epochMillis; + + /** + * @return Time as a number of milliseconds since the epoch. + * + */ + public Output epochMillis() { + return this.epochMillis; + } + + private MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs() {} + + private MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs(MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs $) { + this.epochMillis = $.epochMillis; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs $; + + public Builder() { + $ = new MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs(); + } + + public Builder(MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs defaults) { + $ = new MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param epochMillis Time as a number of milliseconds since the epoch. + * + * @return builder + * + */ + public Builder epochMillis(Output epochMillis) { + $.epochMillis = epochMillis; + return this; + } + + /** + * @param epochMillis Time as a number of milliseconds since the epoch. + * + * @return builder + * + */ + public Builder epochMillis(Integer epochMillis) { + return epochMillis(Output.of(epochMillis)); + } + + public MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs build() { + $.epochMillis = Objects.requireNonNull($.epochMillis, "expected parameter 'epochMillis' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs.java b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs.java new file mode 100644 index 00000000..6689e9a7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs extends com.pulumi.resources.ResourceArgs { + + public static final MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs Empty = new MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs(); + + /** + * Time as a string in ISO 8601 format. + * + */ + @Import(name="iso8601Time", required=true) + private Output iso8601Time; + + /** + * @return Time as a string in ISO 8601 format. + * + */ + public Output iso8601Time() { + return this.iso8601Time; + } + + private MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs() {} + + private MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs(MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs $) { + this.iso8601Time = $.iso8601Time; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs $; + + public Builder() { + $ = new MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs(); + } + + public Builder(MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs defaults) { + $ = new MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param iso8601Time Time as a string in ISO 8601 format. + * + * @return builder + * + */ + public Builder iso8601Time(Output iso8601Time) { + $.iso8601Time = iso8601Time; + return this; + } + + /** + * @param iso8601Time Time as a string in ISO 8601 format. + * + * @return builder + * + */ + public Builder iso8601Time(String iso8601Time) { + return iso8601Time(Output.of(iso8601Time)); + } + + public MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs build() { + $.iso8601Time = Objects.requireNonNull($.iso8601Time, "expected parameter 'iso8601Time' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs.java b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs.java new file mode 100644 index 00000000..dc925401 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs.java @@ -0,0 +1,86 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs extends com.pulumi.resources.ResourceArgs { + + public static final MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs Empty = new MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs(); + + /** + * Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + * `previous_month`. + * + */ + @Import(name="rangeName", required=true) + private Output rangeName; + + /** + * @return Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + * `previous_month`. + * + */ + public Output rangeName() { + return this.rangeName; + } + + private MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs() {} + + private MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs(MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs $) { + this.rangeName = $.rangeName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs $; + + public Builder() { + $ = new MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs(); + } + + public Builder(MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs defaults) { + $ = new MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param rangeName Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + * `previous_month`. + * + * @return builder + * + */ + public Builder rangeName(Output rangeName) { + $.rangeName = rangeName; + return this; + } + + /** + * @param rangeName Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + * `previous_month`. + * + * @return builder + * + */ + public Builder rangeName(String rangeName) { + return rangeName(Output.of(rangeName)); + } + + public MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs build() { + $.rangeName = Objects.requireNonNull($.rangeName, "expected parameter 'rangeName' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs.java b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs.java new file mode 100644 index 00000000..15e87a84 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs.java @@ -0,0 +1,106 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs extends com.pulumi.resources.ResourceArgs { + + public static final MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs Empty = new MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs(); + + /** + * Relative time as a string consisting of following elements: + * 1. `-` (optional): minus sign indicates time in the past, + * 2. `<number>`: number of time units, + * 3. `<time_unit>`: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + * + * Multiple pairs of `<number><time_unit>` may be provided, and they may be in any order. For example, + * `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + * + */ + @Import(name="relativeTime", required=true) + private Output relativeTime; + + /** + * @return Relative time as a string consisting of following elements: + * 1. `-` (optional): minus sign indicates time in the past, + * 2. `<number>`: number of time units, + * 3. `<time_unit>`: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + * + * Multiple pairs of `<number><time_unit>` may be provided, and they may be in any order. For example, + * `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + * + */ + public Output relativeTime() { + return this.relativeTime; + } + + private MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs() {} + + private MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs(MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs $) { + this.relativeTime = $.relativeTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs $; + + public Builder() { + $ = new MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs(); + } + + public Builder(MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs defaults) { + $ = new MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param relativeTime Relative time as a string consisting of following elements: + * 1. `-` (optional): minus sign indicates time in the past, + * 2. `<number>`: number of time units, + * 3. `<time_unit>`: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + * + * Multiple pairs of `<number><time_unit>` may be provided, and they may be in any order. For example, + * `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + * + * @return builder + * + */ + public Builder relativeTime(Output relativeTime) { + $.relativeTime = relativeTime; + return this; + } + + /** + * @param relativeTime Relative time as a string consisting of following elements: + * 1. `-` (optional): minus sign indicates time in the past, + * 2. `<number>`: number of time units, + * 3. `<time_unit>`: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + * + * Multiple pairs of `<number><time_unit>` may be provided, and they may be in any order. For example, + * `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + * + * @return builder + * + */ + public Builder relativeTime(String relativeTime) { + return relativeTime(Output.of(relativeTime)); + } + + public MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs build() { + $.relativeTime = Objects.requireNonNull($.relativeTime, "expected parameter 'relativeTime' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs.java b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs.java new file mode 100644 index 00000000..17cff876 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs.java @@ -0,0 +1,86 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs extends com.pulumi.resources.ResourceArgs { + + public static final MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs Empty = new MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs(); + + /** + * Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + * `previous_month`. + * + */ + @Import(name="rangeName", required=true) + private Output rangeName; + + /** + * @return Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + * `previous_month`. + * + */ + public Output rangeName() { + return this.rangeName; + } + + private MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs() {} + + private MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs(MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs $) { + this.rangeName = $.rangeName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs $; + + public Builder() { + $ = new MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs(); + } + + public Builder(MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs defaults) { + $ = new MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param rangeName Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + * `previous_month`. + * + * @return builder + * + */ + public Builder rangeName(Output rangeName) { + $.rangeName = rangeName; + return this; + } + + /** + * @param rangeName Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + * `previous_month`. + * + * @return builder + * + */ + public Builder rangeName(String rangeName) { + return rangeName(Output.of(rangeName)); + } + + public MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs build() { + $.rangeName = Objects.requireNonNull($.rangeName, "expected parameter 'rangeName' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MonitorState.java b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MonitorState.java index db8048ef..d782a977 100644 --- a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MonitorState.java +++ b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/MonitorState.java @@ -204,14 +204,14 @@ public Optional> name() { } /** - * The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. + * The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. * */ @Import(name="notificationGroupFields") private @Nullable Output> notificationGroupFields; /** - * @return The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. + * @return The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. * */ public Optional>> notificationGroupFields() { @@ -683,7 +683,7 @@ public Builder name(String name) { } /** - * @param notificationGroupFields The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. + * @param notificationGroupFields The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. * * @return builder * @@ -694,7 +694,7 @@ public Builder notificationGroupFields(@Nullable Output> notificati } /** - * @param notificationGroupFields The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. + * @param notificationGroupFields The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. * * @return builder * @@ -704,7 +704,7 @@ public Builder notificationGroupFields(List notificationGroupFields) { } /** - * @param notificationGroupFields The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. + * @param notificationGroupFields The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/RumSourceDefaultDateFormatArgs.java b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/RumSourceDefaultDateFormatArgs.java new file mode 100644 index 00000000..cbe320d8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/RumSourceDefaultDateFormatArgs.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RumSourceDefaultDateFormatArgs extends com.pulumi.resources.ResourceArgs { + + public static final RumSourceDefaultDateFormatArgs Empty = new RumSourceDefaultDateFormatArgs(); + + @Import(name="format", required=true) + private Output format; + + public Output format() { + return this.format; + } + + @Import(name="locator") + private @Nullable Output locator; + + public Optional> locator() { + return Optional.ofNullable(this.locator); + } + + private RumSourceDefaultDateFormatArgs() {} + + private RumSourceDefaultDateFormatArgs(RumSourceDefaultDateFormatArgs $) { + this.format = $.format; + this.locator = $.locator; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RumSourceDefaultDateFormatArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RumSourceDefaultDateFormatArgs $; + + public Builder() { + $ = new RumSourceDefaultDateFormatArgs(); + } + + public Builder(RumSourceDefaultDateFormatArgs defaults) { + $ = new RumSourceDefaultDateFormatArgs(Objects.requireNonNull(defaults)); + } + + public Builder format(Output format) { + $.format = format; + return this; + } + + public Builder format(String format) { + return format(Output.of(format)); + } + + public Builder locator(@Nullable Output locator) { + $.locator = locator; + return this; + } + + public Builder locator(String locator) { + return locator(Output.of(locator)); + } + + public RumSourceDefaultDateFormatArgs build() { + $.format = Objects.requireNonNull($.format, "expected parameter 'format' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/RumSourceFilterArgs.java b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/RumSourceFilterArgs.java new file mode 100644 index 00000000..9d06a12f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/RumSourceFilterArgs.java @@ -0,0 +1,117 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RumSourceFilterArgs extends com.pulumi.resources.ResourceArgs { + + public static final RumSourceFilterArgs Empty = new RumSourceFilterArgs(); + + @Import(name="filterType", required=true) + private Output filterType; + + public Output filterType() { + return this.filterType; + } + + @Import(name="mask") + private @Nullable Output mask; + + public Optional> mask() { + return Optional.ofNullable(this.mask); + } + + @Import(name="name", required=true) + private Output name; + + public Output name() { + return this.name; + } + + @Import(name="regexp", required=true) + private Output regexp; + + public Output regexp() { + return this.regexp; + } + + private RumSourceFilterArgs() {} + + private RumSourceFilterArgs(RumSourceFilterArgs $) { + this.filterType = $.filterType; + this.mask = $.mask; + this.name = $.name; + this.regexp = $.regexp; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RumSourceFilterArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RumSourceFilterArgs $; + + public Builder() { + $ = new RumSourceFilterArgs(); + } + + public Builder(RumSourceFilterArgs defaults) { + $ = new RumSourceFilterArgs(Objects.requireNonNull(defaults)); + } + + public Builder filterType(Output filterType) { + $.filterType = filterType; + return this; + } + + public Builder filterType(String filterType) { + return filterType(Output.of(filterType)); + } + + public Builder mask(@Nullable Output mask) { + $.mask = mask; + return this; + } + + public Builder mask(String mask) { + return mask(Output.of(mask)); + } + + public Builder name(Output name) { + $.name = name; + return this; + } + + public Builder name(String name) { + return name(Output.of(name)); + } + + public Builder regexp(Output regexp) { + $.regexp = regexp; + return this; + } + + public Builder regexp(String regexp) { + return regexp(Output.of(regexp)); + } + + public RumSourceFilterArgs build() { + $.filterType = Objects.requireNonNull($.filterType, "expected parameter 'filterType' to be non-null"); + $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); + $.regexp = Objects.requireNonNull($.regexp, "expected parameter 'regexp' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/RumSourcePathArgs.java b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/RumSourcePathArgs.java new file mode 100644 index 00000000..9c2e342f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/RumSourcePathArgs.java @@ -0,0 +1,366 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RumSourcePathArgs extends com.pulumi.resources.ResourceArgs { + + public static final RumSourcePathArgs Empty = new RumSourcePathArgs(); + + /** + * (Recommended) Add an Application Name tag of a text string to show for the app name in spans (for example, bookings-app). This groups services in the Application Service View. If left blank, services will belong to a "default" application. + * + */ + @Import(name="applicationName") + private @Nullable Output applicationName; + + /** + * @return (Recommended) Add an Application Name tag of a text string to show for the app name in spans (for example, bookings-app). This groups services in the Application Service View. If left blank, services will belong to a "default" application. + * + */ + public Optional> applicationName() { + return Optional.ofNullable(this.applicationName); + } + + /** + * Defines custom tags attached to the spans. For example: "internal.version = 0.1.21" + * + */ + @Import(name="customTags") + private @Nullable Output> customTags; + + /** + * @return Defines custom tags attached to the spans. For example: "internal.version = 0.1.21" + * + */ + public Optional>> customTags() { + return Optional.ofNullable(this.customTags); + } + + /** + * Your production, staging, or development environment name. + * + */ + @Import(name="deploymentEnvironment") + private @Nullable Output deploymentEnvironment; + + /** + * @return Your production, staging, or development environment name. + * + */ + public Optional> deploymentEnvironment() { + return Optional.ofNullable(this.deploymentEnvironment); + } + + /** + * Add a list of URLs not to collect trace data from. Supports regex. Make sure provided URLs are valid JavaScript flavor regexes. For example: "/^https:\/\/www.tracker.com\/.*{@literal /}, /^https:\/\/api.mydomain.com\/log\/.*{@literal /}" + * + */ + @Import(name="ignoreUrls") + private @Nullable Output> ignoreUrls; + + /** + * @return Add a list of URLs not to collect trace data from. Supports regex. Make sure provided URLs are valid JavaScript flavor regexes. For example: "/^https:\/\/www.tracker.com\/.*{@literal /}, /^https:\/\/api.mydomain.com\/log\/.*{@literal /}" + * + */ + public Optional>> ignoreUrls() { + return Optional.ofNullable(this.ignoreUrls); + } + + /** + * (Recommended) Add a list of URLs or URL patterns that pass tracing context to construct traces end-to-end. Provided URLs should be valid JavaScript flavor regexes. Some examples are "/^https:\/\/api.mydomain.com\/apiv3\/.*{@literal /}" and "/^https:\/\/www.3rdparty.com\/.*{@literal /}". + * + */ + @Import(name="propagateTraceHeaderCorsUrls") + private @Nullable Output> propagateTraceHeaderCorsUrls; + + /** + * @return (Recommended) Add a list of URLs or URL patterns that pass tracing context to construct traces end-to-end. Provided URLs should be valid JavaScript flavor regexes. Some examples are "/^https:\/\/api.mydomain.com\/apiv3\/.*{@literal /}" and "/^https:\/\/www.3rdparty.com\/.*{@literal /}". + * + */ + public Optional>> propagateTraceHeaderCorsUrls() { + return Optional.ofNullable(this.propagateTraceHeaderCorsUrls); + } + + /** + * Add a Probabilistic sampling rate for heavy traffic sites in a decimal value based on percentage, for example, 10% would be entered as 0.1. Supports floating values between 0.0 and 1.0, defaults to 1.0 (all data is passed). + * + */ + @Import(name="samplingRate") + private @Nullable Output samplingRate; + + /** + * @return Add a Probabilistic sampling rate for heavy traffic sites in a decimal value based on percentage, for example, 10% would be entered as 0.1. Supports floating values between 0.0 and 1.0, defaults to 1.0 (all data is passed). + * + */ + public Optional> samplingRate() { + return Optional.ofNullable(this.samplingRate); + } + + /** + * Specify if you want to enrich spans with the details level up to the city - if left blank, enrichment works down to the state level. + * + */ + @Import(name="selectedCountry") + private @Nullable Output selectedCountry; + + /** + * @return Specify if you want to enrich spans with the details level up to the city - if left blank, enrichment works down to the state level. + * + */ + public Optional> selectedCountry() { + return Optional.ofNullable(this.selectedCountry); + } + + /** + * Add a Service Name of a text string to show for the service name in spans (for example, "bookings-web-app"). + * + */ + @Import(name="serviceName", required=true) + private Output serviceName; + + /** + * @return Add a Service Name of a text string to show for the service name in spans (for example, "bookings-web-app"). + * + */ + public Output serviceName() { + return this.serviceName; + } + + private RumSourcePathArgs() {} + + private RumSourcePathArgs(RumSourcePathArgs $) { + this.applicationName = $.applicationName; + this.customTags = $.customTags; + this.deploymentEnvironment = $.deploymentEnvironment; + this.ignoreUrls = $.ignoreUrls; + this.propagateTraceHeaderCorsUrls = $.propagateTraceHeaderCorsUrls; + this.samplingRate = $.samplingRate; + this.selectedCountry = $.selectedCountry; + this.serviceName = $.serviceName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RumSourcePathArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RumSourcePathArgs $; + + public Builder() { + $ = new RumSourcePathArgs(); + } + + public Builder(RumSourcePathArgs defaults) { + $ = new RumSourcePathArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param applicationName (Recommended) Add an Application Name tag of a text string to show for the app name in spans (for example, bookings-app). This groups services in the Application Service View. If left blank, services will belong to a "default" application. + * + * @return builder + * + */ + public Builder applicationName(@Nullable Output applicationName) { + $.applicationName = applicationName; + return this; + } + + /** + * @param applicationName (Recommended) Add an Application Name tag of a text string to show for the app name in spans (for example, bookings-app). This groups services in the Application Service View. If left blank, services will belong to a "default" application. + * + * @return builder + * + */ + public Builder applicationName(String applicationName) { + return applicationName(Output.of(applicationName)); + } + + /** + * @param customTags Defines custom tags attached to the spans. For example: "internal.version = 0.1.21" + * + * @return builder + * + */ + public Builder customTags(@Nullable Output> customTags) { + $.customTags = customTags; + return this; + } + + /** + * @param customTags Defines custom tags attached to the spans. For example: "internal.version = 0.1.21" + * + * @return builder + * + */ + public Builder customTags(Map customTags) { + return customTags(Output.of(customTags)); + } + + /** + * @param deploymentEnvironment Your production, staging, or development environment name. + * + * @return builder + * + */ + public Builder deploymentEnvironment(@Nullable Output deploymentEnvironment) { + $.deploymentEnvironment = deploymentEnvironment; + return this; + } + + /** + * @param deploymentEnvironment Your production, staging, or development environment name. + * + * @return builder + * + */ + public Builder deploymentEnvironment(String deploymentEnvironment) { + return deploymentEnvironment(Output.of(deploymentEnvironment)); + } + + /** + * @param ignoreUrls Add a list of URLs not to collect trace data from. Supports regex. Make sure provided URLs are valid JavaScript flavor regexes. For example: "/^https:\/\/www.tracker.com\/.*{@literal /}, /^https:\/\/api.mydomain.com\/log\/.*{@literal /}" + * + * @return builder + * + */ + public Builder ignoreUrls(@Nullable Output> ignoreUrls) { + $.ignoreUrls = ignoreUrls; + return this; + } + + /** + * @param ignoreUrls Add a list of URLs not to collect trace data from. Supports regex. Make sure provided URLs are valid JavaScript flavor regexes. For example: "/^https:\/\/www.tracker.com\/.*{@literal /}, /^https:\/\/api.mydomain.com\/log\/.*{@literal /}" + * + * @return builder + * + */ + public Builder ignoreUrls(List ignoreUrls) { + return ignoreUrls(Output.of(ignoreUrls)); + } + + /** + * @param ignoreUrls Add a list of URLs not to collect trace data from. Supports regex. Make sure provided URLs are valid JavaScript flavor regexes. For example: "/^https:\/\/www.tracker.com\/.*{@literal /}, /^https:\/\/api.mydomain.com\/log\/.*{@literal /}" + * + * @return builder + * + */ + public Builder ignoreUrls(String... ignoreUrls) { + return ignoreUrls(List.of(ignoreUrls)); + } + + /** + * @param propagateTraceHeaderCorsUrls (Recommended) Add a list of URLs or URL patterns that pass tracing context to construct traces end-to-end. Provided URLs should be valid JavaScript flavor regexes. Some examples are "/^https:\/\/api.mydomain.com\/apiv3\/.*{@literal /}" and "/^https:\/\/www.3rdparty.com\/.*{@literal /}". + * + * @return builder + * + */ + public Builder propagateTraceHeaderCorsUrls(@Nullable Output> propagateTraceHeaderCorsUrls) { + $.propagateTraceHeaderCorsUrls = propagateTraceHeaderCorsUrls; + return this; + } + + /** + * @param propagateTraceHeaderCorsUrls (Recommended) Add a list of URLs or URL patterns that pass tracing context to construct traces end-to-end. Provided URLs should be valid JavaScript flavor regexes. Some examples are "/^https:\/\/api.mydomain.com\/apiv3\/.*{@literal /}" and "/^https:\/\/www.3rdparty.com\/.*{@literal /}". + * + * @return builder + * + */ + public Builder propagateTraceHeaderCorsUrls(List propagateTraceHeaderCorsUrls) { + return propagateTraceHeaderCorsUrls(Output.of(propagateTraceHeaderCorsUrls)); + } + + /** + * @param propagateTraceHeaderCorsUrls (Recommended) Add a list of URLs or URL patterns that pass tracing context to construct traces end-to-end. Provided URLs should be valid JavaScript flavor regexes. Some examples are "/^https:\/\/api.mydomain.com\/apiv3\/.*{@literal /}" and "/^https:\/\/www.3rdparty.com\/.*{@literal /}". + * + * @return builder + * + */ + public Builder propagateTraceHeaderCorsUrls(String... propagateTraceHeaderCorsUrls) { + return propagateTraceHeaderCorsUrls(List.of(propagateTraceHeaderCorsUrls)); + } + + /** + * @param samplingRate Add a Probabilistic sampling rate for heavy traffic sites in a decimal value based on percentage, for example, 10% would be entered as 0.1. Supports floating values between 0.0 and 1.0, defaults to 1.0 (all data is passed). + * + * @return builder + * + */ + public Builder samplingRate(@Nullable Output samplingRate) { + $.samplingRate = samplingRate; + return this; + } + + /** + * @param samplingRate Add a Probabilistic sampling rate for heavy traffic sites in a decimal value based on percentage, for example, 10% would be entered as 0.1. Supports floating values between 0.0 and 1.0, defaults to 1.0 (all data is passed). + * + * @return builder + * + */ + public Builder samplingRate(Double samplingRate) { + return samplingRate(Output.of(samplingRate)); + } + + /** + * @param selectedCountry Specify if you want to enrich spans with the details level up to the city - if left blank, enrichment works down to the state level. + * + * @return builder + * + */ + public Builder selectedCountry(@Nullable Output selectedCountry) { + $.selectedCountry = selectedCountry; + return this; + } + + /** + * @param selectedCountry Specify if you want to enrich spans with the details level up to the city - if left blank, enrichment works down to the state level. + * + * @return builder + * + */ + public Builder selectedCountry(String selectedCountry) { + return selectedCountry(Output.of(selectedCountry)); + } + + /** + * @param serviceName Add a Service Name of a text string to show for the service name in spans (for example, "bookings-web-app"). + * + * @return builder + * + */ + public Builder serviceName(Output serviceName) { + $.serviceName = serviceName; + return this; + } + + /** + * @param serviceName Add a Service Name of a text string to show for the service name in spans (for example, "bookings-web-app"). + * + * @return builder + * + */ + public Builder serviceName(String serviceName) { + return serviceName(Output.of(serviceName)); + } + + public RumSourcePathArgs build() { + $.serviceName = Objects.requireNonNull($.serviceName, "expected parameter 'serviceName' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/inputs/RumSourceState.java b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/RumSourceState.java new file mode 100644 index 00000000..0ff0c97f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/inputs/RumSourceState.java @@ -0,0 +1,367 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.sumologic.inputs.RumSourceDefaultDateFormatArgs; +import com.pulumi.sumologic.inputs.RumSourceFilterArgs; +import com.pulumi.sumologic.inputs.RumSourcePathArgs; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RumSourceState extends com.pulumi.resources.ResourceArgs { + + public static final RumSourceState Empty = new RumSourceState(); + + @Import(name="automaticDateParsing") + private @Nullable Output automaticDateParsing; + + public Optional> automaticDateParsing() { + return Optional.ofNullable(this.automaticDateParsing); + } + + @Import(name="category") + private @Nullable Output category; + + public Optional> category() { + return Optional.ofNullable(this.category); + } + + @Import(name="collectorId") + private @Nullable Output collectorId; + + public Optional> collectorId() { + return Optional.ofNullable(this.collectorId); + } + + @Import(name="contentType") + private @Nullable Output contentType; + + public Optional> contentType() { + return Optional.ofNullable(this.contentType); + } + + @Import(name="cutoffRelativeTime") + private @Nullable Output cutoffRelativeTime; + + public Optional> cutoffRelativeTime() { + return Optional.ofNullable(this.cutoffRelativeTime); + } + + @Import(name="cutoffTimestamp") + private @Nullable Output cutoffTimestamp; + + public Optional> cutoffTimestamp() { + return Optional.ofNullable(this.cutoffTimestamp); + } + + @Import(name="defaultDateFormats") + private @Nullable Output> defaultDateFormats; + + public Optional>> defaultDateFormats() { + return Optional.ofNullable(this.defaultDateFormats); + } + + @Import(name="description") + private @Nullable Output description; + + public Optional> description() { + return Optional.ofNullable(this.description); + } + + @Import(name="fields") + private @Nullable Output> fields; + + public Optional>> fields() { + return Optional.ofNullable(this.fields); + } + + @Import(name="filters") + private @Nullable Output> filters; + + public Optional>> filters() { + return Optional.ofNullable(this.filters); + } + + @Import(name="forceTimezone") + private @Nullable Output forceTimezone; + + public Optional> forceTimezone() { + return Optional.ofNullable(this.forceTimezone); + } + + @Import(name="hostName") + private @Nullable Output hostName; + + public Optional> hostName() { + return Optional.ofNullable(this.hostName); + } + + @Import(name="manualPrefixRegexp") + private @Nullable Output manualPrefixRegexp; + + public Optional> manualPrefixRegexp() { + return Optional.ofNullable(this.manualPrefixRegexp); + } + + @Import(name="multilineProcessingEnabled") + private @Nullable Output multilineProcessingEnabled; + + public Optional> multilineProcessingEnabled() { + return Optional.ofNullable(this.multilineProcessingEnabled); + } + + @Import(name="name") + private @Nullable Output name; + + public Optional> name() { + return Optional.ofNullable(this.name); + } + + @Import(name="path") + private @Nullable Output path; + + public Optional> path() { + return Optional.ofNullable(this.path); + } + + @Import(name="timezone") + private @Nullable Output timezone; + + public Optional> timezone() { + return Optional.ofNullable(this.timezone); + } + + @Import(name="useAutolineMatching") + private @Nullable Output useAutolineMatching; + + public Optional> useAutolineMatching() { + return Optional.ofNullable(this.useAutolineMatching); + } + + private RumSourceState() {} + + private RumSourceState(RumSourceState $) { + this.automaticDateParsing = $.automaticDateParsing; + this.category = $.category; + this.collectorId = $.collectorId; + this.contentType = $.contentType; + this.cutoffRelativeTime = $.cutoffRelativeTime; + this.cutoffTimestamp = $.cutoffTimestamp; + this.defaultDateFormats = $.defaultDateFormats; + this.description = $.description; + this.fields = $.fields; + this.filters = $.filters; + this.forceTimezone = $.forceTimezone; + this.hostName = $.hostName; + this.manualPrefixRegexp = $.manualPrefixRegexp; + this.multilineProcessingEnabled = $.multilineProcessingEnabled; + this.name = $.name; + this.path = $.path; + this.timezone = $.timezone; + this.useAutolineMatching = $.useAutolineMatching; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RumSourceState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RumSourceState $; + + public Builder() { + $ = new RumSourceState(); + } + + public Builder(RumSourceState defaults) { + $ = new RumSourceState(Objects.requireNonNull(defaults)); + } + + public Builder automaticDateParsing(@Nullable Output automaticDateParsing) { + $.automaticDateParsing = automaticDateParsing; + return this; + } + + public Builder automaticDateParsing(Boolean automaticDateParsing) { + return automaticDateParsing(Output.of(automaticDateParsing)); + } + + public Builder category(@Nullable Output category) { + $.category = category; + return this; + } + + public Builder category(String category) { + return category(Output.of(category)); + } + + public Builder collectorId(@Nullable Output collectorId) { + $.collectorId = collectorId; + return this; + } + + public Builder collectorId(Integer collectorId) { + return collectorId(Output.of(collectorId)); + } + + public Builder contentType(@Nullable Output contentType) { + $.contentType = contentType; + return this; + } + + public Builder contentType(String contentType) { + return contentType(Output.of(contentType)); + } + + public Builder cutoffRelativeTime(@Nullable Output cutoffRelativeTime) { + $.cutoffRelativeTime = cutoffRelativeTime; + return this; + } + + public Builder cutoffRelativeTime(String cutoffRelativeTime) { + return cutoffRelativeTime(Output.of(cutoffRelativeTime)); + } + + public Builder cutoffTimestamp(@Nullable Output cutoffTimestamp) { + $.cutoffTimestamp = cutoffTimestamp; + return this; + } + + public Builder cutoffTimestamp(Integer cutoffTimestamp) { + return cutoffTimestamp(Output.of(cutoffTimestamp)); + } + + public Builder defaultDateFormats(@Nullable Output> defaultDateFormats) { + $.defaultDateFormats = defaultDateFormats; + return this; + } + + public Builder defaultDateFormats(List defaultDateFormats) { + return defaultDateFormats(Output.of(defaultDateFormats)); + } + + public Builder defaultDateFormats(RumSourceDefaultDateFormatArgs... defaultDateFormats) { + return defaultDateFormats(List.of(defaultDateFormats)); + } + + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + public Builder description(String description) { + return description(Output.of(description)); + } + + public Builder fields(@Nullable Output> fields) { + $.fields = fields; + return this; + } + + public Builder fields(Map fields) { + return fields(Output.of(fields)); + } + + public Builder filters(@Nullable Output> filters) { + $.filters = filters; + return this; + } + + public Builder filters(List filters) { + return filters(Output.of(filters)); + } + + public Builder filters(RumSourceFilterArgs... filters) { + return filters(List.of(filters)); + } + + public Builder forceTimezone(@Nullable Output forceTimezone) { + $.forceTimezone = forceTimezone; + return this; + } + + public Builder forceTimezone(Boolean forceTimezone) { + return forceTimezone(Output.of(forceTimezone)); + } + + public Builder hostName(@Nullable Output hostName) { + $.hostName = hostName; + return this; + } + + public Builder hostName(String hostName) { + return hostName(Output.of(hostName)); + } + + public Builder manualPrefixRegexp(@Nullable Output manualPrefixRegexp) { + $.manualPrefixRegexp = manualPrefixRegexp; + return this; + } + + public Builder manualPrefixRegexp(String manualPrefixRegexp) { + return manualPrefixRegexp(Output.of(manualPrefixRegexp)); + } + + public Builder multilineProcessingEnabled(@Nullable Output multilineProcessingEnabled) { + $.multilineProcessingEnabled = multilineProcessingEnabled; + return this; + } + + public Builder multilineProcessingEnabled(Boolean multilineProcessingEnabled) { + return multilineProcessingEnabled(Output.of(multilineProcessingEnabled)); + } + + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + public Builder name(String name) { + return name(Output.of(name)); + } + + public Builder path(@Nullable Output path) { + $.path = path; + return this; + } + + public Builder path(RumSourcePathArgs path) { + return path(Output.of(path)); + } + + public Builder timezone(@Nullable Output timezone) { + $.timezone = timezone; + return this; + } + + public Builder timezone(String timezone) { + return timezone(Output.of(timezone)); + } + + public Builder useAutolineMatching(@Nullable Output useAutolineMatching) { + $.useAutolineMatching = useAutolineMatching; + return this; + } + + public Builder useAutolineMatching(Boolean useAutolineMatching) { + return useAutolineMatching(Output.of(useAutolineMatching)); + } + + public RumSourceState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/outputs/LogSearchQueryParameter.java b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/LogSearchQueryParameter.java index fd1f884e..a65a8516 100644 --- a/sdk/java/src/main/java/com/pulumi/sumologic/outputs/LogSearchQueryParameter.java +++ b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/LogSearchQueryParameter.java @@ -11,6 +11,14 @@ @CustomType public final class LogSearchQueryParameter { + /** + * @return The data type of the parameter. Supported values are: + * 1. `NUMBER` + * 2. `STRING` + * 3. `ANY` + * 4. `KEYWORD` + * + */ private String dataType; /** * @return Description of the search. @@ -23,12 +31,20 @@ public final class LogSearchQueryParameter { */ private String name; /** - * @return Value of scheduled search parameter. + * @return The default value for the parameter. It should be compatible with the type set in the `data_type` field. * */ private String value; private LogSearchQueryParameter() {} + /** + * @return The data type of the parameter. Supported values are: + * 1. `NUMBER` + * 2. `STRING` + * 3. `ANY` + * 4. `KEYWORD` + * + */ public String dataType() { return this.dataType; } @@ -47,7 +63,7 @@ public String name() { return this.name; } /** - * @return Value of scheduled search parameter. + * @return The default value for the parameter. It should be compatible with the type set in the `data_type` field. * */ public String value() { diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/outputs/LogSearchScheduleParameter.java b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/LogSearchScheduleParameter.java index 27d9c004..d6832f5b 100644 --- a/sdk/java/src/main/java/com/pulumi/sumologic/outputs/LogSearchScheduleParameter.java +++ b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/LogSearchScheduleParameter.java @@ -15,7 +15,7 @@ public final class LogSearchScheduleParameter { */ private String name; /** - * @return Value of scheduled search parameter. + * @return The default value for the parameter. It should be compatible with the type set in the `data_type` field. * */ private String value; @@ -29,7 +29,7 @@ public String name() { return this.name; } /** - * @return Value of scheduled search parameter. + * @return The default value for the parameter. It should be compatible with the type set in the `data_type` field. * */ public String value() { diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchMetricsQuery.java b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchMetricsQuery.java new file mode 100644 index 00000000..847d2cec --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchMetricsQuery.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class MetricsSearchMetricsQuery { + /** + * @return A metric query consists of a metric, one or more filters and optionally, one or more [Metrics Operators](https://help.sumologic.com/?cid=10144). + * Strictly speaking, both filters and operators are optional. + * Most of the [Metrics Operators](https://help.sumologic.com/?cid=10144) are allowed in the query string except `fillmissing`, `outlier`, `quantize` and `timeshift`. + * In practice, your metric queries will almost always contain filters that narrow the scope of your query. + * For more information about the query language see [Metrics Queries](https://help.sumologic.com/?cid=1079). + * + */ + private String query; + /** + * @return Row id for the query row, A to Z letter. + * + */ + private String rowId; + + private MetricsSearchMetricsQuery() {} + /** + * @return A metric query consists of a metric, one or more filters and optionally, one or more [Metrics Operators](https://help.sumologic.com/?cid=10144). + * Strictly speaking, both filters and operators are optional. + * Most of the [Metrics Operators](https://help.sumologic.com/?cid=10144) are allowed in the query string except `fillmissing`, `outlier`, `quantize` and `timeshift`. + * In practice, your metric queries will almost always contain filters that narrow the scope of your query. + * For more information about the query language see [Metrics Queries](https://help.sumologic.com/?cid=1079). + * + */ + public String query() { + return this.query; + } + /** + * @return Row id for the query row, A to Z letter. + * + */ + public String rowId() { + return this.rowId; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(MetricsSearchMetricsQuery defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String query; + private String rowId; + public Builder() {} + public Builder(MetricsSearchMetricsQuery defaults) { + Objects.requireNonNull(defaults); + this.query = defaults.query; + this.rowId = defaults.rowId; + } + + @CustomType.Setter + public Builder query(String query) { + this.query = Objects.requireNonNull(query); + return this; + } + @CustomType.Setter + public Builder rowId(String rowId) { + this.rowId = Objects.requireNonNull(rowId); + return this; + } + public MetricsSearchMetricsQuery build() { + final var o = new MetricsSearchMetricsQuery(); + o.query = query; + o.rowId = rowId; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRange.java b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRange.java new file mode 100644 index 00000000..17e99fac --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRange.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.sumologic.outputs.MetricsSearchTimeRangeBeginBoundedTimeRange; +import com.pulumi.sumologic.outputs.MetricsSearchTimeRangeCompleteLiteralTimeRange; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class MetricsSearchTimeRange { + /** + * @return Bounded time range. See + * begin_bounded_time_range schema schema for details. + * + */ + private @Nullable MetricsSearchTimeRangeBeginBoundedTimeRange beginBoundedTimeRange; + /** + * @return Literal time range. See + * complete_literal_time_range schema for details. + * + */ + private @Nullable MetricsSearchTimeRangeCompleteLiteralTimeRange completeLiteralTimeRange; + + private MetricsSearchTimeRange() {} + /** + * @return Bounded time range. See + * begin_bounded_time_range schema schema for details. + * + */ + public Optional beginBoundedTimeRange() { + return Optional.ofNullable(this.beginBoundedTimeRange); + } + /** + * @return Literal time range. See + * complete_literal_time_range schema for details. + * + */ + public Optional completeLiteralTimeRange() { + return Optional.ofNullable(this.completeLiteralTimeRange); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(MetricsSearchTimeRange defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable MetricsSearchTimeRangeBeginBoundedTimeRange beginBoundedTimeRange; + private @Nullable MetricsSearchTimeRangeCompleteLiteralTimeRange completeLiteralTimeRange; + public Builder() {} + public Builder(MetricsSearchTimeRange defaults) { + Objects.requireNonNull(defaults); + this.beginBoundedTimeRange = defaults.beginBoundedTimeRange; + this.completeLiteralTimeRange = defaults.completeLiteralTimeRange; + } + + @CustomType.Setter + public Builder beginBoundedTimeRange(@Nullable MetricsSearchTimeRangeBeginBoundedTimeRange beginBoundedTimeRange) { + this.beginBoundedTimeRange = beginBoundedTimeRange; + return this; + } + @CustomType.Setter + public Builder completeLiteralTimeRange(@Nullable MetricsSearchTimeRangeCompleteLiteralTimeRange completeLiteralTimeRange) { + this.completeLiteralTimeRange = completeLiteralTimeRange; + return this; + } + public MetricsSearchTimeRange build() { + final var o = new MetricsSearchTimeRange(); + o.beginBoundedTimeRange = beginBoundedTimeRange; + o.completeLiteralTimeRange = completeLiteralTimeRange; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRange.java b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRange.java new file mode 100644 index 00000000..5a508419 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRange.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.sumologic.outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFrom; +import com.pulumi.sumologic.outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeTo; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class MetricsSearchTimeRangeBeginBoundedTimeRange { + /** + * @return Start boundary of bounded time range. See + * time_range_boundary schema for details. + * + */ + private MetricsSearchTimeRangeBeginBoundedTimeRangeFrom from; + /** + * @return End boundary of bounded time range. See + * time_range_boundary schema for details. + * + */ + private @Nullable MetricsSearchTimeRangeBeginBoundedTimeRangeTo to; + + private MetricsSearchTimeRangeBeginBoundedTimeRange() {} + /** + * @return Start boundary of bounded time range. See + * time_range_boundary schema for details. + * + */ + public MetricsSearchTimeRangeBeginBoundedTimeRangeFrom from() { + return this.from; + } + /** + * @return End boundary of bounded time range. See + * time_range_boundary schema for details. + * + */ + public Optional to() { + return Optional.ofNullable(this.to); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(MetricsSearchTimeRangeBeginBoundedTimeRange defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private MetricsSearchTimeRangeBeginBoundedTimeRangeFrom from; + private @Nullable MetricsSearchTimeRangeBeginBoundedTimeRangeTo to; + public Builder() {} + public Builder(MetricsSearchTimeRangeBeginBoundedTimeRange defaults) { + Objects.requireNonNull(defaults); + this.from = defaults.from; + this.to = defaults.to; + } + + @CustomType.Setter + public Builder from(MetricsSearchTimeRangeBeginBoundedTimeRangeFrom from) { + this.from = Objects.requireNonNull(from); + return this; + } + @CustomType.Setter + public Builder to(@Nullable MetricsSearchTimeRangeBeginBoundedTimeRangeTo to) { + this.to = to; + return this; + } + public MetricsSearchTimeRangeBeginBoundedTimeRange build() { + final var o = new MetricsSearchTimeRangeBeginBoundedTimeRange(); + o.from = from; + o.to = to; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFrom.java b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFrom.java new file mode 100644 index 00000000..81f06f22 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFrom.java @@ -0,0 +1,119 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.sumologic.outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange; +import com.pulumi.sumologic.outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange; +import com.pulumi.sumologic.outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange; +import com.pulumi.sumologic.outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class MetricsSearchTimeRangeBeginBoundedTimeRangeFrom { + /** + * @return Time since the epoch. + * + */ + private @Nullable MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange epochTimeRange; + /** + * @return Time in ISO 8601 format. + * + */ + private @Nullable MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange iso8601TimeRange; + /** + * @return Time in literal format. + * + */ + private @Nullable MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange literalTimeRange; + /** + * @return Time in relative format. + * + */ + private @Nullable MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange relativeTimeRange; + + private MetricsSearchTimeRangeBeginBoundedTimeRangeFrom() {} + /** + * @return Time since the epoch. + * + */ + public Optional epochTimeRange() { + return Optional.ofNullable(this.epochTimeRange); + } + /** + * @return Time in ISO 8601 format. + * + */ + public Optional iso8601TimeRange() { + return Optional.ofNullable(this.iso8601TimeRange); + } + /** + * @return Time in literal format. + * + */ + public Optional literalTimeRange() { + return Optional.ofNullable(this.literalTimeRange); + } + /** + * @return Time in relative format. + * + */ + public Optional relativeTimeRange() { + return Optional.ofNullable(this.relativeTimeRange); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(MetricsSearchTimeRangeBeginBoundedTimeRangeFrom defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange epochTimeRange; + private @Nullable MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange iso8601TimeRange; + private @Nullable MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange literalTimeRange; + private @Nullable MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange relativeTimeRange; + public Builder() {} + public Builder(MetricsSearchTimeRangeBeginBoundedTimeRangeFrom defaults) { + Objects.requireNonNull(defaults); + this.epochTimeRange = defaults.epochTimeRange; + this.iso8601TimeRange = defaults.iso8601TimeRange; + this.literalTimeRange = defaults.literalTimeRange; + this.relativeTimeRange = defaults.relativeTimeRange; + } + + @CustomType.Setter + public Builder epochTimeRange(@Nullable MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange epochTimeRange) { + this.epochTimeRange = epochTimeRange; + return this; + } + @CustomType.Setter + public Builder iso8601TimeRange(@Nullable MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange iso8601TimeRange) { + this.iso8601TimeRange = iso8601TimeRange; + return this; + } + @CustomType.Setter + public Builder literalTimeRange(@Nullable MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange literalTimeRange) { + this.literalTimeRange = literalTimeRange; + return this; + } + @CustomType.Setter + public Builder relativeTimeRange(@Nullable MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange relativeTimeRange) { + this.relativeTimeRange = relativeTimeRange; + return this; + } + public MetricsSearchTimeRangeBeginBoundedTimeRangeFrom build() { + final var o = new MetricsSearchTimeRangeBeginBoundedTimeRangeFrom(); + o.epochTimeRange = epochTimeRange; + o.iso8601TimeRange = iso8601TimeRange; + o.literalTimeRange = literalTimeRange; + o.relativeTimeRange = relativeTimeRange; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange.java b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange.java new file mode 100644 index 00000000..30b4c08d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.util.Objects; + +@CustomType +public final class MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange { + /** + * @return Time as a number of milliseconds since the epoch. + * + */ + private Integer epochMillis; + + private MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange() {} + /** + * @return Time as a number of milliseconds since the epoch. + * + */ + public Integer epochMillis() { + return this.epochMillis; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer epochMillis; + public Builder() {} + public Builder(MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange defaults) { + Objects.requireNonNull(defaults); + this.epochMillis = defaults.epochMillis; + } + + @CustomType.Setter + public Builder epochMillis(Integer epochMillis) { + this.epochMillis = Objects.requireNonNull(epochMillis); + return this; + } + public MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange build() { + final var o = new MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange(); + o.epochMillis = epochMillis; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange.java b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange.java new file mode 100644 index 00000000..d6db1521 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange { + /** + * @return Time as a string in ISO 8601 format. + * + */ + private String iso8601Time; + + private MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange() {} + /** + * @return Time as a string in ISO 8601 format. + * + */ + public String iso8601Time() { + return this.iso8601Time; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String iso8601Time; + public Builder() {} + public Builder(MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange defaults) { + Objects.requireNonNull(defaults); + this.iso8601Time = defaults.iso8601Time; + } + + @CustomType.Setter + public Builder iso8601Time(String iso8601Time) { + this.iso8601Time = Objects.requireNonNull(iso8601Time); + return this; + } + public MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange build() { + final var o = new MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange(); + o.iso8601Time = iso8601Time; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange.java b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange.java new file mode 100644 index 00000000..e99d28fa --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange.java @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange { + /** + * @return Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + * `previous_month`. + * + */ + private String rangeName; + + private MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange() {} + /** + * @return Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + * `previous_month`. + * + */ + public String rangeName() { + return this.rangeName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String rangeName; + public Builder() {} + public Builder(MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange defaults) { + Objects.requireNonNull(defaults); + this.rangeName = defaults.rangeName; + } + + @CustomType.Setter + public Builder rangeName(String rangeName) { + this.rangeName = Objects.requireNonNull(rangeName); + return this; + } + public MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange build() { + final var o = new MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange(); + o.rangeName = rangeName; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange.java b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange.java new file mode 100644 index 00000000..ac38e846 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange.java @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange { + /** + * @return Relative time as a string consisting of following elements: + * 1. `-` (optional): minus sign indicates time in the past, + * 2. `<number>`: number of time units, + * 3. `<time_unit>`: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + * + * Multiple pairs of `<number><time_unit>` may be provided, and they may be in any order. For example, + * `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + * + */ + private String relativeTime; + + private MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange() {} + /** + * @return Relative time as a string consisting of following elements: + * 1. `-` (optional): minus sign indicates time in the past, + * 2. `<number>`: number of time units, + * 3. `<time_unit>`: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + * + * Multiple pairs of `<number><time_unit>` may be provided, and they may be in any order. For example, + * `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + * + */ + public String relativeTime() { + return this.relativeTime; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String relativeTime; + public Builder() {} + public Builder(MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange defaults) { + Objects.requireNonNull(defaults); + this.relativeTime = defaults.relativeTime; + } + + @CustomType.Setter + public Builder relativeTime(String relativeTime) { + this.relativeTime = Objects.requireNonNull(relativeTime); + return this; + } + public MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange build() { + final var o = new MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange(); + o.relativeTime = relativeTime; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeTo.java b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeTo.java new file mode 100644 index 00000000..ca464cea --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeTo.java @@ -0,0 +1,119 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.sumologic.outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange; +import com.pulumi.sumologic.outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange; +import com.pulumi.sumologic.outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange; +import com.pulumi.sumologic.outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class MetricsSearchTimeRangeBeginBoundedTimeRangeTo { + /** + * @return Time since the epoch. + * + */ + private @Nullable MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange epochTimeRange; + /** + * @return Time in ISO 8601 format. + * + */ + private @Nullable MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange iso8601TimeRange; + /** + * @return Time in literal format. + * + */ + private @Nullable MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange literalTimeRange; + /** + * @return Time in relative format. + * + */ + private @Nullable MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange relativeTimeRange; + + private MetricsSearchTimeRangeBeginBoundedTimeRangeTo() {} + /** + * @return Time since the epoch. + * + */ + public Optional epochTimeRange() { + return Optional.ofNullable(this.epochTimeRange); + } + /** + * @return Time in ISO 8601 format. + * + */ + public Optional iso8601TimeRange() { + return Optional.ofNullable(this.iso8601TimeRange); + } + /** + * @return Time in literal format. + * + */ + public Optional literalTimeRange() { + return Optional.ofNullable(this.literalTimeRange); + } + /** + * @return Time in relative format. + * + */ + public Optional relativeTimeRange() { + return Optional.ofNullable(this.relativeTimeRange); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(MetricsSearchTimeRangeBeginBoundedTimeRangeTo defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange epochTimeRange; + private @Nullable MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange iso8601TimeRange; + private @Nullable MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange literalTimeRange; + private @Nullable MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange relativeTimeRange; + public Builder() {} + public Builder(MetricsSearchTimeRangeBeginBoundedTimeRangeTo defaults) { + Objects.requireNonNull(defaults); + this.epochTimeRange = defaults.epochTimeRange; + this.iso8601TimeRange = defaults.iso8601TimeRange; + this.literalTimeRange = defaults.literalTimeRange; + this.relativeTimeRange = defaults.relativeTimeRange; + } + + @CustomType.Setter + public Builder epochTimeRange(@Nullable MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange epochTimeRange) { + this.epochTimeRange = epochTimeRange; + return this; + } + @CustomType.Setter + public Builder iso8601TimeRange(@Nullable MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange iso8601TimeRange) { + this.iso8601TimeRange = iso8601TimeRange; + return this; + } + @CustomType.Setter + public Builder literalTimeRange(@Nullable MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange literalTimeRange) { + this.literalTimeRange = literalTimeRange; + return this; + } + @CustomType.Setter + public Builder relativeTimeRange(@Nullable MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange relativeTimeRange) { + this.relativeTimeRange = relativeTimeRange; + return this; + } + public MetricsSearchTimeRangeBeginBoundedTimeRangeTo build() { + final var o = new MetricsSearchTimeRangeBeginBoundedTimeRangeTo(); + o.epochTimeRange = epochTimeRange; + o.iso8601TimeRange = iso8601TimeRange; + o.literalTimeRange = literalTimeRange; + o.relativeTimeRange = relativeTimeRange; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange.java b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange.java new file mode 100644 index 00000000..f6d9a466 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.util.Objects; + +@CustomType +public final class MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange { + /** + * @return Time as a number of milliseconds since the epoch. + * + */ + private Integer epochMillis; + + private MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange() {} + /** + * @return Time as a number of milliseconds since the epoch. + * + */ + public Integer epochMillis() { + return this.epochMillis; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer epochMillis; + public Builder() {} + public Builder(MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange defaults) { + Objects.requireNonNull(defaults); + this.epochMillis = defaults.epochMillis; + } + + @CustomType.Setter + public Builder epochMillis(Integer epochMillis) { + this.epochMillis = Objects.requireNonNull(epochMillis); + return this; + } + public MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange build() { + final var o = new MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange(); + o.epochMillis = epochMillis; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange.java b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange.java new file mode 100644 index 00000000..354b412c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange { + /** + * @return Time as a string in ISO 8601 format. + * + */ + private String iso8601Time; + + private MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange() {} + /** + * @return Time as a string in ISO 8601 format. + * + */ + public String iso8601Time() { + return this.iso8601Time; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String iso8601Time; + public Builder() {} + public Builder(MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange defaults) { + Objects.requireNonNull(defaults); + this.iso8601Time = defaults.iso8601Time; + } + + @CustomType.Setter + public Builder iso8601Time(String iso8601Time) { + this.iso8601Time = Objects.requireNonNull(iso8601Time); + return this; + } + public MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange build() { + final var o = new MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange(); + o.iso8601Time = iso8601Time; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange.java b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange.java new file mode 100644 index 00000000..ce6a6182 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange.java @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange { + /** + * @return Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + * `previous_month`. + * + */ + private String rangeName; + + private MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange() {} + /** + * @return Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + * `previous_month`. + * + */ + public String rangeName() { + return this.rangeName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String rangeName; + public Builder() {} + public Builder(MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange defaults) { + Objects.requireNonNull(defaults); + this.rangeName = defaults.rangeName; + } + + @CustomType.Setter + public Builder rangeName(String rangeName) { + this.rangeName = Objects.requireNonNull(rangeName); + return this; + } + public MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange build() { + final var o = new MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange(); + o.rangeName = rangeName; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange.java b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange.java new file mode 100644 index 00000000..d509561f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange.java @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange { + /** + * @return Relative time as a string consisting of following elements: + * 1. `-` (optional): minus sign indicates time in the past, + * 2. `<number>`: number of time units, + * 3. `<time_unit>`: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + * + * Multiple pairs of `<number><time_unit>` may be provided, and they may be in any order. For example, + * `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + * + */ + private String relativeTime; + + private MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange() {} + /** + * @return Relative time as a string consisting of following elements: + * 1. `-` (optional): minus sign indicates time in the past, + * 2. `<number>`: number of time units, + * 3. `<time_unit>`: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + * + * Multiple pairs of `<number><time_unit>` may be provided, and they may be in any order. For example, + * `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + * + */ + public String relativeTime() { + return this.relativeTime; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String relativeTime; + public Builder() {} + public Builder(MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange defaults) { + Objects.requireNonNull(defaults); + this.relativeTime = defaults.relativeTime; + } + + @CustomType.Setter + public Builder relativeTime(String relativeTime) { + this.relativeTime = Objects.requireNonNull(relativeTime); + return this; + } + public MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange build() { + final var o = new MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange(); + o.relativeTime = relativeTime; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeCompleteLiteralTimeRange.java b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeCompleteLiteralTimeRange.java new file mode 100644 index 00000000..92b8aab2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/MetricsSearchTimeRangeCompleteLiteralTimeRange.java @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class MetricsSearchTimeRangeCompleteLiteralTimeRange { + /** + * @return Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + * `previous_month`. + * + */ + private String rangeName; + + private MetricsSearchTimeRangeCompleteLiteralTimeRange() {} + /** + * @return Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + * `previous_month`. + * + */ + public String rangeName() { + return this.rangeName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(MetricsSearchTimeRangeCompleteLiteralTimeRange defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String rangeName; + public Builder() {} + public Builder(MetricsSearchTimeRangeCompleteLiteralTimeRange defaults) { + Objects.requireNonNull(defaults); + this.rangeName = defaults.rangeName; + } + + @CustomType.Setter + public Builder rangeName(String rangeName) { + this.rangeName = Objects.requireNonNull(rangeName); + return this; + } + public MetricsSearchTimeRangeCompleteLiteralTimeRange build() { + final var o = new MetricsSearchTimeRangeCompleteLiteralTimeRange(); + o.rangeName = rangeName; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/outputs/RumSourceDefaultDateFormat.java b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/RumSourceDefaultDateFormat.java new file mode 100644 index 00000000..74359a80 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/RumSourceDefaultDateFormat.java @@ -0,0 +1,60 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class RumSourceDefaultDateFormat { + private String format; + private @Nullable String locator; + + private RumSourceDefaultDateFormat() {} + public String format() { + return this.format; + } + public Optional locator() { + return Optional.ofNullable(this.locator); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RumSourceDefaultDateFormat defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String format; + private @Nullable String locator; + public Builder() {} + public Builder(RumSourceDefaultDateFormat defaults) { + Objects.requireNonNull(defaults); + this.format = defaults.format; + this.locator = defaults.locator; + } + + @CustomType.Setter + public Builder format(String format) { + this.format = Objects.requireNonNull(format); + return this; + } + @CustomType.Setter + public Builder locator(@Nullable String locator) { + this.locator = locator; + return this; + } + public RumSourceDefaultDateFormat build() { + final var o = new RumSourceDefaultDateFormat(); + o.format = format; + o.locator = locator; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/outputs/RumSourceFilter.java b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/RumSourceFilter.java new file mode 100644 index 00000000..3b6f7f26 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/RumSourceFilter.java @@ -0,0 +1,84 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class RumSourceFilter { + private String filterType; + private @Nullable String mask; + private String name; + private String regexp; + + private RumSourceFilter() {} + public String filterType() { + return this.filterType; + } + public Optional mask() { + return Optional.ofNullable(this.mask); + } + public String name() { + return this.name; + } + public String regexp() { + return this.regexp; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RumSourceFilter defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String filterType; + private @Nullable String mask; + private String name; + private String regexp; + public Builder() {} + public Builder(RumSourceFilter defaults) { + Objects.requireNonNull(defaults); + this.filterType = defaults.filterType; + this.mask = defaults.mask; + this.name = defaults.name; + this.regexp = defaults.regexp; + } + + @CustomType.Setter + public Builder filterType(String filterType) { + this.filterType = Objects.requireNonNull(filterType); + return this; + } + @CustomType.Setter + public Builder mask(@Nullable String mask) { + this.mask = mask; + return this; + } + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + @CustomType.Setter + public Builder regexp(String regexp) { + this.regexp = Objects.requireNonNull(regexp); + return this; + } + public RumSourceFilter build() { + final var o = new RumSourceFilter(); + o.filterType = filterType; + o.mask = mask; + o.name = name; + o.regexp = regexp; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/sumologic/outputs/RumSourcePath.java b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/RumSourcePath.java new file mode 100644 index 00000000..89b1cde3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/sumologic/outputs/RumSourcePath.java @@ -0,0 +1,205 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.sumologic.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class RumSourcePath { + /** + * @return (Recommended) Add an Application Name tag of a text string to show for the app name in spans (for example, bookings-app). This groups services in the Application Service View. If left blank, services will belong to a "default" application. + * + */ + private @Nullable String applicationName; + /** + * @return Defines custom tags attached to the spans. For example: "internal.version = 0.1.21" + * + */ + private @Nullable Map customTags; + /** + * @return Your production, staging, or development environment name. + * + */ + private @Nullable String deploymentEnvironment; + /** + * @return Add a list of URLs not to collect trace data from. Supports regex. Make sure provided URLs are valid JavaScript flavor regexes. For example: "/^https:\/\/www.tracker.com\/.*{@literal /}, /^https:\/\/api.mydomain.com\/log\/.*{@literal /}" + * + */ + private @Nullable List ignoreUrls; + /** + * @return (Recommended) Add a list of URLs or URL patterns that pass tracing context to construct traces end-to-end. Provided URLs should be valid JavaScript flavor regexes. Some examples are "/^https:\/\/api.mydomain.com\/apiv3\/.*{@literal /}" and "/^https:\/\/www.3rdparty.com\/.*{@literal /}". + * + */ + private @Nullable List propagateTraceHeaderCorsUrls; + /** + * @return Add a Probabilistic sampling rate for heavy traffic sites in a decimal value based on percentage, for example, 10% would be entered as 0.1. Supports floating values between 0.0 and 1.0, defaults to 1.0 (all data is passed). + * + */ + private @Nullable Double samplingRate; + /** + * @return Specify if you want to enrich spans with the details level up to the city - if left blank, enrichment works down to the state level. + * + */ + private @Nullable String selectedCountry; + /** + * @return Add a Service Name of a text string to show for the service name in spans (for example, "bookings-web-app"). + * + */ + private String serviceName; + + private RumSourcePath() {} + /** + * @return (Recommended) Add an Application Name tag of a text string to show for the app name in spans (for example, bookings-app). This groups services in the Application Service View. If left blank, services will belong to a "default" application. + * + */ + public Optional applicationName() { + return Optional.ofNullable(this.applicationName); + } + /** + * @return Defines custom tags attached to the spans. For example: "internal.version = 0.1.21" + * + */ + public Map customTags() { + return this.customTags == null ? Map.of() : this.customTags; + } + /** + * @return Your production, staging, or development environment name. + * + */ + public Optional deploymentEnvironment() { + return Optional.ofNullable(this.deploymentEnvironment); + } + /** + * @return Add a list of URLs not to collect trace data from. Supports regex. Make sure provided URLs are valid JavaScript flavor regexes. For example: "/^https:\/\/www.tracker.com\/.*{@literal /}, /^https:\/\/api.mydomain.com\/log\/.*{@literal /}" + * + */ + public List ignoreUrls() { + return this.ignoreUrls == null ? List.of() : this.ignoreUrls; + } + /** + * @return (Recommended) Add a list of URLs or URL patterns that pass tracing context to construct traces end-to-end. Provided URLs should be valid JavaScript flavor regexes. Some examples are "/^https:\/\/api.mydomain.com\/apiv3\/.*{@literal /}" and "/^https:\/\/www.3rdparty.com\/.*{@literal /}". + * + */ + public List propagateTraceHeaderCorsUrls() { + return this.propagateTraceHeaderCorsUrls == null ? List.of() : this.propagateTraceHeaderCorsUrls; + } + /** + * @return Add a Probabilistic sampling rate for heavy traffic sites in a decimal value based on percentage, for example, 10% would be entered as 0.1. Supports floating values between 0.0 and 1.0, defaults to 1.0 (all data is passed). + * + */ + public Optional samplingRate() { + return Optional.ofNullable(this.samplingRate); + } + /** + * @return Specify if you want to enrich spans with the details level up to the city - if left blank, enrichment works down to the state level. + * + */ + public Optional selectedCountry() { + return Optional.ofNullable(this.selectedCountry); + } + /** + * @return Add a Service Name of a text string to show for the service name in spans (for example, "bookings-web-app"). + * + */ + public String serviceName() { + return this.serviceName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RumSourcePath defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String applicationName; + private @Nullable Map customTags; + private @Nullable String deploymentEnvironment; + private @Nullable List ignoreUrls; + private @Nullable List propagateTraceHeaderCorsUrls; + private @Nullable Double samplingRate; + private @Nullable String selectedCountry; + private String serviceName; + public Builder() {} + public Builder(RumSourcePath defaults) { + Objects.requireNonNull(defaults); + this.applicationName = defaults.applicationName; + this.customTags = defaults.customTags; + this.deploymentEnvironment = defaults.deploymentEnvironment; + this.ignoreUrls = defaults.ignoreUrls; + this.propagateTraceHeaderCorsUrls = defaults.propagateTraceHeaderCorsUrls; + this.samplingRate = defaults.samplingRate; + this.selectedCountry = defaults.selectedCountry; + this.serviceName = defaults.serviceName; + } + + @CustomType.Setter + public Builder applicationName(@Nullable String applicationName) { + this.applicationName = applicationName; + return this; + } + @CustomType.Setter + public Builder customTags(@Nullable Map customTags) { + this.customTags = customTags; + return this; + } + @CustomType.Setter + public Builder deploymentEnvironment(@Nullable String deploymentEnvironment) { + this.deploymentEnvironment = deploymentEnvironment; + return this; + } + @CustomType.Setter + public Builder ignoreUrls(@Nullable List ignoreUrls) { + this.ignoreUrls = ignoreUrls; + return this; + } + public Builder ignoreUrls(String... ignoreUrls) { + return ignoreUrls(List.of(ignoreUrls)); + } + @CustomType.Setter + public Builder propagateTraceHeaderCorsUrls(@Nullable List propagateTraceHeaderCorsUrls) { + this.propagateTraceHeaderCorsUrls = propagateTraceHeaderCorsUrls; + return this; + } + public Builder propagateTraceHeaderCorsUrls(String... propagateTraceHeaderCorsUrls) { + return propagateTraceHeaderCorsUrls(List.of(propagateTraceHeaderCorsUrls)); + } + @CustomType.Setter + public Builder samplingRate(@Nullable Double samplingRate) { + this.samplingRate = samplingRate; + return this; + } + @CustomType.Setter + public Builder selectedCountry(@Nullable String selectedCountry) { + this.selectedCountry = selectedCountry; + return this; + } + @CustomType.Setter + public Builder serviceName(String serviceName) { + this.serviceName = Objects.requireNonNull(serviceName); + return this; + } + public RumSourcePath build() { + final var o = new RumSourcePath(); + o.applicationName = applicationName; + o.customTags = customTags; + o.deploymentEnvironment = deploymentEnvironment; + o.ignoreUrls = ignoreUrls; + o.propagateTraceHeaderCorsUrls = propagateTraceHeaderCorsUrls; + o.samplingRate = samplingRate; + o.selectedCountry = selectedCountry; + o.serviceName = serviceName; + return o; + } + } +} diff --git a/sdk/nodejs/cseMatchList.ts b/sdk/nodejs/cseMatchList.ts index b6ffc6d7..737a6aaf 100644 --- a/sdk/nodejs/cseMatchList.ts +++ b/sdk/nodejs/cseMatchList.ts @@ -73,9 +73,6 @@ export class CseMatchList extends pulumi.CustomResource { * Match list description. */ public readonly description!: pulumi.Output; - /** - * List of match list items. See matchListItem schema for details. - */ public readonly items!: pulumi.Output; public /*out*/ readonly lastUpdated!: pulumi.Output; public /*out*/ readonly lastUpdatedBy!: pulumi.Output; @@ -147,9 +144,6 @@ export interface CseMatchListState { * Match list description. */ description?: pulumi.Input; - /** - * List of match list items. See matchListItem schema for details. - */ items?: pulumi.Input[]>; lastUpdated?: pulumi.Input; lastUpdatedBy?: pulumi.Input; @@ -175,9 +169,6 @@ export interface CseMatchListArgs { * Match list description. */ description: pulumi.Input; - /** - * List of match list items. See matchListItem schema for details. - */ items?: pulumi.Input[]>; /** * Match list name. diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index 0ec641e2..42a722a4 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -309,6 +309,11 @@ export type MetadataSource = import("./metadataSource").MetadataSource; export const MetadataSource: typeof import("./metadataSource").MetadataSource = null as any; utilities.lazyLoad(exports, ["MetadataSource"], () => require("./metadataSource")); +export { MetricsSearchArgs, MetricsSearchState } from "./metricsSearch"; +export type MetricsSearch = import("./metricsSearch").MetricsSearch; +export const MetricsSearch: typeof import("./metricsSearch").MetricsSearch = null as any; +utilities.lazyLoad(exports, ["MetricsSearch"], () => require("./metricsSearch")); + export { MonitorArgs, MonitorState } from "./monitor"; export type Monitor = import("./monitor").Monitor; export const Monitor: typeof import("./monitor").Monitor = null as any; @@ -349,6 +354,11 @@ export type Role = import("./role").Role; export const Role: typeof import("./role").Role = null as any; utilities.lazyLoad(exports, ["Role"], () => require("./role")); +export { RumSourceArgs, RumSourceState } from "./rumSource"; +export type RumSource = import("./rumSource").RumSource; +export const RumSource: typeof import("./rumSource").RumSource = null as any; +utilities.lazyLoad(exports, ["RumSource"], () => require("./rumSource")); + export { S3ArchiveSourceArgs, S3ArchiveSourceState } from "./s3archiveSource"; export type S3ArchiveSource = import("./s3archiveSource").S3ArchiveSource; export const S3ArchiveSource: typeof import("./s3archiveSource").S3ArchiveSource = null as any; @@ -515,6 +525,8 @@ const _module = { return new LookupTable(name, undefined, { urn }) case "sumologic:index/metadataSource:MetadataSource": return new MetadataSource(name, undefined, { urn }) + case "sumologic:index/metricsSearch:MetricsSearch": + return new MetricsSearch(name, undefined, { urn }) case "sumologic:index/monitor:Monitor": return new Monitor(name, undefined, { urn }) case "sumologic:index/monitorFolder:MonitorFolder": @@ -529,6 +541,8 @@ const _module = { return new PollingSource(name, undefined, { urn }) case "sumologic:index/role:Role": return new Role(name, undefined, { urn }) + case "sumologic:index/rumSource:RumSource": + return new RumSource(name, undefined, { urn }) case "sumologic:index/s3ArchiveSource:S3ArchiveSource": return new S3ArchiveSource(name, undefined, { urn }) case "sumologic:index/s3AuditSource:S3AuditSource": @@ -605,6 +619,7 @@ pulumi.runtime.registerResourceModule("sumologic", "index/localFileSource", _mod pulumi.runtime.registerResourceModule("sumologic", "index/logSearch", _module) pulumi.runtime.registerResourceModule("sumologic", "index/lookupTable", _module) pulumi.runtime.registerResourceModule("sumologic", "index/metadataSource", _module) +pulumi.runtime.registerResourceModule("sumologic", "index/metricsSearch", _module) pulumi.runtime.registerResourceModule("sumologic", "index/monitor", _module) pulumi.runtime.registerResourceModule("sumologic", "index/monitorFolder", _module) pulumi.runtime.registerResourceModule("sumologic", "index/partition", _module) @@ -612,6 +627,7 @@ pulumi.runtime.registerResourceModule("sumologic", "index/passwordPolicy", _modu pulumi.runtime.registerResourceModule("sumologic", "index/policies", _module) pulumi.runtime.registerResourceModule("sumologic", "index/pollingSource", _module) pulumi.runtime.registerResourceModule("sumologic", "index/role", _module) +pulumi.runtime.registerResourceModule("sumologic", "index/rumSource", _module) pulumi.runtime.registerResourceModule("sumologic", "index/s3ArchiveSource", _module) pulumi.runtime.registerResourceModule("sumologic", "index/s3AuditSource", _module) pulumi.runtime.registerResourceModule("sumologic", "index/s3Source", _module) diff --git a/sdk/nodejs/ingestBudgetV2.ts b/sdk/nodejs/ingestBudgetV2.ts index ddffc2b3..5732b563 100644 --- a/sdk/nodejs/ingestBudgetV2.ts +++ b/sdk/nodejs/ingestBudgetV2.ts @@ -16,6 +16,7 @@ import * as utilities from "./utilities"; * const budget = new sumologic.IngestBudgetV2("budget", { * action: "keepCollecting", * auditThreshold: 85, + * budgetType: "dailyVolume", * capacityBytes: 30000000000, * description: "For testing purposes", * resetTime: "00:00", @@ -26,10 +27,10 @@ import * as utilities from "./utilities"; * * ## Import * - * Ingest budgets can be imported using the name, e.g.hcl + * Ingest budgets can be imported using the budget ID, e.g.hcl * * ```sh - * $ pulumi import sumologic:index/ingestBudgetV2:IngestBudgetV2 budget budgetName + * $ pulumi import sumologic:index/ingestBudgetV2:IngestBudgetV2 budget 00000000000123AB * ``` * * [1]https://help.sumologic.com/Beta/Metadata_Ingest_Budgets [2]https://en.wikipedia.org/wiki/Tz_database @@ -73,7 +74,11 @@ export class IngestBudgetV2 extends pulumi.CustomResource { */ public readonly auditThreshold!: pulumi.Output; /** - * Capacity of the ingest budget, in bytes. + * The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`. + */ + public readonly budgetType!: pulumi.Output; + /** + * Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min. */ public readonly capacityBytes!: pulumi.Output; /** @@ -112,6 +117,7 @@ export class IngestBudgetV2 extends pulumi.CustomResource { const state = argsOrState as IngestBudgetV2State | undefined; resourceInputs["action"] = state ? state.action : undefined; resourceInputs["auditThreshold"] = state ? state.auditThreshold : undefined; + resourceInputs["budgetType"] = state ? state.budgetType : undefined; resourceInputs["capacityBytes"] = state ? state.capacityBytes : undefined; resourceInputs["description"] = state ? state.description : undefined; resourceInputs["name"] = state ? state.name : undefined; @@ -137,6 +143,7 @@ export class IngestBudgetV2 extends pulumi.CustomResource { } resourceInputs["action"] = args ? args.action : undefined; resourceInputs["auditThreshold"] = args ? args.auditThreshold : undefined; + resourceInputs["budgetType"] = args ? args.budgetType : undefined; resourceInputs["capacityBytes"] = args ? args.capacityBytes : undefined; resourceInputs["description"] = args ? args.description : undefined; resourceInputs["name"] = args ? args.name : undefined; @@ -164,7 +171,11 @@ export interface IngestBudgetV2State { */ auditThreshold?: pulumi.Input; /** - * Capacity of the ingest budget, in bytes. + * The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`. + */ + budgetType?: pulumi.Input; + /** + * Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min. */ capacityBytes?: pulumi.Input; /** @@ -204,7 +215,11 @@ export interface IngestBudgetV2Args { */ auditThreshold?: pulumi.Input; /** - * Capacity of the ingest budget, in bytes. + * The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`. + */ + budgetType?: pulumi.Input; + /** + * Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min. */ capacityBytes: pulumi.Input; /** diff --git a/sdk/nodejs/logSearch.ts b/sdk/nodejs/logSearch.ts index c1796ada..b59726ea 100644 --- a/sdk/nodejs/logSearch.ts +++ b/sdk/nodejs/logSearch.ts @@ -19,7 +19,13 @@ import * as utilities from "./utilities"; * const exampleLogSearch = new sumologic.LogSearch("exampleLogSearch", { * description: "Demo search description", * parentId: personalFolder.then(personalFolder => personalFolder.id), - * queryString: "_sourceCategory=api error | count by _sourceHost", + * queryString: ` _sourceCategory=api + * | parse "parameter1=*," as parameter1 + * | parse "parameter2=*," as parameter2 + * | where parameter1 matches {{param1}} + * | where parameter2 matches {{param2}} + * | count by _sourceHost + * `, * parsingMode: "AutoParse", * runByReceiptTime: true, * timeRange: { @@ -31,6 +37,20 @@ import * as utilities from "./utilities"; * }, * }, * }, + * queryParameters: [ + * { + * name: "param1", + * description: "Description for param1", + * dataType: "STRING", + * value: "*", + * }, + * { + * name: "param2", + * description: "Description for param2", + * dataType: "STRING", + * value: "*", + * }, + * ], * schedule: { * cronExpression: "0 0 * * * ? *", * muteErrorEmails: false, @@ -60,6 +80,16 @@ import * as utilities from "./utilities"; * thresholdType: "group", * }, * timeZone: "America/Los_Angeles", + * parameters: [ + * { + * name: "param1", + * value: "*", + * }, + * { + * name: "param2", + * value: "*", + * }, + * ], * }, * }); * ``` @@ -126,6 +156,10 @@ export class LogSearch extends pulumi.CustomResource { * [Dynamic Parsing](https://help.sumologic.com/?cid=0011). */ public readonly parsingMode!: pulumi.Output; + /** + * Up to 10 `queryParameter` blocks can be added one for each parameter in the `queryString`. + * See query parameter schema. + */ public readonly queryParameters!: pulumi.Output; /** * Log query to perform. @@ -218,6 +252,10 @@ export interface LogSearchState { * [Dynamic Parsing](https://help.sumologic.com/?cid=0011). */ parsingMode?: pulumi.Input; + /** + * Up to 10 `queryParameter` blocks can be added one for each parameter in the `queryString`. + * See query parameter schema. + */ queryParameters?: pulumi.Input[]>; /** * Log query to perform. @@ -263,6 +301,10 @@ export interface LogSearchArgs { * [Dynamic Parsing](https://help.sumologic.com/?cid=0011). */ parsingMode?: pulumi.Input; + /** + * Up to 10 `queryParameter` blocks can be added one for each parameter in the `queryString`. + * See query parameter schema. + */ queryParameters?: pulumi.Input[]>; /** * Log query to perform. diff --git a/sdk/nodejs/metricsSearch.ts b/sdk/nodejs/metricsSearch.ts new file mode 100644 index 00000000..b1b65ae9 --- /dev/null +++ b/sdk/nodejs/metricsSearch.ts @@ -0,0 +1,228 @@ +// *** 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"; + +/** + * Provides a [Sumologic Metrics Search](https://help.sumologic.com/docs/metrics/metrics-queries/metrics-explorer/). + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as sumologic from "@pulumi/sumologic"; + * + * const personalFolder = sumologic.getPersonalFolder({}); + * const exampleMetricsSearch = new sumologic.MetricsSearch("exampleMetricsSearch", { + * title: "Demo Metrics Search", + * description: "Demo search description", + * parentId: personalFolder.then(personalFolder => personalFolder.id), + * metricsQueries: [{ + * rowId: "A", + * query: "metric=cpu_idle | avg", + * }], + * desiredQuantizationInSecs: 0, + * timeRange: { + * beginBoundedTimeRange: { + * from: { + * relativeTimeRange: { + * relativeTime: "-30m", + * }, + * }, + * }, + * }, + * }); + * ``` + * ## Attributes reference + * + * In addition to all arguments above, the following attributes are exported: + * + * - `id` - The ID of the log search. + * + * ## Import + * + * A metrics search can be imported using it's identifier, e.g.hcl + * + * ```sh + * $ pulumi import sumologic:index/metricsSearch:MetricsSearch example_search 0000000007FFD79D + * ``` + * + * [1]https://help.sumologic.com/docs/metrics/metrics-queries/metrics-explorer/ + */ +export class MetricsSearch extends pulumi.CustomResource { + /** + * Get an existing MetricsSearch 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?: MetricsSearchState, opts?: pulumi.CustomResourceOptions): MetricsSearch { + return new MetricsSearch(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'sumologic:index/metricsSearch:MetricsSearch'; + + /** + * Returns true if the given object is an instance of MetricsSearch. 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 MetricsSearch { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === MetricsSearch.__pulumiType; + } + + /** + * Description of the search. + */ + public readonly description!: pulumi.Output; + /** + * Desired quantization in seconds. Default value is `0`. + */ + public readonly desiredQuantizationInSecs!: pulumi.Output; + /** + * Log query used to add an overlay to the chart. + */ + public readonly logQuery!: pulumi.Output; + /** + * Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. + */ + public readonly metricsQueries!: pulumi.Output; + /** + * The identifier of the folder to create the log search in. + */ + public readonly parentId!: pulumi.Output; + /** + * Time range of the log search. See time range schema + */ + public readonly timeRange!: pulumi.Output; + /** + * Title of the search. + */ + public readonly title!: pulumi.Output; + + /** + * Create a MetricsSearch 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: MetricsSearchArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: MetricsSearchArgs | MetricsSearchState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as MetricsSearchState | undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["desiredQuantizationInSecs"] = state ? state.desiredQuantizationInSecs : undefined; + resourceInputs["logQuery"] = state ? state.logQuery : undefined; + resourceInputs["metricsQueries"] = state ? state.metricsQueries : undefined; + resourceInputs["parentId"] = state ? state.parentId : undefined; + resourceInputs["timeRange"] = state ? state.timeRange : undefined; + resourceInputs["title"] = state ? state.title : undefined; + } else { + const args = argsOrState as MetricsSearchArgs | undefined; + if ((!args || args.description === undefined) && !opts.urn) { + throw new Error("Missing required property 'description'"); + } + if ((!args || args.metricsQueries === undefined) && !opts.urn) { + throw new Error("Missing required property 'metricsQueries'"); + } + if ((!args || args.parentId === undefined) && !opts.urn) { + throw new Error("Missing required property 'parentId'"); + } + if ((!args || args.timeRange === undefined) && !opts.urn) { + throw new Error("Missing required property 'timeRange'"); + } + if ((!args || args.title === undefined) && !opts.urn) { + throw new Error("Missing required property 'title'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["desiredQuantizationInSecs"] = args ? args.desiredQuantizationInSecs : undefined; + resourceInputs["logQuery"] = args ? args.logQuery : undefined; + resourceInputs["metricsQueries"] = args ? args.metricsQueries : undefined; + resourceInputs["parentId"] = args ? args.parentId : undefined; + resourceInputs["timeRange"] = args ? args.timeRange : undefined; + resourceInputs["title"] = args ? args.title : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(MetricsSearch.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering MetricsSearch resources. + */ +export interface MetricsSearchState { + /** + * Description of the search. + */ + description?: pulumi.Input; + /** + * Desired quantization in seconds. Default value is `0`. + */ + desiredQuantizationInSecs?: pulumi.Input; + /** + * Log query used to add an overlay to the chart. + */ + logQuery?: pulumi.Input; + /** + * Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. + */ + metricsQueries?: pulumi.Input[]>; + /** + * The identifier of the folder to create the log search in. + */ + parentId?: pulumi.Input; + /** + * Time range of the log search. See time range schema + */ + timeRange?: pulumi.Input; + /** + * Title of the search. + */ + title?: pulumi.Input; +} + +/** + * The set of arguments for constructing a MetricsSearch resource. + */ +export interface MetricsSearchArgs { + /** + * Description of the search. + */ + description: pulumi.Input; + /** + * Desired quantization in seconds. Default value is `0`. + */ + desiredQuantizationInSecs?: pulumi.Input; + /** + * Log query used to add an overlay to the chart. + */ + logQuery?: pulumi.Input; + /** + * Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. + */ + metricsQueries: pulumi.Input[]>; + /** + * The identifier of the folder to create the log search in. + */ + parentId: pulumi.Input; + /** + * Time range of the log search. See time range schema + */ + timeRange: pulumi.Input; + /** + * Title of the search. + */ + title: pulumi.Input; +} diff --git a/sdk/nodejs/monitor.ts b/sdk/nodejs/monitor.ts index fe1c871e..470bd03e 100644 --- a/sdk/nodejs/monitor.ts +++ b/sdk/nodejs/monitor.ts @@ -283,7 +283,7 @@ export class Monitor extends pulumi.CustomResource { */ public readonly name!: pulumi.Output; /** - * The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. + * The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. */ public readonly notificationGroupFields!: pulumi.Output; /** @@ -460,7 +460,7 @@ export interface MonitorState { */ name?: pulumi.Input; /** - * The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. + * The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. */ notificationGroupFields?: pulumi.Input[]>; /** @@ -558,7 +558,7 @@ export interface MonitorArgs { */ name?: pulumi.Input; /** - * The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. + * The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. */ notificationGroupFields?: pulumi.Input[]>; /** diff --git a/sdk/nodejs/provider.ts b/sdk/nodejs/provider.ts index 6c218abf..cd193df5 100644 --- a/sdk/nodejs/provider.ts +++ b/sdk/nodejs/provider.ts @@ -22,7 +22,7 @@ export class Provider extends pulumi.ProviderResource { if (obj === undefined || obj === null) { return false; } - return obj['__pulumiType'] === Provider.__pulumiType; + return obj['__pulumiType'] === "pulumi:providers:" + Provider.__pulumiType; } public readonly accessId!: pulumi.Output; diff --git a/sdk/nodejs/rumSource.ts b/sdk/nodejs/rumSource.ts new file mode 100644 index 00000000..a54a1d68 --- /dev/null +++ b/sdk/nodejs/rumSource.ts @@ -0,0 +1,179 @@ +// *** 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"; + +/** + * Provides a Sumologic Rum Source. + * + * ## Import + * + * Rum sources can be imported using the collector and source IDs, e.g.hcl + * + * ```sh + * $ pulumi import sumologic:index/rumSource:RumSource test 123/456 + * ``` + * + * Rum sources can also be imported using the collector name and source name, e.g.hcl + * + * ```sh + * $ pulumi import sumologic:index/rumSource:RumSource test my-test-collector/my-test-source + * ``` + */ +export class RumSource extends pulumi.CustomResource { + /** + * Get an existing RumSource 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?: RumSourceState, opts?: pulumi.CustomResourceOptions): RumSource { + return new RumSource(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'sumologic:index/rumSource:RumSource'; + + /** + * Returns true if the given object is an instance of RumSource. 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 RumSource { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === RumSource.__pulumiType; + } + + public readonly automaticDateParsing!: pulumi.Output; + public readonly category!: pulumi.Output; + public readonly collectorId!: pulumi.Output; + public readonly contentType!: pulumi.Output; + public readonly cutoffRelativeTime!: pulumi.Output; + public readonly cutoffTimestamp!: pulumi.Output; + public readonly defaultDateFormats!: pulumi.Output; + public readonly description!: pulumi.Output; + public readonly fields!: pulumi.Output<{[key: string]: string} | undefined>; + public readonly filters!: pulumi.Output; + public readonly forceTimezone!: pulumi.Output; + public readonly hostName!: pulumi.Output; + public readonly manualPrefixRegexp!: pulumi.Output; + public readonly multilineProcessingEnabled!: pulumi.Output; + public readonly name!: pulumi.Output; + public readonly path!: pulumi.Output; + public readonly timezone!: pulumi.Output; + public readonly useAutolineMatching!: pulumi.Output; + + /** + * Create a RumSource 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: RumSourceArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: RumSourceArgs | RumSourceState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as RumSourceState | undefined; + resourceInputs["automaticDateParsing"] = state ? state.automaticDateParsing : undefined; + resourceInputs["category"] = state ? state.category : undefined; + resourceInputs["collectorId"] = state ? state.collectorId : undefined; + resourceInputs["contentType"] = state ? state.contentType : undefined; + resourceInputs["cutoffRelativeTime"] = state ? state.cutoffRelativeTime : undefined; + resourceInputs["cutoffTimestamp"] = state ? state.cutoffTimestamp : undefined; + resourceInputs["defaultDateFormats"] = state ? state.defaultDateFormats : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["fields"] = state ? state.fields : undefined; + resourceInputs["filters"] = state ? state.filters : undefined; + resourceInputs["forceTimezone"] = state ? state.forceTimezone : undefined; + resourceInputs["hostName"] = state ? state.hostName : undefined; + resourceInputs["manualPrefixRegexp"] = state ? state.manualPrefixRegexp : undefined; + resourceInputs["multilineProcessingEnabled"] = state ? state.multilineProcessingEnabled : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["path"] = state ? state.path : undefined; + resourceInputs["timezone"] = state ? state.timezone : undefined; + resourceInputs["useAutolineMatching"] = state ? state.useAutolineMatching : undefined; + } else { + const args = argsOrState as RumSourceArgs | undefined; + if ((!args || args.collectorId === undefined) && !opts.urn) { + throw new Error("Missing required property 'collectorId'"); + } + resourceInputs["automaticDateParsing"] = args ? args.automaticDateParsing : undefined; + resourceInputs["category"] = args ? args.category : undefined; + resourceInputs["collectorId"] = args ? args.collectorId : undefined; + resourceInputs["contentType"] = args ? args.contentType : undefined; + resourceInputs["cutoffRelativeTime"] = args ? args.cutoffRelativeTime : undefined; + resourceInputs["cutoffTimestamp"] = args ? args.cutoffTimestamp : undefined; + resourceInputs["defaultDateFormats"] = args ? args.defaultDateFormats : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["fields"] = args ? args.fields : undefined; + resourceInputs["filters"] = args ? args.filters : undefined; + resourceInputs["forceTimezone"] = args ? args.forceTimezone : undefined; + resourceInputs["hostName"] = args ? args.hostName : undefined; + resourceInputs["manualPrefixRegexp"] = args ? args.manualPrefixRegexp : undefined; + resourceInputs["multilineProcessingEnabled"] = args ? args.multilineProcessingEnabled : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["path"] = args ? args.path : undefined; + resourceInputs["timezone"] = args ? args.timezone : undefined; + resourceInputs["useAutolineMatching"] = args ? args.useAutolineMatching : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(RumSource.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering RumSource resources. + */ +export interface RumSourceState { + automaticDateParsing?: pulumi.Input; + category?: pulumi.Input; + collectorId?: pulumi.Input; + contentType?: pulumi.Input; + cutoffRelativeTime?: pulumi.Input; + cutoffTimestamp?: pulumi.Input; + defaultDateFormats?: pulumi.Input[]>; + description?: pulumi.Input; + fields?: pulumi.Input<{[key: string]: pulumi.Input}>; + filters?: pulumi.Input[]>; + forceTimezone?: pulumi.Input; + hostName?: pulumi.Input; + manualPrefixRegexp?: pulumi.Input; + multilineProcessingEnabled?: pulumi.Input; + name?: pulumi.Input; + path?: pulumi.Input; + timezone?: pulumi.Input; + useAutolineMatching?: pulumi.Input; +} + +/** + * The set of arguments for constructing a RumSource resource. + */ +export interface RumSourceArgs { + automaticDateParsing?: pulumi.Input; + category?: pulumi.Input; + collectorId: pulumi.Input; + contentType?: pulumi.Input; + cutoffRelativeTime?: pulumi.Input; + cutoffTimestamp?: pulumi.Input; + defaultDateFormats?: pulumi.Input[]>; + description?: pulumi.Input; + fields?: pulumi.Input<{[key: string]: pulumi.Input}>; + filters?: pulumi.Input[]>; + forceTimezone?: pulumi.Input; + hostName?: pulumi.Input; + manualPrefixRegexp?: pulumi.Input; + multilineProcessingEnabled?: pulumi.Input; + name?: pulumi.Input; + path?: pulumi.Input; + timezone?: pulumi.Input; + useAutolineMatching?: pulumi.Input; +} diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 0cd0361c..e0d19919 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -77,6 +77,7 @@ "logSearch.ts", "lookupTable.ts", "metadataSource.ts", + "metricsSearch.ts", "monitor.ts", "monitorFolder.ts", "partition.ts", @@ -85,6 +86,7 @@ "pollingSource.ts", "provider.ts", "role.ts", + "rumSource.ts", "s3archiveSource.ts", "s3auditSource.ts", "s3source.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index cb5d59bb..d7d64c49 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -5991,6 +5991,13 @@ export interface LocalFileSourceFilter { } export interface LogSearchQueryParameter { + /** + * The data type of the parameter. Supported values are: + * 1. `NUMBER` + * 2. `STRING` + * 3. `ANY` + * 4. `KEYWORD` + */ dataType: pulumi.Input; /** * Description of the search. @@ -6001,7 +6008,7 @@ export interface LogSearchQueryParameter { */ name: pulumi.Input; /** - * Value of scheduled search parameter. + * The default value for the parameter. It should be compatible with the type set in the `dataType` field. */ value: pulumi.Input; } @@ -6209,7 +6216,7 @@ export interface LogSearchScheduleParameter { */ name: pulumi.Input; /** - * Value of scheduled search parameter. + * The default value for the parameter. It should be compatible with the type set in the `dataType` field. */ value: pulumi.Input; } @@ -6571,6 +6578,163 @@ export interface MetadataSourcePath { type: pulumi.Input; } +export interface MetricsSearchMetricsQuery { + /** + * A metric query consists of a metric, one or more filters and optionally, one or more [Metrics Operators](https://help.sumologic.com/?cid=10144). + * Strictly speaking, both filters and operators are optional. + * Most of the [Metrics Operators](https://help.sumologic.com/?cid=10144) are allowed in the query string except `fillmissing`, `outlier`, `quantize` and `timeshift`. + * In practice, your metric queries will almost always contain filters that narrow the scope of your query. + * For more information about the query language see [Metrics Queries](https://help.sumologic.com/?cid=1079). + */ + query: pulumi.Input; + /** + * Row id for the query row, A to Z letter. + */ + rowId: pulumi.Input; +} + +export interface MetricsSearchTimeRange { + /** + * Bounded time range. See + * beginBoundedTimeRange schema schema for details. + */ + beginBoundedTimeRange?: pulumi.Input; + /** + * Literal time range. See + * completeLiteralTimeRange schema for details. + */ + completeLiteralTimeRange?: pulumi.Input; +} + +export interface MetricsSearchTimeRangeBeginBoundedTimeRange { + /** + * Start boundary of bounded time range. See + * timeRangeBoundary schema for details. + */ + from: pulumi.Input; + /** + * End boundary of bounded time range. See + * timeRangeBoundary schema for details. + */ + to?: pulumi.Input; +} + +export interface MetricsSearchTimeRangeBeginBoundedTimeRangeFrom { + /** + * Time since the epoch. + */ + epochTimeRange?: pulumi.Input; + /** + * Time in ISO 8601 format. + */ + iso8601TimeRange?: pulumi.Input; + /** + * Time in literal format. + */ + literalTimeRange?: pulumi.Input; + /** + * Time in relative format. + */ + relativeTimeRange?: pulumi.Input; +} + +export interface MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange { + /** + * Time as a number of milliseconds since the epoch. + */ + epochMillis: pulumi.Input; +} + +export interface MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange { + /** + * Time as a string in ISO 8601 format. + */ + iso8601Time: pulumi.Input; +} + +export interface MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange { + /** + * Name of complete literal time range. One of `today`, `yesterday`, `previousWeek`, and + * `previousMonth`. + */ + rangeName: pulumi.Input; +} + +export interface MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange { + /** + * Relative time as a string consisting of following elements: + * 1. `-` (optional): minus sign indicates time in the past, + * 2. ``: number of time units, + * 3. ``: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + * + * Multiple pairs of `` may be provided, and they may be in any order. For example, + * `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + */ + relativeTime: pulumi.Input; +} + +export interface MetricsSearchTimeRangeBeginBoundedTimeRangeTo { + /** + * Time since the epoch. + */ + epochTimeRange?: pulumi.Input; + /** + * Time in ISO 8601 format. + */ + iso8601TimeRange?: pulumi.Input; + /** + * Time in literal format. + */ + literalTimeRange?: pulumi.Input; + /** + * Time in relative format. + */ + relativeTimeRange?: pulumi.Input; +} + +export interface MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange { + /** + * Time as a number of milliseconds since the epoch. + */ + epochMillis: pulumi.Input; +} + +export interface MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange { + /** + * Time as a string in ISO 8601 format. + */ + iso8601Time: pulumi.Input; +} + +export interface MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange { + /** + * Name of complete literal time range. One of `today`, `yesterday`, `previousWeek`, and + * `previousMonth`. + */ + rangeName: pulumi.Input; +} + +export interface MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange { + /** + * Relative time as a string consisting of following elements: + * 1. `-` (optional): minus sign indicates time in the past, + * 2. ``: number of time units, + * 3. ``: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + * + * Multiple pairs of `` may be provided, and they may be in any order. For example, + * `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + */ + relativeTime: pulumi.Input; +} + +export interface MetricsSearchTimeRangeCompleteLiteralTimeRange { + /** + * Name of complete literal time range. One of `today`, `yesterday`, `previousWeek`, and + * `previousMonth`. + */ + rangeName: pulumi.Input; +} + export interface MonitorFolderObjPermission { /** * A Set of Permissions. Valid Permission Values: @@ -6911,6 +7075,53 @@ export interface PollingSourcePathTagFilter { type?: pulumi.Input; } +export interface RumSourceDefaultDateFormat { + format: pulumi.Input; + locator?: pulumi.Input; +} + +export interface RumSourceFilter { + filterType: pulumi.Input; + mask?: pulumi.Input; + name: pulumi.Input; + regexp: pulumi.Input; +} + +export interface RumSourcePath { + /** + * (Recommended) Add an Application Name tag of a text string to show for the app name in spans (for example, bookings-app). This groups services in the Application Service View. If left blank, services will belong to a "default" application. + */ + applicationName?: pulumi.Input; + /** + * Defines custom tags attached to the spans. For example: "internal.version = 0.1.21" + */ + customTags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Your production, staging, or development environment name. + */ + deploymentEnvironment?: pulumi.Input; + /** + * Add a list of URLs not to collect trace data from. Supports regex. Make sure provided URLs are valid JavaScript flavor regexes. For example: "/^https:\/\/www.tracker.com\/.*/, /^https:\/\/api.mydomain.com\/log\/.*/" + */ + ignoreUrls?: pulumi.Input[]>; + /** + * (Recommended) Add a list of URLs or URL patterns that pass tracing context to construct traces end-to-end. Provided URLs should be valid JavaScript flavor regexes. Some examples are "/^https:\/\/api.mydomain.com\/apiv3\/.*/" and "/^https:\/\/www.3rdparty.com\/.*/". + */ + propagateTraceHeaderCorsUrls?: pulumi.Input[]>; + /** + * Add a Probabilistic sampling rate for heavy traffic sites in a decimal value based on percentage, for example, 10% would be entered as 0.1. Supports floating values between 0.0 and 1.0, defaults to 1.0 (all data is passed). + */ + samplingRate?: pulumi.Input; + /** + * Specify if you want to enrich spans with the details level up to the city - if left blank, enrichment works down to the state level. + */ + selectedCountry?: pulumi.Input; + /** + * Add a Service Name of a text string to show for the service name in spans (for example, "bookings-web-app"). + */ + serviceName: pulumi.Input; +} + export interface S3ArchiveSourceAuthentication { /** * Your AWS access key if using type `S3BucketAuthentication`. diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 8d297c6d..d4052882 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -5991,6 +5991,13 @@ export interface LocalFileSourceFilter { } export interface LogSearchQueryParameter { + /** + * The data type of the parameter. Supported values are: + * 1. `NUMBER` + * 2. `STRING` + * 3. `ANY` + * 4. `KEYWORD` + */ dataType: string; /** * Description of the search. @@ -6001,7 +6008,7 @@ export interface LogSearchQueryParameter { */ name: string; /** - * Value of scheduled search parameter. + * The default value for the parameter. It should be compatible with the type set in the `dataType` field. */ value: string; } @@ -6209,7 +6216,7 @@ export interface LogSearchScheduleParameter { */ name: string; /** - * Value of scheduled search parameter. + * The default value for the parameter. It should be compatible with the type set in the `dataType` field. */ value: string; } @@ -6571,6 +6578,163 @@ export interface MetadataSourcePath { type: string; } +export interface MetricsSearchMetricsQuery { + /** + * A metric query consists of a metric, one or more filters and optionally, one or more [Metrics Operators](https://help.sumologic.com/?cid=10144). + * Strictly speaking, both filters and operators are optional. + * Most of the [Metrics Operators](https://help.sumologic.com/?cid=10144) are allowed in the query string except `fillmissing`, `outlier`, `quantize` and `timeshift`. + * In practice, your metric queries will almost always contain filters that narrow the scope of your query. + * For more information about the query language see [Metrics Queries](https://help.sumologic.com/?cid=1079). + */ + query: string; + /** + * Row id for the query row, A to Z letter. + */ + rowId: string; +} + +export interface MetricsSearchTimeRange { + /** + * Bounded time range. See + * beginBoundedTimeRange schema schema for details. + */ + beginBoundedTimeRange?: outputs.MetricsSearchTimeRangeBeginBoundedTimeRange; + /** + * Literal time range. See + * completeLiteralTimeRange schema for details. + */ + completeLiteralTimeRange?: outputs.MetricsSearchTimeRangeCompleteLiteralTimeRange; +} + +export interface MetricsSearchTimeRangeBeginBoundedTimeRange { + /** + * Start boundary of bounded time range. See + * timeRangeBoundary schema for details. + */ + from: outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFrom; + /** + * End boundary of bounded time range. See + * timeRangeBoundary schema for details. + */ + to?: outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeTo; +} + +export interface MetricsSearchTimeRangeBeginBoundedTimeRangeFrom { + /** + * Time since the epoch. + */ + epochTimeRange?: outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange; + /** + * Time in ISO 8601 format. + */ + iso8601TimeRange?: outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange; + /** + * Time in literal format. + */ + literalTimeRange?: outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange; + /** + * Time in relative format. + */ + relativeTimeRange?: outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange; +} + +export interface MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange { + /** + * Time as a number of milliseconds since the epoch. + */ + epochMillis: number; +} + +export interface MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange { + /** + * Time as a string in ISO 8601 format. + */ + iso8601Time: string; +} + +export interface MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange { + /** + * Name of complete literal time range. One of `today`, `yesterday`, `previousWeek`, and + * `previousMonth`. + */ + rangeName: string; +} + +export interface MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange { + /** + * Relative time as a string consisting of following elements: + * 1. `-` (optional): minus sign indicates time in the past, + * 2. ``: number of time units, + * 3. ``: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + * + * Multiple pairs of `` may be provided, and they may be in any order. For example, + * `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + */ + relativeTime: string; +} + +export interface MetricsSearchTimeRangeBeginBoundedTimeRangeTo { + /** + * Time since the epoch. + */ + epochTimeRange?: outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange; + /** + * Time in ISO 8601 format. + */ + iso8601TimeRange?: outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange; + /** + * Time in literal format. + */ + literalTimeRange?: outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange; + /** + * Time in relative format. + */ + relativeTimeRange?: outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange; +} + +export interface MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange { + /** + * Time as a number of milliseconds since the epoch. + */ + epochMillis: number; +} + +export interface MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange { + /** + * Time as a string in ISO 8601 format. + */ + iso8601Time: string; +} + +export interface MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange { + /** + * Name of complete literal time range. One of `today`, `yesterday`, `previousWeek`, and + * `previousMonth`. + */ + rangeName: string; +} + +export interface MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange { + /** + * Relative time as a string consisting of following elements: + * 1. `-` (optional): minus sign indicates time in the past, + * 2. ``: number of time units, + * 3. ``: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + * + * Multiple pairs of `` may be provided, and they may be in any order. For example, + * `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + */ + relativeTime: string; +} + +export interface MetricsSearchTimeRangeCompleteLiteralTimeRange { + /** + * Name of complete literal time range. One of `today`, `yesterday`, `previousWeek`, and + * `previousMonth`. + */ + rangeName: string; +} + export interface MonitorFolderObjPermission { /** * A Set of Permissions. Valid Permission Values: @@ -6911,6 +7075,53 @@ export interface PollingSourcePathTagFilter { type?: string; } +export interface RumSourceDefaultDateFormat { + format: string; + locator?: string; +} + +export interface RumSourceFilter { + filterType: string; + mask?: string; + name: string; + regexp: string; +} + +export interface RumSourcePath { + /** + * (Recommended) Add an Application Name tag of a text string to show for the app name in spans (for example, bookings-app). This groups services in the Application Service View. If left blank, services will belong to a "default" application. + */ + applicationName?: string; + /** + * Defines custom tags attached to the spans. For example: "internal.version = 0.1.21" + */ + customTags?: {[key: string]: string}; + /** + * Your production, staging, or development environment name. + */ + deploymentEnvironment?: string; + /** + * Add a list of URLs not to collect trace data from. Supports regex. Make sure provided URLs are valid JavaScript flavor regexes. For example: "/^https:\/\/www.tracker.com\/.*/, /^https:\/\/api.mydomain.com\/log\/.*/" + */ + ignoreUrls?: string[]; + /** + * (Recommended) Add a list of URLs or URL patterns that pass tracing context to construct traces end-to-end. Provided URLs should be valid JavaScript flavor regexes. Some examples are "/^https:\/\/api.mydomain.com\/apiv3\/.*/" and "/^https:\/\/www.3rdparty.com\/.*/". + */ + propagateTraceHeaderCorsUrls?: string[]; + /** + * Add a Probabilistic sampling rate for heavy traffic sites in a decimal value based on percentage, for example, 10% would be entered as 0.1. Supports floating values between 0.0 and 1.0, defaults to 1.0 (all data is passed). + */ + samplingRate?: number; + /** + * Specify if you want to enrich spans with the details level up to the city - if left blank, enrichment works down to the state level. + */ + selectedCountry?: string; + /** + * Add a Service Name of a text string to show for the service name in spans (for example, "bookings-web-app"). + */ + serviceName: string; +} + export interface S3ArchiveSourceAuthentication { /** * Your AWS access key if using type `S3BucketAuthentication`. diff --git a/sdk/python/pulumi_sumologic/__init__.py b/sdk/python/pulumi_sumologic/__init__.py index bfd23327..c7d2fb70 100644 --- a/sdk/python/pulumi_sumologic/__init__.py +++ b/sdk/python/pulumi_sumologic/__init__.py @@ -66,6 +66,7 @@ from .log_search import * from .lookup_table import * from .metadata_source import * +from .metrics_search import * from .monitor import * from .monitor_folder import * from .partition import * @@ -74,6 +75,7 @@ from .polling_source import * from .provider import * from .role import * +from .rum_source import * from .s3_archive_source import * from .s3_audit_source import * from .s3_source import * @@ -505,6 +507,14 @@ "sumologic:index/metadataSource:MetadataSource": "MetadataSource" } }, + { + "pkg": "sumologic", + "mod": "index/metricsSearch", + "fqn": "pulumi_sumologic", + "classes": { + "sumologic:index/metricsSearch:MetricsSearch": "MetricsSearch" + } + }, { "pkg": "sumologic", "mod": "index/monitor", @@ -561,6 +571,14 @@ "sumologic:index/role:Role": "Role" } }, + { + "pkg": "sumologic", + "mod": "index/rumSource", + "fqn": "pulumi_sumologic", + "classes": { + "sumologic:index/rumSource:RumSource": "RumSource" + } + }, { "pkg": "sumologic", "mod": "index/s3ArchiveSource", diff --git a/sdk/python/pulumi_sumologic/_inputs.py b/sdk/python/pulumi_sumologic/_inputs.py index 3fc4a834..29a56072 100644 --- a/sdk/python/pulumi_sumologic/_inputs.py +++ b/sdk/python/pulumi_sumologic/_inputs.py @@ -574,6 +574,20 @@ 'MetadataSourceDefaultDateFormatArgs', 'MetadataSourceFilterArgs', 'MetadataSourcePathArgs', + 'MetricsSearchMetricsQueryArgs', + 'MetricsSearchTimeRangeArgs', + 'MetricsSearchTimeRangeBeginBoundedTimeRangeArgs', + 'MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs', + 'MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs', + 'MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs', + 'MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs', + 'MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs', + 'MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs', + 'MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs', + 'MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs', + 'MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs', + 'MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs', + 'MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs', 'MonitorFolderObjPermissionArgs', 'MonitorNotificationArgs', 'MonitorNotificationNotificationArgs', @@ -617,6 +631,9 @@ 'PollingSourceFilterArgs', 'PollingSourcePathArgs', 'PollingSourcePathTagFilterArgs', + 'RumSourceDefaultDateFormatArgs', + 'RumSourceFilterArgs', + 'RumSourcePathArgs', 'S3ArchiveSourceAuthenticationArgs', 'S3ArchiveSourceDefaultDateFormatArgs', 'S3ArchiveSourceFilterArgs', @@ -24360,8 +24377,13 @@ def __init__(__self__, *, value: pulumi.Input[str], description: Optional[pulumi.Input[str]] = None): """ + :param pulumi.Input[str] data_type: The data type of the parameter. Supported values are: + 1. `NUMBER` + 2. `STRING` + 3. `ANY` + 4. `KEYWORD` :param pulumi.Input[str] name: Name of the search. - :param pulumi.Input[str] value: Value of scheduled search parameter. + :param pulumi.Input[str] value: The default value for the parameter. It should be compatible with the type set in the `data_type` field. :param pulumi.Input[str] description: Description of the search. """ pulumi.set(__self__, "data_type", data_type) @@ -24373,6 +24395,13 @@ def __init__(__self__, *, @property @pulumi.getter(name="dataType") def data_type(self) -> pulumi.Input[str]: + """ + The data type of the parameter. Supported values are: + 1. `NUMBER` + 2. `STRING` + 3. `ANY` + 4. `KEYWORD` + """ return pulumi.get(self, "data_type") @data_type.setter @@ -24395,7 +24424,7 @@ def name(self, value: pulumi.Input[str]): @pulumi.getter def value(self) -> pulumi.Input[str]: """ - Value of scheduled search parameter. + The default value for the parameter. It should be compatible with the type set in the `data_type` field. """ return pulumi.get(self, "value") @@ -25105,7 +25134,7 @@ def __init__(__self__, *, value: pulumi.Input[str]): """ :param pulumi.Input[str] name: Name of the search. - :param pulumi.Input[str] value: Value of scheduled search parameter. + :param pulumi.Input[str] value: The default value for the parameter. It should be compatible with the type set in the `data_type` field. """ pulumi.set(__self__, "name", name) pulumi.set(__self__, "value", value) @@ -25126,7 +25155,7 @@ def name(self, value: pulumi.Input[str]): @pulumi.getter def value(self) -> pulumi.Input[str]: """ - Value of scheduled search parameter. + The default value for the parameter. It should be compatible with the type set in the `data_type` field. """ return pulumi.get(self, "value") @@ -26349,186 +26378,689 @@ def tag_filters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] @pulumi.input_type -class MonitorFolderObjPermissionArgs: +class MetricsSearchMetricsQueryArgs: def __init__(__self__, *, - permissions: pulumi.Input[Sequence[pulumi.Input[str]]], - subject_id: pulumi.Input[str], - subject_type: pulumi.Input[str]): + query: pulumi.Input[str], + row_id: pulumi.Input[str]): """ - :param pulumi.Input[Sequence[pulumi.Input[str]]] permissions: A Set of Permissions. Valid Permission Values: - :param pulumi.Input[str] subject_id: A Role ID or the Org ID of the account - :param pulumi.Input[str] subject_type: Valid values: + :param pulumi.Input[str] query: A metric query consists of a metric, one or more filters and optionally, one or more [Metrics Operators](https://help.sumologic.com/?cid=10144). + Strictly speaking, both filters and operators are optional. + Most of the [Metrics Operators](https://help.sumologic.com/?cid=10144) are allowed in the query string except `fillmissing`, `outlier`, `quantize` and `timeshift`. + In practice, your metric queries will almost always contain filters that narrow the scope of your query. + For more information about the query language see [Metrics Queries](https://help.sumologic.com/?cid=1079). + :param pulumi.Input[str] row_id: Row id for the query row, A to Z letter. """ - pulumi.set(__self__, "permissions", permissions) - pulumi.set(__self__, "subject_id", subject_id) - pulumi.set(__self__, "subject_type", subject_type) + pulumi.set(__self__, "query", query) + pulumi.set(__self__, "row_id", row_id) @property @pulumi.getter - def permissions(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + def query(self) -> pulumi.Input[str]: """ - A Set of Permissions. Valid Permission Values: + A metric query consists of a metric, one or more filters and optionally, one or more [Metrics Operators](https://help.sumologic.com/?cid=10144). + Strictly speaking, both filters and operators are optional. + Most of the [Metrics Operators](https://help.sumologic.com/?cid=10144) are allowed in the query string except `fillmissing`, `outlier`, `quantize` and `timeshift`. + In practice, your metric queries will almost always contain filters that narrow the scope of your query. + For more information about the query language see [Metrics Queries](https://help.sumologic.com/?cid=1079). """ - return pulumi.get(self, "permissions") + return pulumi.get(self, "query") - @permissions.setter - def permissions(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): - pulumi.set(self, "permissions", value) + @query.setter + def query(self, value: pulumi.Input[str]): + pulumi.set(self, "query", value) @property - @pulumi.getter(name="subjectId") - def subject_id(self) -> pulumi.Input[str]: + @pulumi.getter(name="rowId") + def row_id(self) -> pulumi.Input[str]: """ - A Role ID or the Org ID of the account + Row id for the query row, A to Z letter. """ - return pulumi.get(self, "subject_id") + return pulumi.get(self, "row_id") - @subject_id.setter - def subject_id(self, value: pulumi.Input[str]): - pulumi.set(self, "subject_id", value) + @row_id.setter + def row_id(self, value: pulumi.Input[str]): + pulumi.set(self, "row_id", value) + + +@pulumi.input_type +class MetricsSearchTimeRangeArgs: + def __init__(__self__, *, + begin_bounded_time_range: Optional[pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeArgs']] = None, + complete_literal_time_range: Optional[pulumi.Input['MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs']] = None): + """ + :param pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeArgs'] begin_bounded_time_range: Bounded time range. See + begin_bounded_time_range schema schema for details. + :param pulumi.Input['MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs'] complete_literal_time_range: Literal time range. See + complete_literal_time_range schema for details. + """ + if begin_bounded_time_range is not None: + pulumi.set(__self__, "begin_bounded_time_range", begin_bounded_time_range) + if complete_literal_time_range is not None: + pulumi.set(__self__, "complete_literal_time_range", complete_literal_time_range) @property - @pulumi.getter(name="subjectType") - def subject_type(self) -> pulumi.Input[str]: + @pulumi.getter(name="beginBoundedTimeRange") + def begin_bounded_time_range(self) -> Optional[pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeArgs']]: """ - Valid values: + Bounded time range. See + begin_bounded_time_range schema schema for details. """ - return pulumi.get(self, "subject_type") + return pulumi.get(self, "begin_bounded_time_range") - @subject_type.setter - def subject_type(self, value: pulumi.Input[str]): - pulumi.set(self, "subject_type", value) + @begin_bounded_time_range.setter + def begin_bounded_time_range(self, value: Optional[pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeArgs']]): + pulumi.set(self, "begin_bounded_time_range", value) + + @property + @pulumi.getter(name="completeLiteralTimeRange") + def complete_literal_time_range(self) -> Optional[pulumi.Input['MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs']]: + """ + Literal time range. See + complete_literal_time_range schema for details. + """ + return pulumi.get(self, "complete_literal_time_range") + + @complete_literal_time_range.setter + def complete_literal_time_range(self, value: Optional[pulumi.Input['MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs']]): + pulumi.set(self, "complete_literal_time_range", value) @pulumi.input_type -class MonitorNotificationArgs: +class MetricsSearchTimeRangeBeginBoundedTimeRangeArgs: def __init__(__self__, *, - notification: pulumi.Input['MonitorNotificationNotificationArgs'], - run_for_trigger_types: pulumi.Input[Sequence[pulumi.Input[str]]]): - pulumi.set(__self__, "notification", notification) - pulumi.set(__self__, "run_for_trigger_types", run_for_trigger_types) + from_: pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs'], + to: Optional[pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs']] = None): + """ + :param pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs'] from_: Start boundary of bounded time range. See + time_range_boundary schema for details. + :param pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs'] to: End boundary of bounded time range. See + time_range_boundary schema for details. + """ + pulumi.set(__self__, "from_", from_) + if to is not None: + pulumi.set(__self__, "to", to) @property - @pulumi.getter - def notification(self) -> pulumi.Input['MonitorNotificationNotificationArgs']: - return pulumi.get(self, "notification") + @pulumi.getter(name="from") + def from_(self) -> pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs']: + """ + Start boundary of bounded time range. See + time_range_boundary schema for details. + """ + return pulumi.get(self, "from_") - @notification.setter - def notification(self, value: pulumi.Input['MonitorNotificationNotificationArgs']): - pulumi.set(self, "notification", value) + @from_.setter + def from_(self, value: pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs']): + pulumi.set(self, "from_", value) @property - @pulumi.getter(name="runForTriggerTypes") - def run_for_trigger_types(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: - return pulumi.get(self, "run_for_trigger_types") + @pulumi.getter + def to(self) -> Optional[pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs']]: + """ + End boundary of bounded time range. See + time_range_boundary schema for details. + """ + return pulumi.get(self, "to") - @run_for_trigger_types.setter - def run_for_trigger_types(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): - pulumi.set(self, "run_for_trigger_types", value) + @to.setter + def to(self, value: Optional[pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs']]): + pulumi.set(self, "to", value) @pulumi.input_type -class MonitorNotificationNotificationArgs: +class MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs: def __init__(__self__, *, - action_type: Optional[pulumi.Input[str]] = None, - connection_id: Optional[pulumi.Input[str]] = None, - connection_type: Optional[pulumi.Input[str]] = None, - message_body: Optional[pulumi.Input[str]] = None, - payload_override: Optional[pulumi.Input[str]] = None, - recipients: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - resolution_payload_override: Optional[pulumi.Input[str]] = None, - subject: Optional[pulumi.Input[str]] = None, - time_zone: Optional[pulumi.Input[str]] = None): - if action_type is not None: - warnings.warn("""The field `action_type` is deprecated and will be removed in a future release of the provider - please use `connection_type` instead.""", DeprecationWarning) - pulumi.log.warn("""action_type is deprecated: The field `action_type` is deprecated and will be removed in a future release of the provider - please use `connection_type` instead.""") - if action_type is not None: - pulumi.set(__self__, "action_type", action_type) - if connection_id is not None: - pulumi.set(__self__, "connection_id", connection_id) - if connection_type is not None: - pulumi.set(__self__, "connection_type", connection_type) - if message_body is not None: - pulumi.set(__self__, "message_body", message_body) - if payload_override is not None: - pulumi.set(__self__, "payload_override", payload_override) - if recipients is not None: - pulumi.set(__self__, "recipients", recipients) - if resolution_payload_override is not None: - pulumi.set(__self__, "resolution_payload_override", resolution_payload_override) - if subject is not None: - pulumi.set(__self__, "subject", subject) - if time_zone is not None: - pulumi.set(__self__, "time_zone", time_zone) + epoch_time_range: Optional[pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs']] = None, + iso8601_time_range: Optional[pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs']] = None, + literal_time_range: Optional[pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs']] = None, + relative_time_range: Optional[pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs']] = None): + """ + :param pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs'] epoch_time_range: Time since the epoch. + :param pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs'] iso8601_time_range: Time in ISO 8601 format. + :param pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs'] literal_time_range: Time in literal format. + :param pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs'] relative_time_range: Time in relative format. + """ + if epoch_time_range is not None: + pulumi.set(__self__, "epoch_time_range", epoch_time_range) + if iso8601_time_range is not None: + pulumi.set(__self__, "iso8601_time_range", iso8601_time_range) + if literal_time_range is not None: + pulumi.set(__self__, "literal_time_range", literal_time_range) + if relative_time_range is not None: + pulumi.set(__self__, "relative_time_range", relative_time_range) @property - @pulumi.getter(name="actionType") - def action_type(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "action_type") + @pulumi.getter(name="epochTimeRange") + def epoch_time_range(self) -> Optional[pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs']]: + """ + Time since the epoch. + """ + return pulumi.get(self, "epoch_time_range") - @action_type.setter - def action_type(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "action_type", value) + @epoch_time_range.setter + def epoch_time_range(self, value: Optional[pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs']]): + pulumi.set(self, "epoch_time_range", value) @property - @pulumi.getter(name="connectionId") - def connection_id(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "connection_id") + @pulumi.getter(name="iso8601TimeRange") + def iso8601_time_range(self) -> Optional[pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs']]: + """ + Time in ISO 8601 format. + """ + return pulumi.get(self, "iso8601_time_range") - @connection_id.setter - def connection_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "connection_id", value) + @iso8601_time_range.setter + def iso8601_time_range(self, value: Optional[pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs']]): + pulumi.set(self, "iso8601_time_range", value) @property - @pulumi.getter(name="connectionType") - def connection_type(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "connection_type") + @pulumi.getter(name="literalTimeRange") + def literal_time_range(self) -> Optional[pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs']]: + """ + Time in literal format. + """ + return pulumi.get(self, "literal_time_range") - @connection_type.setter - def connection_type(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "connection_type", value) + @literal_time_range.setter + def literal_time_range(self, value: Optional[pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs']]): + pulumi.set(self, "literal_time_range", value) @property - @pulumi.getter(name="messageBody") - def message_body(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "message_body") + @pulumi.getter(name="relativeTimeRange") + def relative_time_range(self) -> Optional[pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs']]: + """ + Time in relative format. + """ + return pulumi.get(self, "relative_time_range") - @message_body.setter - def message_body(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "message_body", value) + @relative_time_range.setter + def relative_time_range(self, value: Optional[pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs']]): + pulumi.set(self, "relative_time_range", value) - @property - @pulumi.getter(name="payloadOverride") - def payload_override(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "payload_override") - @payload_override.setter - def payload_override(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "payload_override", value) +@pulumi.input_type +class MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs: + def __init__(__self__, *, + epoch_millis: pulumi.Input[int]): + """ + :param pulumi.Input[int] epoch_millis: Time as a number of milliseconds since the epoch. + """ + pulumi.set(__self__, "epoch_millis", epoch_millis) @property - @pulumi.getter - def recipients(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: - return pulumi.get(self, "recipients") + @pulumi.getter(name="epochMillis") + def epoch_millis(self) -> pulumi.Input[int]: + """ + Time as a number of milliseconds since the epoch. + """ + return pulumi.get(self, "epoch_millis") - @recipients.setter - def recipients(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): - pulumi.set(self, "recipients", value) + @epoch_millis.setter + def epoch_millis(self, value: pulumi.Input[int]): + pulumi.set(self, "epoch_millis", value) - @property - @pulumi.getter(name="resolutionPayloadOverride") - def resolution_payload_override(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "resolution_payload_override") - @resolution_payload_override.setter - def resolution_payload_override(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "resolution_payload_override", value) +@pulumi.input_type +class MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs: + def __init__(__self__, *, + iso8601_time: pulumi.Input[str]): + """ + :param pulumi.Input[str] iso8601_time: Time as a string in ISO 8601 format. + """ + pulumi.set(__self__, "iso8601_time", iso8601_time) @property - @pulumi.getter - def subject(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "subject") - + @pulumi.getter(name="iso8601Time") + def iso8601_time(self) -> pulumi.Input[str]: + """ + Time as a string in ISO 8601 format. + """ + return pulumi.get(self, "iso8601_time") + + @iso8601_time.setter + def iso8601_time(self, value: pulumi.Input[str]): + pulumi.set(self, "iso8601_time", value) + + +@pulumi.input_type +class MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs: + def __init__(__self__, *, + range_name: pulumi.Input[str]): + """ + :param pulumi.Input[str] range_name: Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + `previous_month`. + """ + pulumi.set(__self__, "range_name", range_name) + + @property + @pulumi.getter(name="rangeName") + def range_name(self) -> pulumi.Input[str]: + """ + Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + `previous_month`. + """ + return pulumi.get(self, "range_name") + + @range_name.setter + def range_name(self, value: pulumi.Input[str]): + pulumi.set(self, "range_name", value) + + +@pulumi.input_type +class MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs: + def __init__(__self__, *, + relative_time: pulumi.Input[str]): + """ + :param pulumi.Input[str] relative_time: Relative time as a string consisting of following elements: + 1. `-` (optional): minus sign indicates time in the past, + 2. ``: number of time units, + 3. ``: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + + Multiple pairs of `` may be provided, and they may be in any order. For example, + `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + """ + pulumi.set(__self__, "relative_time", relative_time) + + @property + @pulumi.getter(name="relativeTime") + def relative_time(self) -> pulumi.Input[str]: + """ + Relative time as a string consisting of following elements: + 1. `-` (optional): minus sign indicates time in the past, + 2. ``: number of time units, + 3. ``: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + + Multiple pairs of `` may be provided, and they may be in any order. For example, + `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + """ + return pulumi.get(self, "relative_time") + + @relative_time.setter + def relative_time(self, value: pulumi.Input[str]): + pulumi.set(self, "relative_time", value) + + +@pulumi.input_type +class MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs: + def __init__(__self__, *, + epoch_time_range: Optional[pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs']] = None, + iso8601_time_range: Optional[pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs']] = None, + literal_time_range: Optional[pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs']] = None, + relative_time_range: Optional[pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs']] = None): + """ + :param pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs'] epoch_time_range: Time since the epoch. + :param pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs'] iso8601_time_range: Time in ISO 8601 format. + :param pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs'] literal_time_range: Time in literal format. + :param pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs'] relative_time_range: Time in relative format. + """ + if epoch_time_range is not None: + pulumi.set(__self__, "epoch_time_range", epoch_time_range) + if iso8601_time_range is not None: + pulumi.set(__self__, "iso8601_time_range", iso8601_time_range) + if literal_time_range is not None: + pulumi.set(__self__, "literal_time_range", literal_time_range) + if relative_time_range is not None: + pulumi.set(__self__, "relative_time_range", relative_time_range) + + @property + @pulumi.getter(name="epochTimeRange") + def epoch_time_range(self) -> Optional[pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs']]: + """ + Time since the epoch. + """ + return pulumi.get(self, "epoch_time_range") + + @epoch_time_range.setter + def epoch_time_range(self, value: Optional[pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs']]): + pulumi.set(self, "epoch_time_range", value) + + @property + @pulumi.getter(name="iso8601TimeRange") + def iso8601_time_range(self) -> Optional[pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs']]: + """ + Time in ISO 8601 format. + """ + return pulumi.get(self, "iso8601_time_range") + + @iso8601_time_range.setter + def iso8601_time_range(self, value: Optional[pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs']]): + pulumi.set(self, "iso8601_time_range", value) + + @property + @pulumi.getter(name="literalTimeRange") + def literal_time_range(self) -> Optional[pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs']]: + """ + Time in literal format. + """ + return pulumi.get(self, "literal_time_range") + + @literal_time_range.setter + def literal_time_range(self, value: Optional[pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs']]): + pulumi.set(self, "literal_time_range", value) + + @property + @pulumi.getter(name="relativeTimeRange") + def relative_time_range(self) -> Optional[pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs']]: + """ + Time in relative format. + """ + return pulumi.get(self, "relative_time_range") + + @relative_time_range.setter + def relative_time_range(self, value: Optional[pulumi.Input['MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs']]): + pulumi.set(self, "relative_time_range", value) + + +@pulumi.input_type +class MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs: + def __init__(__self__, *, + epoch_millis: pulumi.Input[int]): + """ + :param pulumi.Input[int] epoch_millis: Time as a number of milliseconds since the epoch. + """ + pulumi.set(__self__, "epoch_millis", epoch_millis) + + @property + @pulumi.getter(name="epochMillis") + def epoch_millis(self) -> pulumi.Input[int]: + """ + Time as a number of milliseconds since the epoch. + """ + return pulumi.get(self, "epoch_millis") + + @epoch_millis.setter + def epoch_millis(self, value: pulumi.Input[int]): + pulumi.set(self, "epoch_millis", value) + + +@pulumi.input_type +class MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs: + def __init__(__self__, *, + iso8601_time: pulumi.Input[str]): + """ + :param pulumi.Input[str] iso8601_time: Time as a string in ISO 8601 format. + """ + pulumi.set(__self__, "iso8601_time", iso8601_time) + + @property + @pulumi.getter(name="iso8601Time") + def iso8601_time(self) -> pulumi.Input[str]: + """ + Time as a string in ISO 8601 format. + """ + return pulumi.get(self, "iso8601_time") + + @iso8601_time.setter + def iso8601_time(self, value: pulumi.Input[str]): + pulumi.set(self, "iso8601_time", value) + + +@pulumi.input_type +class MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs: + def __init__(__self__, *, + range_name: pulumi.Input[str]): + """ + :param pulumi.Input[str] range_name: Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + `previous_month`. + """ + pulumi.set(__self__, "range_name", range_name) + + @property + @pulumi.getter(name="rangeName") + def range_name(self) -> pulumi.Input[str]: + """ + Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + `previous_month`. + """ + return pulumi.get(self, "range_name") + + @range_name.setter + def range_name(self, value: pulumi.Input[str]): + pulumi.set(self, "range_name", value) + + +@pulumi.input_type +class MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs: + def __init__(__self__, *, + relative_time: pulumi.Input[str]): + """ + :param pulumi.Input[str] relative_time: Relative time as a string consisting of following elements: + 1. `-` (optional): minus sign indicates time in the past, + 2. ``: number of time units, + 3. ``: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + + Multiple pairs of `` may be provided, and they may be in any order. For example, + `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + """ + pulumi.set(__self__, "relative_time", relative_time) + + @property + @pulumi.getter(name="relativeTime") + def relative_time(self) -> pulumi.Input[str]: + """ + Relative time as a string consisting of following elements: + 1. `-` (optional): minus sign indicates time in the past, + 2. ``: number of time units, + 3. ``: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + + Multiple pairs of `` may be provided, and they may be in any order. For example, + `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + """ + return pulumi.get(self, "relative_time") + + @relative_time.setter + def relative_time(self, value: pulumi.Input[str]): + pulumi.set(self, "relative_time", value) + + +@pulumi.input_type +class MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs: + def __init__(__self__, *, + range_name: pulumi.Input[str]): + """ + :param pulumi.Input[str] range_name: Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + `previous_month`. + """ + pulumi.set(__self__, "range_name", range_name) + + @property + @pulumi.getter(name="rangeName") + def range_name(self) -> pulumi.Input[str]: + """ + Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + `previous_month`. + """ + return pulumi.get(self, "range_name") + + @range_name.setter + def range_name(self, value: pulumi.Input[str]): + pulumi.set(self, "range_name", value) + + +@pulumi.input_type +class MonitorFolderObjPermissionArgs: + def __init__(__self__, *, + permissions: pulumi.Input[Sequence[pulumi.Input[str]]], + subject_id: pulumi.Input[str], + subject_type: pulumi.Input[str]): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] permissions: A Set of Permissions. Valid Permission Values: + :param pulumi.Input[str] subject_id: A Role ID or the Org ID of the account + :param pulumi.Input[str] subject_type: Valid values: + """ + pulumi.set(__self__, "permissions", permissions) + pulumi.set(__self__, "subject_id", subject_id) + pulumi.set(__self__, "subject_type", subject_type) + + @property + @pulumi.getter + def permissions(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + A Set of Permissions. Valid Permission Values: + """ + return pulumi.get(self, "permissions") + + @permissions.setter + def permissions(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "permissions", value) + + @property + @pulumi.getter(name="subjectId") + def subject_id(self) -> pulumi.Input[str]: + """ + A Role ID or the Org ID of the account + """ + return pulumi.get(self, "subject_id") + + @subject_id.setter + def subject_id(self, value: pulumi.Input[str]): + pulumi.set(self, "subject_id", value) + + @property + @pulumi.getter(name="subjectType") + def subject_type(self) -> pulumi.Input[str]: + """ + Valid values: + """ + return pulumi.get(self, "subject_type") + + @subject_type.setter + def subject_type(self, value: pulumi.Input[str]): + pulumi.set(self, "subject_type", value) + + +@pulumi.input_type +class MonitorNotificationArgs: + def __init__(__self__, *, + notification: pulumi.Input['MonitorNotificationNotificationArgs'], + run_for_trigger_types: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(__self__, "notification", notification) + pulumi.set(__self__, "run_for_trigger_types", run_for_trigger_types) + + @property + @pulumi.getter + def notification(self) -> pulumi.Input['MonitorNotificationNotificationArgs']: + return pulumi.get(self, "notification") + + @notification.setter + def notification(self, value: pulumi.Input['MonitorNotificationNotificationArgs']): + pulumi.set(self, "notification", value) + + @property + @pulumi.getter(name="runForTriggerTypes") + def run_for_trigger_types(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + return pulumi.get(self, "run_for_trigger_types") + + @run_for_trigger_types.setter + def run_for_trigger_types(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "run_for_trigger_types", value) + + +@pulumi.input_type +class MonitorNotificationNotificationArgs: + def __init__(__self__, *, + action_type: Optional[pulumi.Input[str]] = None, + connection_id: Optional[pulumi.Input[str]] = None, + connection_type: Optional[pulumi.Input[str]] = None, + message_body: Optional[pulumi.Input[str]] = None, + payload_override: Optional[pulumi.Input[str]] = None, + recipients: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + resolution_payload_override: Optional[pulumi.Input[str]] = None, + subject: Optional[pulumi.Input[str]] = None, + time_zone: Optional[pulumi.Input[str]] = None): + if action_type is not None: + warnings.warn("""The field `action_type` is deprecated and will be removed in a future release of the provider - please use `connection_type` instead.""", DeprecationWarning) + pulumi.log.warn("""action_type is deprecated: The field `action_type` is deprecated and will be removed in a future release of the provider - please use `connection_type` instead.""") + if action_type is not None: + pulumi.set(__self__, "action_type", action_type) + if connection_id is not None: + pulumi.set(__self__, "connection_id", connection_id) + if connection_type is not None: + pulumi.set(__self__, "connection_type", connection_type) + if message_body is not None: + pulumi.set(__self__, "message_body", message_body) + if payload_override is not None: + pulumi.set(__self__, "payload_override", payload_override) + if recipients is not None: + pulumi.set(__self__, "recipients", recipients) + if resolution_payload_override is not None: + pulumi.set(__self__, "resolution_payload_override", resolution_payload_override) + if subject is not None: + pulumi.set(__self__, "subject", subject) + if time_zone is not None: + pulumi.set(__self__, "time_zone", time_zone) + + @property + @pulumi.getter(name="actionType") + def action_type(self) -> Optional[pulumi.Input[str]]: + warnings.warn("""The field `action_type` is deprecated and will be removed in a future release of the provider - please use `connection_type` instead.""", DeprecationWarning) + pulumi.log.warn("""action_type is deprecated: The field `action_type` is deprecated and will be removed in a future release of the provider - please use `connection_type` instead.""") + + return pulumi.get(self, "action_type") + + @action_type.setter + def action_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "action_type", value) + + @property + @pulumi.getter(name="connectionId") + def connection_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "connection_id") + + @connection_id.setter + def connection_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "connection_id", value) + + @property + @pulumi.getter(name="connectionType") + def connection_type(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "connection_type") + + @connection_type.setter + def connection_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "connection_type", value) + + @property + @pulumi.getter(name="messageBody") + def message_body(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "message_body") + + @message_body.setter + def message_body(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "message_body", value) + + @property + @pulumi.getter(name="payloadOverride") + def payload_override(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "payload_override") + + @payload_override.setter + def payload_override(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "payload_override", value) + + @property + @pulumi.getter + def recipients(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "recipients") + + @recipients.setter + def recipients(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "recipients", value) + + @property + @pulumi.getter(name="resolutionPayloadOverride") + def resolution_payload_override(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "resolution_payload_override") + + @resolution_payload_override.setter + def resolution_payload_override(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "resolution_payload_override", value) + + @property + @pulumi.getter + def subject(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "subject") + @subject.setter def subject(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "subject", value) @@ -28272,6 +28804,218 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +@pulumi.input_type +class RumSourceDefaultDateFormatArgs: + def __init__(__self__, *, + format: pulumi.Input[str], + locator: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "format", format) + if locator is not None: + pulumi.set(__self__, "locator", locator) + + @property + @pulumi.getter + def format(self) -> pulumi.Input[str]: + return pulumi.get(self, "format") + + @format.setter + def format(self, value: pulumi.Input[str]): + pulumi.set(self, "format", value) + + @property + @pulumi.getter + def locator(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "locator") + + @locator.setter + def locator(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "locator", value) + + +@pulumi.input_type +class RumSourceFilterArgs: + def __init__(__self__, *, + filter_type: pulumi.Input[str], + name: pulumi.Input[str], + regexp: pulumi.Input[str], + mask: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "filter_type", filter_type) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "regexp", regexp) + if mask is not None: + pulumi.set(__self__, "mask", mask) + + @property + @pulumi.getter(name="filterType") + def filter_type(self) -> pulumi.Input[str]: + return pulumi.get(self, "filter_type") + + @filter_type.setter + def filter_type(self, value: pulumi.Input[str]): + pulumi.set(self, "filter_type", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def regexp(self) -> pulumi.Input[str]: + return pulumi.get(self, "regexp") + + @regexp.setter + def regexp(self, value: pulumi.Input[str]): + pulumi.set(self, "regexp", value) + + @property + @pulumi.getter + def mask(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "mask") + + @mask.setter + def mask(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "mask", value) + + +@pulumi.input_type +class RumSourcePathArgs: + def __init__(__self__, *, + service_name: pulumi.Input[str], + application_name: Optional[pulumi.Input[str]] = None, + custom_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + deployment_environment: Optional[pulumi.Input[str]] = None, + ignore_urls: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + propagate_trace_header_cors_urls: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + sampling_rate: Optional[pulumi.Input[float]] = None, + selected_country: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] service_name: Add a Service Name of a text string to show for the service name in spans (for example, "bookings-web-app"). + :param pulumi.Input[str] application_name: (Recommended) Add an Application Name tag of a text string to show for the app name in spans (for example, bookings-app). This groups services in the Application Service View. If left blank, services will belong to a "default" application. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_tags: Defines custom tags attached to the spans. For example: "internal.version = 0.1.21" + :param pulumi.Input[str] deployment_environment: Your production, staging, or development environment name. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ignore_urls: Add a list of URLs not to collect trace data from. Supports regex. Make sure provided URLs are valid JavaScript flavor regexes. For example: "/^https:\\/\\/www.tracker.com\\/.*/, /^https:\\/\\/api.mydomain.com\\/log\\/.*/" + :param pulumi.Input[Sequence[pulumi.Input[str]]] propagate_trace_header_cors_urls: (Recommended) Add a list of URLs or URL patterns that pass tracing context to construct traces end-to-end. Provided URLs should be valid JavaScript flavor regexes. Some examples are "/^https:\\/\\/api.mydomain.com\\/apiv3\\/.*/" and "/^https:\\/\\/www.3rdparty.com\\/.*/". + :param pulumi.Input[float] sampling_rate: Add a Probabilistic sampling rate for heavy traffic sites in a decimal value based on percentage, for example, 10% would be entered as 0.1. Supports floating values between 0.0 and 1.0, defaults to 1.0 (all data is passed). + :param pulumi.Input[str] selected_country: Specify if you want to enrich spans with the details level up to the city - if left blank, enrichment works down to the state level. + """ + pulumi.set(__self__, "service_name", service_name) + if application_name is not None: + pulumi.set(__self__, "application_name", application_name) + if custom_tags is not None: + pulumi.set(__self__, "custom_tags", custom_tags) + if deployment_environment is not None: + pulumi.set(__self__, "deployment_environment", deployment_environment) + if ignore_urls is not None: + pulumi.set(__self__, "ignore_urls", ignore_urls) + if propagate_trace_header_cors_urls is not None: + pulumi.set(__self__, "propagate_trace_header_cors_urls", propagate_trace_header_cors_urls) + if sampling_rate is not None: + pulumi.set(__self__, "sampling_rate", sampling_rate) + if selected_country is not None: + pulumi.set(__self__, "selected_country", selected_country) + + @property + @pulumi.getter(name="serviceName") + def service_name(self) -> pulumi.Input[str]: + """ + Add a Service Name of a text string to show for the service name in spans (for example, "bookings-web-app"). + """ + return pulumi.get(self, "service_name") + + @service_name.setter + def service_name(self, value: pulumi.Input[str]): + pulumi.set(self, "service_name", value) + + @property + @pulumi.getter(name="applicationName") + def application_name(self) -> Optional[pulumi.Input[str]]: + """ + (Recommended) Add an Application Name tag of a text string to show for the app name in spans (for example, bookings-app). This groups services in the Application Service View. If left blank, services will belong to a "default" application. + """ + return pulumi.get(self, "application_name") + + @application_name.setter + def application_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "application_name", value) + + @property + @pulumi.getter(name="customTags") + def custom_tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Defines custom tags attached to the spans. For example: "internal.version = 0.1.21" + """ + return pulumi.get(self, "custom_tags") + + @custom_tags.setter + def custom_tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "custom_tags", value) + + @property + @pulumi.getter(name="deploymentEnvironment") + def deployment_environment(self) -> Optional[pulumi.Input[str]]: + """ + Your production, staging, or development environment name. + """ + return pulumi.get(self, "deployment_environment") + + @deployment_environment.setter + def deployment_environment(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "deployment_environment", value) + + @property + @pulumi.getter(name="ignoreUrls") + def ignore_urls(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Add a list of URLs not to collect trace data from. Supports regex. Make sure provided URLs are valid JavaScript flavor regexes. For example: "/^https:\\/\\/www.tracker.com\\/.*/, /^https:\\/\\/api.mydomain.com\\/log\\/.*/" + """ + return pulumi.get(self, "ignore_urls") + + @ignore_urls.setter + def ignore_urls(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "ignore_urls", value) + + @property + @pulumi.getter(name="propagateTraceHeaderCorsUrls") + def propagate_trace_header_cors_urls(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + (Recommended) Add a list of URLs or URL patterns that pass tracing context to construct traces end-to-end. Provided URLs should be valid JavaScript flavor regexes. Some examples are "/^https:\\/\\/api.mydomain.com\\/apiv3\\/.*/" and "/^https:\\/\\/www.3rdparty.com\\/.*/". + """ + return pulumi.get(self, "propagate_trace_header_cors_urls") + + @propagate_trace_header_cors_urls.setter + def propagate_trace_header_cors_urls(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "propagate_trace_header_cors_urls", value) + + @property + @pulumi.getter(name="samplingRate") + def sampling_rate(self) -> Optional[pulumi.Input[float]]: + """ + Add a Probabilistic sampling rate for heavy traffic sites in a decimal value based on percentage, for example, 10% would be entered as 0.1. Supports floating values between 0.0 and 1.0, defaults to 1.0 (all data is passed). + """ + return pulumi.get(self, "sampling_rate") + + @sampling_rate.setter + def sampling_rate(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "sampling_rate", value) + + @property + @pulumi.getter(name="selectedCountry") + def selected_country(self) -> Optional[pulumi.Input[str]]: + """ + Specify if you want to enrich spans with the details level up to the city - if left blank, enrichment works down to the state level. + """ + return pulumi.get(self, "selected_country") + + @selected_country.setter + def selected_country(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "selected_country", value) + + @pulumi.input_type class S3ArchiveSourceAuthenticationArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_sumologic/cse_match_list.py b/sdk/python/pulumi_sumologic/cse_match_list.py index 2519de85..ec9c4e33 100644 --- a/sdk/python/pulumi_sumologic/cse_match_list.py +++ b/sdk/python/pulumi_sumologic/cse_match_list.py @@ -26,7 +26,6 @@ def __init__(__self__, *, :param pulumi.Input[str] description: Match list description. :param pulumi.Input[str] target_column: Target column. (possible values: Hostname, FileHash, Url, SrcIp, DstIp, Domain, Username, Ip, Asn, Isp, Org, SrcAsn, SrcIsp, SrcOrg, DstAsn, DstIsp, DstOrg or any custom column.) :param pulumi.Input[int] default_ttl: The default time to live for match list items added through the UI. Specified in seconds. - :param pulumi.Input[Sequence[pulumi.Input['CseMatchListItemArgs']]] items: List of match list items. See match_list_item schema for details. :param pulumi.Input[str] name: Match list name. """ pulumi.set(__self__, "description", description) @@ -77,9 +76,6 @@ def default_ttl(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter def items(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CseMatchListItemArgs']]]]: - """ - List of match list items. See match_list_item schema for details. - """ return pulumi.get(self, "items") @items.setter @@ -115,7 +111,6 @@ def __init__(__self__, *, Input properties used for looking up and filtering CseMatchList resources. :param pulumi.Input[int] default_ttl: The default time to live for match list items added through the UI. Specified in seconds. :param pulumi.Input[str] description: Match list description. - :param pulumi.Input[Sequence[pulumi.Input['CseMatchListItemArgs']]] items: List of match list items. See match_list_item schema for details. :param pulumi.Input[str] name: Match list name. :param pulumi.Input[str] target_column: Target column. (possible values: Hostname, FileHash, Url, SrcIp, DstIp, Domain, Username, Ip, Asn, Isp, Org, SrcAsn, SrcIsp, SrcOrg, DstAsn, DstIsp, DstOrg or any custom column.) """ @@ -183,9 +178,6 @@ def description(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter def items(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CseMatchListItemArgs']]]]: - """ - List of match list items. See match_list_item schema for details. - """ return pulumi.get(self, "items") @items.setter @@ -278,7 +270,6 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[int] default_ttl: The default time to live for match list items added through the UI. Specified in seconds. :param pulumi.Input[str] description: Match list description. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CseMatchListItemArgs']]]] items: List of match list items. See match_list_item schema for details. :param pulumi.Input[str] name: Match list name. :param pulumi.Input[str] target_column: Target column. (possible values: Hostname, FileHash, Url, SrcIp, DstIp, Domain, Username, Ip, Asn, Isp, Org, SrcAsn, SrcIsp, SrcOrg, DstAsn, DstIsp, DstOrg or any custom column.) """ @@ -386,7 +377,6 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[int] default_ttl: The default time to live for match list items added through the UI. Specified in seconds. :param pulumi.Input[str] description: Match list description. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CseMatchListItemArgs']]]] items: List of match list items. See match_list_item schema for details. :param pulumi.Input[str] name: Match list name. :param pulumi.Input[str] target_column: Target column. (possible values: Hostname, FileHash, Url, SrcIp, DstIp, Domain, Username, Ip, Asn, Isp, Org, SrcAsn, SrcIsp, SrcOrg, DstAsn, DstIsp, DstOrg or any custom column.) """ @@ -434,9 +424,6 @@ def description(self) -> pulumi.Output[str]: @property @pulumi.getter def items(self) -> pulumi.Output[Optional[Sequence['outputs.CseMatchListItem']]]: - """ - List of match list items. See match_list_item schema for details. - """ return pulumi.get(self, "items") @property diff --git a/sdk/python/pulumi_sumologic/get_admin_recommended_folder.py b/sdk/python/pulumi_sumologic/get_admin_recommended_folder.py index 2c925127..e39f94e8 100644 --- a/sdk/python/pulumi_sumologic/get_admin_recommended_folder.py +++ b/sdk/python/pulumi_sumologic/get_admin_recommended_folder.py @@ -85,9 +85,9 @@ def get_admin_recommended_folder(description: Optional[str] = None, __ret__ = pulumi.runtime.invoke('sumologic:index/getAdminRecommendedFolder:getAdminRecommendedFolder', __args__, opts=opts, typ=GetAdminRecommendedFolderResult).value return AwaitableGetAdminRecommendedFolderResult( - description=__ret__.description, - id=__ret__.id, - name=__ret__.name) + description=pulumi.get(__ret__, 'description'), + id=pulumi.get(__ret__, 'id'), + name=pulumi.get(__ret__, 'name')) @_utilities.lift_output_func(get_admin_recommended_folder) diff --git a/sdk/python/pulumi_sumologic/get_caller_identity.py b/sdk/python/pulumi_sumologic/get_caller_identity.py index 074cfcac..d3d9381e 100644 --- a/sdk/python/pulumi_sumologic/get_caller_identity.py +++ b/sdk/python/pulumi_sumologic/get_caller_identity.py @@ -85,6 +85,6 @@ def get_caller_identity(opts: Optional[pulumi.InvokeOptions] = None) -> Awaitabl __ret__ = pulumi.runtime.invoke('sumologic:index/getCallerIdentity:getCallerIdentity', __args__, opts=opts, typ=GetCallerIdentityResult).value return AwaitableGetCallerIdentityResult( - access_id=__ret__.access_id, - environment=__ret__.environment, - id=__ret__.id) + access_id=pulumi.get(__ret__, 'access_id'), + environment=pulumi.get(__ret__, 'environment'), + id=pulumi.get(__ret__, 'id')) diff --git a/sdk/python/pulumi_sumologic/get_collector.py b/sdk/python/pulumi_sumologic/get_collector.py index 7e7e69dc..55c27e0c 100644 --- a/sdk/python/pulumi_sumologic/get_collector.py +++ b/sdk/python/pulumi_sumologic/get_collector.py @@ -128,12 +128,12 @@ def get_collector(id: Optional[int] = None, __ret__ = pulumi.runtime.invoke('sumologic:index/getCollector:getCollector', __args__, opts=opts, typ=GetCollectorResult).value return AwaitableGetCollectorResult( - category=__ret__.category, - description=__ret__.description, - fields=__ret__.fields, - id=__ret__.id, - name=__ret__.name, - timezone=__ret__.timezone) + category=pulumi.get(__ret__, 'category'), + description=pulumi.get(__ret__, 'description'), + fields=pulumi.get(__ret__, 'fields'), + id=pulumi.get(__ret__, 'id'), + name=pulumi.get(__ret__, 'name'), + timezone=pulumi.get(__ret__, 'timezone')) @_utilities.lift_output_func(get_collector) diff --git a/sdk/python/pulumi_sumologic/get_cse_log_mapping_vendor_product.py b/sdk/python/pulumi_sumologic/get_cse_log_mapping_vendor_product.py index 5358c172..c5d749a7 100644 --- a/sdk/python/pulumi_sumologic/get_cse_log_mapping_vendor_product.py +++ b/sdk/python/pulumi_sumologic/get_cse_log_mapping_vendor_product.py @@ -104,10 +104,10 @@ def get_cse_log_mapping_vendor_product(guid: Optional[str] = None, __ret__ = pulumi.runtime.invoke('sumologic:index/getCseLogMappingVendorProduct:getCseLogMappingVendorProduct', __args__, opts=opts, typ=GetCseLogMappingVendorProductResult).value return AwaitableGetCseLogMappingVendorProductResult( - guid=__ret__.guid, - id=__ret__.id, - product=__ret__.product, - vendor=__ret__.vendor) + guid=pulumi.get(__ret__, 'guid'), + id=pulumi.get(__ret__, 'id'), + product=pulumi.get(__ret__, 'product'), + vendor=pulumi.get(__ret__, 'vendor')) @_utilities.lift_output_func(get_cse_log_mapping_vendor_product) diff --git a/sdk/python/pulumi_sumologic/get_folder.py b/sdk/python/pulumi_sumologic/get_folder.py index b50bf457..fac9a918 100644 --- a/sdk/python/pulumi_sumologic/get_folder.py +++ b/sdk/python/pulumi_sumologic/get_folder.py @@ -86,9 +86,9 @@ def get_folder(path: Optional[str] = None, __ret__ = pulumi.runtime.invoke('sumologic:index/getFolder:getFolder', __args__, opts=opts, typ=GetFolderResult).value return AwaitableGetFolderResult( - id=__ret__.id, - name=__ret__.name, - path=__ret__.path) + id=pulumi.get(__ret__, 'id'), + name=pulumi.get(__ret__, 'name'), + path=pulumi.get(__ret__, 'path')) @_utilities.lift_output_func(get_folder) diff --git a/sdk/python/pulumi_sumologic/get_http_source.py b/sdk/python/pulumi_sumologic/get_http_source.py index 1126f0a1..5be3d4cf 100644 --- a/sdk/python/pulumi_sumologic/get_http_source.py +++ b/sdk/python/pulumi_sumologic/get_http_source.py @@ -141,14 +141,14 @@ def get_http_source(collector_id: Optional[int] = None, __ret__ = pulumi.runtime.invoke('sumologic:index/getHttpSource:getHttpSource', __args__, opts=opts, typ=GetHttpSourceResult).value return AwaitableGetHttpSourceResult( - category=__ret__.category, - collector_id=__ret__.collector_id, - description=__ret__.description, - id=__ret__.id, - multiline=__ret__.multiline, - name=__ret__.name, - timezone=__ret__.timezone, - url=__ret__.url) + category=pulumi.get(__ret__, 'category'), + collector_id=pulumi.get(__ret__, 'collector_id'), + description=pulumi.get(__ret__, 'description'), + id=pulumi.get(__ret__, 'id'), + multiline=pulumi.get(__ret__, 'multiline'), + name=pulumi.get(__ret__, 'name'), + timezone=pulumi.get(__ret__, 'timezone'), + url=pulumi.get(__ret__, 'url')) @_utilities.lift_output_func(get_http_source) diff --git a/sdk/python/pulumi_sumologic/get_my_user_id.py b/sdk/python/pulumi_sumologic/get_my_user_id.py index 4c51e16f..6b8de921 100644 --- a/sdk/python/pulumi_sumologic/get_my_user_id.py +++ b/sdk/python/pulumi_sumologic/get_my_user_id.py @@ -52,7 +52,7 @@ def get_my_user_id(id: Optional[str] = None, __ret__ = pulumi.runtime.invoke('sumologic:index/getMyUserId:getMyUserId', __args__, opts=opts, typ=GetMyUserIdResult).value return AwaitableGetMyUserIdResult( - id=__ret__.id) + id=pulumi.get(__ret__, 'id')) @_utilities.lift_output_func(get_my_user_id) diff --git a/sdk/python/pulumi_sumologic/get_personal_folder.py b/sdk/python/pulumi_sumologic/get_personal_folder.py index 1afcb1a7..08b52f4d 100644 --- a/sdk/python/pulumi_sumologic/get_personal_folder.py +++ b/sdk/python/pulumi_sumologic/get_personal_folder.py @@ -90,9 +90,9 @@ def get_personal_folder(description: Optional[str] = None, __ret__ = pulumi.runtime.invoke('sumologic:index/getPersonalFolder:getPersonalFolder', __args__, opts=opts, typ=GetPersonalFolderResult).value return AwaitableGetPersonalFolderResult( - description=__ret__.description, - id=__ret__.id, - name=__ret__.name) + description=pulumi.get(__ret__, 'description'), + id=pulumi.get(__ret__, 'id'), + name=pulumi.get(__ret__, 'name')) @_utilities.lift_output_func(get_personal_folder) diff --git a/sdk/python/pulumi_sumologic/get_role.py b/sdk/python/pulumi_sumologic/get_role.py index 89513268..9fa272bf 100644 --- a/sdk/python/pulumi_sumologic/get_role.py +++ b/sdk/python/pulumi_sumologic/get_role.py @@ -119,11 +119,11 @@ def get_role(id: Optional[str] = None, __ret__ = pulumi.runtime.invoke('sumologic:index/getRole:getRole', __args__, opts=opts, typ=GetRoleResult).value return AwaitableGetRoleResult( - capabilities=__ret__.capabilities, - description=__ret__.description, - filter_predicate=__ret__.filter_predicate, - id=__ret__.id, - name=__ret__.name) + capabilities=pulumi.get(__ret__, 'capabilities'), + description=pulumi.get(__ret__, 'description'), + filter_predicate=pulumi.get(__ret__, 'filter_predicate'), + id=pulumi.get(__ret__, 'id'), + name=pulumi.get(__ret__, 'name')) @_utilities.lift_output_func(get_role) diff --git a/sdk/python/pulumi_sumologic/get_user.py b/sdk/python/pulumi_sumologic/get_user.py index 5540ff80..48769359 100644 --- a/sdk/python/pulumi_sumologic/get_user.py +++ b/sdk/python/pulumi_sumologic/get_user.py @@ -127,12 +127,12 @@ def get_user(email: Optional[str] = None, __ret__ = pulumi.runtime.invoke('sumologic:index/getUser:getUser', __args__, opts=opts, typ=GetUserResult).value return AwaitableGetUserResult( - email=__ret__.email, - first_name=__ret__.first_name, - id=__ret__.id, - is_active=__ret__.is_active, - last_name=__ret__.last_name, - role_ids=__ret__.role_ids) + email=pulumi.get(__ret__, 'email'), + first_name=pulumi.get(__ret__, 'first_name'), + id=pulumi.get(__ret__, 'id'), + is_active=pulumi.get(__ret__, 'is_active'), + last_name=pulumi.get(__ret__, 'last_name'), + role_ids=pulumi.get(__ret__, 'role_ids')) @_utilities.lift_output_func(get_user) diff --git a/sdk/python/pulumi_sumologic/ingest_budget_v2.py b/sdk/python/pulumi_sumologic/ingest_budget_v2.py index 36ee7e21..0810c116 100644 --- a/sdk/python/pulumi_sumologic/ingest_budget_v2.py +++ b/sdk/python/pulumi_sumologic/ingest_budget_v2.py @@ -20,18 +20,20 @@ def __init__(__self__, *, scope: pulumi.Input[str], timezone: pulumi.Input[str], audit_threshold: Optional[pulumi.Input[int]] = None, + budget_type: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a IngestBudgetV2 resource. :param pulumi.Input[str] action: Action to take when ingest budget's capacity is reached. All actions are audited. Supported values are `stopCollecting` and `keepCollecting`. - :param pulumi.Input[int] capacity_bytes: Capacity of the ingest budget, in bytes. + :param pulumi.Input[int] capacity_bytes: Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min. :param pulumi.Input[str] reset_time: Reset time of the ingest budget in HH:MM format. Defaults to `00:00` :param pulumi.Input[str] scope: A scope is a constraint that will be used to identify the messages on which budget needs to be applied. A scope is consists of key and value separated by =. The field must be enabled in the fields table. :param pulumi.Input[str] timezone: The time zone to use for this collector. The value follows the [tzdata](https://en.wikipedia.org/wiki/Tz_database) naming convention. Defaults to `Etc/UTC` :param pulumi.Input[int] audit_threshold: The threshold as a percentage of when an ingest budget's capacity usage is logged in the Audit Index. The following attributes are exported: + :param pulumi.Input[str] budget_type: The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`. :param pulumi.Input[str] description: The description of the collector. :param pulumi.Input[str] name: Display name of the ingest budget. This must be unique across all of the ingest budgets """ @@ -42,6 +44,8 @@ def __init__(__self__, *, pulumi.set(__self__, "timezone", timezone) if audit_threshold is not None: pulumi.set(__self__, "audit_threshold", audit_threshold) + if budget_type is not None: + pulumi.set(__self__, "budget_type", budget_type) if description is not None: pulumi.set(__self__, "description", description) if name is not None: @@ -63,7 +67,7 @@ def action(self, value: pulumi.Input[str]): @pulumi.getter(name="capacityBytes") def capacity_bytes(self) -> pulumi.Input[int]: """ - Capacity of the ingest budget, in bytes. + Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min. """ return pulumi.get(self, "capacity_bytes") @@ -121,6 +125,18 @@ def audit_threshold(self) -> Optional[pulumi.Input[int]]: def audit_threshold(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "audit_threshold", value) + @property + @pulumi.getter(name="budgetType") + def budget_type(self) -> Optional[pulumi.Input[str]]: + """ + The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`. + """ + return pulumi.get(self, "budget_type") + + @budget_type.setter + def budget_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "budget_type", value) + @property @pulumi.getter def description(self) -> Optional[pulumi.Input[str]]: @@ -151,6 +167,7 @@ class _IngestBudgetV2State: def __init__(__self__, *, action: Optional[pulumi.Input[str]] = None, audit_threshold: Optional[pulumi.Input[int]] = None, + budget_type: Optional[pulumi.Input[str]] = None, capacity_bytes: Optional[pulumi.Input[int]] = None, description: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, @@ -163,7 +180,8 @@ def __init__(__self__, *, :param pulumi.Input[int] audit_threshold: The threshold as a percentage of when an ingest budget's capacity usage is logged in the Audit Index. The following attributes are exported: - :param pulumi.Input[int] capacity_bytes: Capacity of the ingest budget, in bytes. + :param pulumi.Input[str] budget_type: The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`. + :param pulumi.Input[int] capacity_bytes: Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min. :param pulumi.Input[str] description: The description of the collector. :param pulumi.Input[str] name: Display name of the ingest budget. This must be unique across all of the ingest budgets :param pulumi.Input[str] reset_time: Reset time of the ingest budget in HH:MM format. Defaults to `00:00` @@ -174,6 +192,8 @@ def __init__(__self__, *, pulumi.set(__self__, "action", action) if audit_threshold is not None: pulumi.set(__self__, "audit_threshold", audit_threshold) + if budget_type is not None: + pulumi.set(__self__, "budget_type", budget_type) if capacity_bytes is not None: pulumi.set(__self__, "capacity_bytes", capacity_bytes) if description is not None: @@ -213,11 +233,23 @@ def audit_threshold(self) -> Optional[pulumi.Input[int]]: def audit_threshold(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "audit_threshold", value) + @property + @pulumi.getter(name="budgetType") + def budget_type(self) -> Optional[pulumi.Input[str]]: + """ + The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`. + """ + return pulumi.get(self, "budget_type") + + @budget_type.setter + def budget_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "budget_type", value) + @property @pulumi.getter(name="capacityBytes") def capacity_bytes(self) -> Optional[pulumi.Input[int]]: """ - Capacity of the ingest budget, in bytes. + Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min. """ return pulumi.get(self, "capacity_bytes") @@ -293,6 +325,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, action: Optional[pulumi.Input[str]] = None, audit_threshold: Optional[pulumi.Input[int]] = None, + budget_type: Optional[pulumi.Input[str]] = None, capacity_bytes: Optional[pulumi.Input[int]] = None, description: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, @@ -312,6 +345,7 @@ def __init__(__self__, budget = sumologic.IngestBudgetV2("budget", action="keepCollecting", audit_threshold=85, + budget_type="dailyVolume", capacity_bytes=30000000000, description="For testing purposes", reset_time="00:00", @@ -321,10 +355,10 @@ def __init__(__self__, ## Import - Ingest budgets can be imported using the name, e.g.hcl + Ingest budgets can be imported using the budget ID, e.g.hcl ```sh - $ pulumi import sumologic:index/ingestBudgetV2:IngestBudgetV2 budget budgetName + $ pulumi import sumologic:index/ingestBudgetV2:IngestBudgetV2 budget 00000000000123AB ``` [1]https://help.sumologic.com/Beta/Metadata_Ingest_Budgets [2]https://en.wikipedia.org/wiki/Tz_database @@ -335,7 +369,8 @@ def __init__(__self__, :param pulumi.Input[int] audit_threshold: The threshold as a percentage of when an ingest budget's capacity usage is logged in the Audit Index. The following attributes are exported: - :param pulumi.Input[int] capacity_bytes: Capacity of the ingest budget, in bytes. + :param pulumi.Input[str] budget_type: The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`. + :param pulumi.Input[int] capacity_bytes: Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min. :param pulumi.Input[str] description: The description of the collector. :param pulumi.Input[str] name: Display name of the ingest budget. This must be unique across all of the ingest budgets :param pulumi.Input[str] reset_time: Reset time of the ingest budget in HH:MM format. Defaults to `00:00` @@ -360,6 +395,7 @@ def __init__(__self__, budget = sumologic.IngestBudgetV2("budget", action="keepCollecting", audit_threshold=85, + budget_type="dailyVolume", capacity_bytes=30000000000, description="For testing purposes", reset_time="00:00", @@ -369,10 +405,10 @@ def __init__(__self__, ## Import - Ingest budgets can be imported using the name, e.g.hcl + Ingest budgets can be imported using the budget ID, e.g.hcl ```sh - $ pulumi import sumologic:index/ingestBudgetV2:IngestBudgetV2 budget budgetName + $ pulumi import sumologic:index/ingestBudgetV2:IngestBudgetV2 budget 00000000000123AB ``` [1]https://help.sumologic.com/Beta/Metadata_Ingest_Budgets [2]https://en.wikipedia.org/wiki/Tz_database @@ -394,6 +430,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, action: Optional[pulumi.Input[str]] = None, audit_threshold: Optional[pulumi.Input[int]] = None, + budget_type: Optional[pulumi.Input[str]] = None, capacity_bytes: Optional[pulumi.Input[int]] = None, description: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, @@ -413,6 +450,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'action'") __props__.__dict__["action"] = action __props__.__dict__["audit_threshold"] = audit_threshold + __props__.__dict__["budget_type"] = budget_type if capacity_bytes is None and not opts.urn: raise TypeError("Missing required property 'capacity_bytes'") __props__.__dict__["capacity_bytes"] = capacity_bytes @@ -439,6 +477,7 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, action: Optional[pulumi.Input[str]] = None, audit_threshold: Optional[pulumi.Input[int]] = None, + budget_type: Optional[pulumi.Input[str]] = None, capacity_bytes: Optional[pulumi.Input[int]] = None, description: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, @@ -456,7 +495,8 @@ def get(resource_name: str, :param pulumi.Input[int] audit_threshold: The threshold as a percentage of when an ingest budget's capacity usage is logged in the Audit Index. The following attributes are exported: - :param pulumi.Input[int] capacity_bytes: Capacity of the ingest budget, in bytes. + :param pulumi.Input[str] budget_type: The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`. + :param pulumi.Input[int] capacity_bytes: Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min. :param pulumi.Input[str] description: The description of the collector. :param pulumi.Input[str] name: Display name of the ingest budget. This must be unique across all of the ingest budgets :param pulumi.Input[str] reset_time: Reset time of the ingest budget in HH:MM format. Defaults to `00:00` @@ -469,6 +509,7 @@ def get(resource_name: str, __props__.__dict__["action"] = action __props__.__dict__["audit_threshold"] = audit_threshold + __props__.__dict__["budget_type"] = budget_type __props__.__dict__["capacity_bytes"] = capacity_bytes __props__.__dict__["description"] = description __props__.__dict__["name"] = name @@ -495,11 +536,19 @@ def audit_threshold(self) -> pulumi.Output[Optional[int]]: """ return pulumi.get(self, "audit_threshold") + @property + @pulumi.getter(name="budgetType") + def budget_type(self) -> pulumi.Output[Optional[str]]: + """ + The type of budget. Supported values are: * `dailyVolume` * `minuteVolume`. Default value is `dailyVolume`. + """ + return pulumi.get(self, "budget_type") + @property @pulumi.getter(name="capacityBytes") def capacity_bytes(self) -> pulumi.Output[int]: """ - Capacity of the ingest budget, in bytes. + Capacity of the ingest budget, in bytes. It takes a few minutes for Collectors to stop collecting when capacity is reached. We recommend setting a soft limit that is lower than your needed hard limit. The capacity bytes unit varies based on the budgetType field. For `dailyVolume` budgetType the capacity specified is in bytes/day whereas for `minuteVolume` budgetType its bytes/min. """ return pulumi.get(self, "capacity_bytes") diff --git a/sdk/python/pulumi_sumologic/log_search.py b/sdk/python/pulumi_sumologic/log_search.py index 513e21ab..f941ce81 100644 --- a/sdk/python/pulumi_sumologic/log_search.py +++ b/sdk/python/pulumi_sumologic/log_search.py @@ -38,6 +38,8 @@ def __init__(__self__, *, In `AutoParse` mode, the system automatically figures out fields to parse based on the search query. While in the `Manual` mode, no fields are parsed out automatically. For more information see [Dynamic Parsing](https://help.sumologic.com/?cid=0011). + :param pulumi.Input[Sequence[pulumi.Input['LogSearchQueryParameterArgs']]] query_parameters: Up to 10 `query_parameter` blocks can be added one for each parameter in the `query_string`. + See query parameter schema. :param pulumi.Input[bool] run_by_receipt_time: This has the value `true` if the search is to be run by receipt time and `false` if it is to be run by message time. Default value is `false`. :param pulumi.Input['LogSearchScheduleArgs'] schedule: Schedule of the log search. See schedule schema @@ -138,6 +140,10 @@ def parsing_mode(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="queryParameters") def query_parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LogSearchQueryParameterArgs']]]]: + """ + Up to 10 `query_parameter` blocks can be added one for each parameter in the `query_string`. + See query parameter schema. + """ return pulumi.get(self, "query_parameters") @query_parameters.setter @@ -193,6 +199,8 @@ def __init__(__self__, *, In `AutoParse` mode, the system automatically figures out fields to parse based on the search query. While in the `Manual` mode, no fields are parsed out automatically. For more information see [Dynamic Parsing](https://help.sumologic.com/?cid=0011). + :param pulumi.Input[Sequence[pulumi.Input['LogSearchQueryParameterArgs']]] query_parameters: Up to 10 `query_parameter` blocks can be added one for each parameter in the `query_string`. + See query parameter schema. :param pulumi.Input[str] query_string: Log query to perform. :param pulumi.Input[bool] run_by_receipt_time: This has the value `true` if the search is to be run by receipt time and `false` if it is to be run by message time. Default value is `false`. @@ -274,6 +282,10 @@ def parsing_mode(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="queryParameters") def query_parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LogSearchQueryParameterArgs']]]]: + """ + Up to 10 `query_parameter` blocks can be added one for each parameter in the `query_string`. + See query parameter schema. + """ return pulumi.get(self, "query_parameters") @query_parameters.setter @@ -358,7 +370,13 @@ def __init__(__self__, example_log_search = sumologic.LogSearch("exampleLogSearch", description="Demo search description", parent_id=personal_folder.id, - query_string="_sourceCategory=api error | count by _sourceHost", + query_string=\"\"\" _sourceCategory=api + | parse "parameter1=*," as parameter1 + | parse "parameter2=*," as parameter2 + | where parameter1 matches {{param1}} + | where parameter2 matches {{param2}} + | count by _sourceHost + \"\"\", parsing_mode="AutoParse", run_by_receipt_time=True, time_range=sumologic.LogSearchTimeRangeArgs( @@ -370,6 +388,20 @@ def __init__(__self__, ), ), ), + query_parameters=[ + sumologic.LogSearchQueryParameterArgs( + name="param1", + description="Description for param1", + data_type="STRING", + value="*", + ), + sumologic.LogSearchQueryParameterArgs( + name="param2", + description="Description for param2", + data_type="STRING", + value="*", + ), + ], schedule=sumologic.LogSearchScheduleArgs( cron_expression="0 0 * * * ? *", mute_error_emails=False, @@ -399,6 +431,16 @@ def __init__(__self__, threshold_type="group", ), time_zone="America/Los_Angeles", + parameters=[ + sumologic.LogSearchScheduleParameterArgs( + name="param1", + value="*", + ), + sumologic.LogSearchScheduleParameterArgs( + name="param2", + value="*", + ), + ], )) ``` ## Attributes reference @@ -426,6 +468,8 @@ def __init__(__self__, In `AutoParse` mode, the system automatically figures out fields to parse based on the search query. While in the `Manual` mode, no fields are parsed out automatically. For more information see [Dynamic Parsing](https://help.sumologic.com/?cid=0011). + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['LogSearchQueryParameterArgs']]]] query_parameters: Up to 10 `query_parameter` blocks can be added one for each parameter in the `query_string`. + See query parameter schema. :param pulumi.Input[str] query_string: Log query to perform. :param pulumi.Input[bool] run_by_receipt_time: This has the value `true` if the search is to be run by receipt time and `false` if it is to be run by message time. Default value is `false`. @@ -451,7 +495,13 @@ def __init__(__self__, example_log_search = sumologic.LogSearch("exampleLogSearch", description="Demo search description", parent_id=personal_folder.id, - query_string="_sourceCategory=api error | count by _sourceHost", + query_string=\"\"\" _sourceCategory=api + | parse "parameter1=*," as parameter1 + | parse "parameter2=*," as parameter2 + | where parameter1 matches {{param1}} + | where parameter2 matches {{param2}} + | count by _sourceHost + \"\"\", parsing_mode="AutoParse", run_by_receipt_time=True, time_range=sumologic.LogSearchTimeRangeArgs( @@ -463,6 +513,20 @@ def __init__(__self__, ), ), ), + query_parameters=[ + sumologic.LogSearchQueryParameterArgs( + name="param1", + description="Description for param1", + data_type="STRING", + value="*", + ), + sumologic.LogSearchQueryParameterArgs( + name="param2", + description="Description for param2", + data_type="STRING", + value="*", + ), + ], schedule=sumologic.LogSearchScheduleArgs( cron_expression="0 0 * * * ? *", mute_error_emails=False, @@ -492,6 +556,16 @@ def __init__(__self__, threshold_type="group", ), time_zone="America/Los_Angeles", + parameters=[ + sumologic.LogSearchScheduleParameterArgs( + name="param1", + value="*", + ), + sumologic.LogSearchScheduleParameterArgs( + name="param2", + value="*", + ), + ], )) ``` ## Attributes reference @@ -591,6 +665,8 @@ def get(resource_name: str, In `AutoParse` mode, the system automatically figures out fields to parse based on the search query. While in the `Manual` mode, no fields are parsed out automatically. For more information see [Dynamic Parsing](https://help.sumologic.com/?cid=0011). + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['LogSearchQueryParameterArgs']]]] query_parameters: Up to 10 `query_parameter` blocks can be added one for each parameter in the `query_string`. + See query parameter schema. :param pulumi.Input[str] query_string: Log query to perform. :param pulumi.Input[bool] run_by_receipt_time: This has the value `true` if the search is to be run by receipt time and `false` if it is to be run by message time. Default value is `false`. @@ -652,6 +728,10 @@ def parsing_mode(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter(name="queryParameters") def query_parameters(self) -> pulumi.Output[Optional[Sequence['outputs.LogSearchQueryParameter']]]: + """ + Up to 10 `query_parameter` blocks can be added one for each parameter in the `query_string`. + See query parameter schema. + """ return pulumi.get(self, "query_parameters") @property diff --git a/sdk/python/pulumi_sumologic/metrics_search.py b/sdk/python/pulumi_sumologic/metrics_search.py new file mode 100644 index 00000000..1906ff4f --- /dev/null +++ b/sdk/python/pulumi_sumologic/metrics_search.py @@ -0,0 +1,518 @@ +# 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 pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['MetricsSearchArgs', 'MetricsSearch'] + +@pulumi.input_type +class MetricsSearchArgs: + def __init__(__self__, *, + description: pulumi.Input[str], + metrics_queries: pulumi.Input[Sequence[pulumi.Input['MetricsSearchMetricsQueryArgs']]], + parent_id: pulumi.Input[str], + time_range: pulumi.Input['MetricsSearchTimeRangeArgs'], + title: pulumi.Input[str], + desired_quantization_in_secs: Optional[pulumi.Input[int]] = None, + log_query: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a MetricsSearch resource. + :param pulumi.Input[str] description: Description of the search. + :param pulumi.Input[Sequence[pulumi.Input['MetricsSearchMetricsQueryArgs']]] metrics_queries: Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. + :param pulumi.Input[str] parent_id: The identifier of the folder to create the log search in. + :param pulumi.Input['MetricsSearchTimeRangeArgs'] time_range: Time range of the log search. See time range schema + :param pulumi.Input[str] title: Title of the search. + :param pulumi.Input[int] desired_quantization_in_secs: Desired quantization in seconds. Default value is `0`. + :param pulumi.Input[str] log_query: Log query used to add an overlay to the chart. + """ + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "metrics_queries", metrics_queries) + pulumi.set(__self__, "parent_id", parent_id) + pulumi.set(__self__, "time_range", time_range) + pulumi.set(__self__, "title", title) + if desired_quantization_in_secs is not None: + pulumi.set(__self__, "desired_quantization_in_secs", desired_quantization_in_secs) + if log_query is not None: + pulumi.set(__self__, "log_query", log_query) + + @property + @pulumi.getter + def description(self) -> pulumi.Input[str]: + """ + Description of the search. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[str]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="metricsQueries") + def metrics_queries(self) -> pulumi.Input[Sequence[pulumi.Input['MetricsSearchMetricsQueryArgs']]]: + """ + Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. + """ + return pulumi.get(self, "metrics_queries") + + @metrics_queries.setter + def metrics_queries(self, value: pulumi.Input[Sequence[pulumi.Input['MetricsSearchMetricsQueryArgs']]]): + pulumi.set(self, "metrics_queries", value) + + @property + @pulumi.getter(name="parentId") + def parent_id(self) -> pulumi.Input[str]: + """ + The identifier of the folder to create the log search in. + """ + return pulumi.get(self, "parent_id") + + @parent_id.setter + def parent_id(self, value: pulumi.Input[str]): + pulumi.set(self, "parent_id", value) + + @property + @pulumi.getter(name="timeRange") + def time_range(self) -> pulumi.Input['MetricsSearchTimeRangeArgs']: + """ + Time range of the log search. See time range schema + """ + return pulumi.get(self, "time_range") + + @time_range.setter + def time_range(self, value: pulumi.Input['MetricsSearchTimeRangeArgs']): + pulumi.set(self, "time_range", value) + + @property + @pulumi.getter + def title(self) -> pulumi.Input[str]: + """ + Title of the search. + """ + return pulumi.get(self, "title") + + @title.setter + def title(self, value: pulumi.Input[str]): + pulumi.set(self, "title", value) + + @property + @pulumi.getter(name="desiredQuantizationInSecs") + def desired_quantization_in_secs(self) -> Optional[pulumi.Input[int]]: + """ + Desired quantization in seconds. Default value is `0`. + """ + return pulumi.get(self, "desired_quantization_in_secs") + + @desired_quantization_in_secs.setter + def desired_quantization_in_secs(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "desired_quantization_in_secs", value) + + @property + @pulumi.getter(name="logQuery") + def log_query(self) -> Optional[pulumi.Input[str]]: + """ + Log query used to add an overlay to the chart. + """ + return pulumi.get(self, "log_query") + + @log_query.setter + def log_query(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "log_query", value) + + +@pulumi.input_type +class _MetricsSearchState: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + desired_quantization_in_secs: Optional[pulumi.Input[int]] = None, + log_query: Optional[pulumi.Input[str]] = None, + metrics_queries: Optional[pulumi.Input[Sequence[pulumi.Input['MetricsSearchMetricsQueryArgs']]]] = None, + parent_id: Optional[pulumi.Input[str]] = None, + time_range: Optional[pulumi.Input['MetricsSearchTimeRangeArgs']] = None, + title: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering MetricsSearch resources. + :param pulumi.Input[str] description: Description of the search. + :param pulumi.Input[int] desired_quantization_in_secs: Desired quantization in seconds. Default value is `0`. + :param pulumi.Input[str] log_query: Log query used to add an overlay to the chart. + :param pulumi.Input[Sequence[pulumi.Input['MetricsSearchMetricsQueryArgs']]] metrics_queries: Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. + :param pulumi.Input[str] parent_id: The identifier of the folder to create the log search in. + :param pulumi.Input['MetricsSearchTimeRangeArgs'] time_range: Time range of the log search. See time range schema + :param pulumi.Input[str] title: Title of the search. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if desired_quantization_in_secs is not None: + pulumi.set(__self__, "desired_quantization_in_secs", desired_quantization_in_secs) + if log_query is not None: + pulumi.set(__self__, "log_query", log_query) + if metrics_queries is not None: + pulumi.set(__self__, "metrics_queries", metrics_queries) + if parent_id is not None: + pulumi.set(__self__, "parent_id", parent_id) + if time_range is not None: + pulumi.set(__self__, "time_range", time_range) + if title is not None: + pulumi.set(__self__, "title", title) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Description of the search. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="desiredQuantizationInSecs") + def desired_quantization_in_secs(self) -> Optional[pulumi.Input[int]]: + """ + Desired quantization in seconds. Default value is `0`. + """ + return pulumi.get(self, "desired_quantization_in_secs") + + @desired_quantization_in_secs.setter + def desired_quantization_in_secs(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "desired_quantization_in_secs", value) + + @property + @pulumi.getter(name="logQuery") + def log_query(self) -> Optional[pulumi.Input[str]]: + """ + Log query used to add an overlay to the chart. + """ + return pulumi.get(self, "log_query") + + @log_query.setter + def log_query(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "log_query", value) + + @property + @pulumi.getter(name="metricsQueries") + def metrics_queries(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MetricsSearchMetricsQueryArgs']]]]: + """ + Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. + """ + return pulumi.get(self, "metrics_queries") + + @metrics_queries.setter + def metrics_queries(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MetricsSearchMetricsQueryArgs']]]]): + pulumi.set(self, "metrics_queries", value) + + @property + @pulumi.getter(name="parentId") + def parent_id(self) -> Optional[pulumi.Input[str]]: + """ + The identifier of the folder to create the log search in. + """ + return pulumi.get(self, "parent_id") + + @parent_id.setter + def parent_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "parent_id", value) + + @property + @pulumi.getter(name="timeRange") + def time_range(self) -> Optional[pulumi.Input['MetricsSearchTimeRangeArgs']]: + """ + Time range of the log search. See time range schema + """ + return pulumi.get(self, "time_range") + + @time_range.setter + def time_range(self, value: Optional[pulumi.Input['MetricsSearchTimeRangeArgs']]): + pulumi.set(self, "time_range", value) + + @property + @pulumi.getter + def title(self) -> Optional[pulumi.Input[str]]: + """ + Title of the search. + """ + return pulumi.get(self, "title") + + @title.setter + def title(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "title", value) + + +class MetricsSearch(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + desired_quantization_in_secs: Optional[pulumi.Input[int]] = None, + log_query: Optional[pulumi.Input[str]] = None, + metrics_queries: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MetricsSearchMetricsQueryArgs']]]]] = None, + parent_id: Optional[pulumi.Input[str]] = None, + time_range: Optional[pulumi.Input[pulumi.InputType['MetricsSearchTimeRangeArgs']]] = None, + title: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a [Sumologic Metrics Search](https://help.sumologic.com/docs/metrics/metrics-queries/metrics-explorer/). + + ## Example Usage + + ```python + import pulumi + import pulumi_sumologic as sumologic + + personal_folder = sumologic.get_personal_folder() + example_metrics_search = sumologic.MetricsSearch("exampleMetricsSearch", + title="Demo Metrics Search", + description="Demo search description", + parent_id=personal_folder.id, + metrics_queries=[sumologic.MetricsSearchMetricsQueryArgs( + row_id="A", + query="metric=cpu_idle | avg", + )], + desired_quantization_in_secs=0, + time_range=sumologic.MetricsSearchTimeRangeArgs( + begin_bounded_time_range=sumologic.MetricsSearchTimeRangeBeginBoundedTimeRangeArgs( + from_=sumologic.MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs( + relative_time_range=sumologic.MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs( + relative_time="-30m", + ), + ), + ), + )) + ``` + ## Attributes reference + + In addition to all arguments above, the following attributes are exported: + + - `id` - The ID of the log search. + + ## Import + + A metrics search can be imported using it's identifier, e.g.hcl + + ```sh + $ pulumi import sumologic:index/metricsSearch:MetricsSearch example_search 0000000007FFD79D + ``` + + [1]https://help.sumologic.com/docs/metrics/metrics-queries/metrics-explorer/ + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: Description of the search. + :param pulumi.Input[int] desired_quantization_in_secs: Desired quantization in seconds. Default value is `0`. + :param pulumi.Input[str] log_query: Log query used to add an overlay to the chart. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MetricsSearchMetricsQueryArgs']]]] metrics_queries: Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. + :param pulumi.Input[str] parent_id: The identifier of the folder to create the log search in. + :param pulumi.Input[pulumi.InputType['MetricsSearchTimeRangeArgs']] time_range: Time range of the log search. See time range schema + :param pulumi.Input[str] title: Title of the search. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: MetricsSearchArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a [Sumologic Metrics Search](https://help.sumologic.com/docs/metrics/metrics-queries/metrics-explorer/). + + ## Example Usage + + ```python + import pulumi + import pulumi_sumologic as sumologic + + personal_folder = sumologic.get_personal_folder() + example_metrics_search = sumologic.MetricsSearch("exampleMetricsSearch", + title="Demo Metrics Search", + description="Demo search description", + parent_id=personal_folder.id, + metrics_queries=[sumologic.MetricsSearchMetricsQueryArgs( + row_id="A", + query="metric=cpu_idle | avg", + )], + desired_quantization_in_secs=0, + time_range=sumologic.MetricsSearchTimeRangeArgs( + begin_bounded_time_range=sumologic.MetricsSearchTimeRangeBeginBoundedTimeRangeArgs( + from_=sumologic.MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs( + relative_time_range=sumologic.MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs( + relative_time="-30m", + ), + ), + ), + )) + ``` + ## Attributes reference + + In addition to all arguments above, the following attributes are exported: + + - `id` - The ID of the log search. + + ## Import + + A metrics search can be imported using it's identifier, e.g.hcl + + ```sh + $ pulumi import sumologic:index/metricsSearch:MetricsSearch example_search 0000000007FFD79D + ``` + + [1]https://help.sumologic.com/docs/metrics/metrics-queries/metrics-explorer/ + + :param str resource_name: The name of the resource. + :param MetricsSearchArgs 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(MetricsSearchArgs, 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, + description: Optional[pulumi.Input[str]] = None, + desired_quantization_in_secs: Optional[pulumi.Input[int]] = None, + log_query: Optional[pulumi.Input[str]] = None, + metrics_queries: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MetricsSearchMetricsQueryArgs']]]]] = None, + parent_id: Optional[pulumi.Input[str]] = None, + time_range: Optional[pulumi.Input[pulumi.InputType['MetricsSearchTimeRangeArgs']]] = None, + title: 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__ = MetricsSearchArgs.__new__(MetricsSearchArgs) + + if description is None and not opts.urn: + raise TypeError("Missing required property 'description'") + __props__.__dict__["description"] = description + __props__.__dict__["desired_quantization_in_secs"] = desired_quantization_in_secs + __props__.__dict__["log_query"] = log_query + if metrics_queries is None and not opts.urn: + raise TypeError("Missing required property 'metrics_queries'") + __props__.__dict__["metrics_queries"] = metrics_queries + if parent_id is None and not opts.urn: + raise TypeError("Missing required property 'parent_id'") + __props__.__dict__["parent_id"] = parent_id + if time_range is None and not opts.urn: + raise TypeError("Missing required property 'time_range'") + __props__.__dict__["time_range"] = time_range + if title is None and not opts.urn: + raise TypeError("Missing required property 'title'") + __props__.__dict__["title"] = title + super(MetricsSearch, __self__).__init__( + 'sumologic:index/metricsSearch:MetricsSearch', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + desired_quantization_in_secs: Optional[pulumi.Input[int]] = None, + log_query: Optional[pulumi.Input[str]] = None, + metrics_queries: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MetricsSearchMetricsQueryArgs']]]]] = None, + parent_id: Optional[pulumi.Input[str]] = None, + time_range: Optional[pulumi.Input[pulumi.InputType['MetricsSearchTimeRangeArgs']]] = None, + title: Optional[pulumi.Input[str]] = None) -> 'MetricsSearch': + """ + Get an existing MetricsSearch 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] description: Description of the search. + :param pulumi.Input[int] desired_quantization_in_secs: Desired quantization in seconds. Default value is `0`. + :param pulumi.Input[str] log_query: Log query used to add an overlay to the chart. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MetricsSearchMetricsQueryArgs']]]] metrics_queries: Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. + :param pulumi.Input[str] parent_id: The identifier of the folder to create the log search in. + :param pulumi.Input[pulumi.InputType['MetricsSearchTimeRangeArgs']] time_range: Time range of the log search. See time range schema + :param pulumi.Input[str] title: Title of the search. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _MetricsSearchState.__new__(_MetricsSearchState) + + __props__.__dict__["description"] = description + __props__.__dict__["desired_quantization_in_secs"] = desired_quantization_in_secs + __props__.__dict__["log_query"] = log_query + __props__.__dict__["metrics_queries"] = metrics_queries + __props__.__dict__["parent_id"] = parent_id + __props__.__dict__["time_range"] = time_range + __props__.__dict__["title"] = title + return MetricsSearch(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[str]: + """ + Description of the search. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="desiredQuantizationInSecs") + def desired_quantization_in_secs(self) -> pulumi.Output[Optional[int]]: + """ + Desired quantization in seconds. Default value is `0`. + """ + return pulumi.get(self, "desired_quantization_in_secs") + + @property + @pulumi.getter(name="logQuery") + def log_query(self) -> pulumi.Output[Optional[str]]: + """ + Log query used to add an overlay to the chart. + """ + return pulumi.get(self, "log_query") + + @property + @pulumi.getter(name="metricsQueries") + def metrics_queries(self) -> pulumi.Output[Sequence['outputs.MetricsSearchMetricsQuery']]: + """ + Array of objects MetricsSearchQuery. Metrics queries, up to the maximum of six. + """ + return pulumi.get(self, "metrics_queries") + + @property + @pulumi.getter(name="parentId") + def parent_id(self) -> pulumi.Output[str]: + """ + The identifier of the folder to create the log search in. + """ + return pulumi.get(self, "parent_id") + + @property + @pulumi.getter(name="timeRange") + def time_range(self) -> pulumi.Output['outputs.MetricsSearchTimeRange']: + """ + Time range of the log search. See time range schema + """ + return pulumi.get(self, "time_range") + + @property + @pulumi.getter + def title(self) -> pulumi.Output[str]: + """ + Title of the search. + """ + return pulumi.get(self, "title") + diff --git a/sdk/python/pulumi_sumologic/monitor.py b/sdk/python/pulumi_sumologic/monitor.py index 48088567..246e1926 100644 --- a/sdk/python/pulumi_sumologic/monitor.py +++ b/sdk/python/pulumi_sumologic/monitor.py @@ -59,7 +59,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] group_notifications: Whether or not to group notifications for individual items that meet the trigger condition. Defaults to true. :param pulumi.Input[bool] is_disabled: Whether or not the monitor is disabled. Disabled monitors will not run and will not generate or send notifications. :param pulumi.Input[str] name: The name of the monitor. The name must be alphanumeric. - :param pulumi.Input[Sequence[pulumi.Input[str]]] notification_group_fields: The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. + :param pulumi.Input[Sequence[pulumi.Input[str]]] notification_group_fields: The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. :param pulumi.Input[Sequence[pulumi.Input['MonitorNotificationArgs']]] notifications: The notifications the monitor will send when the respective trigger condition is met. :param pulumi.Input[Sequence[pulumi.Input['MonitorObjPermissionArgs']]] obj_permissions: `obj_permission` construct represents a Permission Statement associated with this Monitor. A set of `obj_permission` constructs can be specified under a Monitor. An `obj_permission` construct can be used to control permissions Explicitly associated with a Monitor. But, it cannot be used to control permissions Inherited from a Parent / Ancestor. Default FGP would be still set to the Monitor upon creation (e.g. the creating user would have full permission), even if no `obj_permission` construct is specified at a Monitor and the FGP feature is enabled at the account. :param pulumi.Input[str] parent_id: The ID of the Monitor Folder that contains this monitor. Defaults to the root folder. @@ -298,7 +298,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="notificationGroupFields") def notification_group_fields(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. + The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. """ return pulumi.get(self, "notification_group_fields") @@ -417,6 +417,9 @@ def triggers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MonitorTrigge """ Defines the conditions of when to send notifications. """ + warnings.warn("""The field `triggers` is deprecated and will be removed in a future release of the provider -- please use `trigger_conditions` instead.""", DeprecationWarning) + pulumi.log.warn("""triggers is deprecated: The field `triggers` is deprecated and will be removed in a future release of the provider -- please use `trigger_conditions` instead.""") + return pulumi.get(self, "triggers") @triggers.setter @@ -491,7 +494,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] is_disabled: Whether or not the monitor is disabled. Disabled monitors will not run and will not generate or send notifications. :param pulumi.Input[str] monitor_type: The type of monitor. Valid values: :param pulumi.Input[str] name: The name of the monitor. The name must be alphanumeric. - :param pulumi.Input[Sequence[pulumi.Input[str]]] notification_group_fields: The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. + :param pulumi.Input[Sequence[pulumi.Input[str]]] notification_group_fields: The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. :param pulumi.Input[Sequence[pulumi.Input['MonitorNotificationArgs']]] notifications: The notifications the monitor will send when the respective trigger condition is met. :param pulumi.Input[Sequence[pulumi.Input['MonitorObjPermissionArgs']]] obj_permissions: `obj_permission` construct represents a Permission Statement associated with this Monitor. A set of `obj_permission` constructs can be specified under a Monitor. An `obj_permission` construct can be used to control permissions Explicitly associated with a Monitor. But, it cannot be used to control permissions Inherited from a Parent / Ancestor. Default FGP would be still set to the Monitor upon creation (e.g. the creating user would have full permission), even if no `obj_permission` construct is specified at a Monitor and the FGP feature is enabled at the account. :param pulumi.Input[str] parent_id: The ID of the Monitor Folder that contains this monitor. Defaults to the root folder. @@ -731,7 +734,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="notificationGroupFields") def notification_group_fields(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. + The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. """ return pulumi.get(self, "notification_group_fields") @@ -850,6 +853,9 @@ def triggers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MonitorTrigge """ Defines the conditions of when to send notifications. """ + warnings.warn("""The field `triggers` is deprecated and will be removed in a future release of the provider -- please use `trigger_conditions` instead.""", DeprecationWarning) + pulumi.log.warn("""triggers is deprecated: The field `triggers` is deprecated and will be removed in a future release of the provider -- please use `trigger_conditions` instead.""") + return pulumi.get(self, "triggers") @triggers.setter @@ -1130,7 +1136,7 @@ def __init__(__self__, :param pulumi.Input[bool] is_disabled: Whether or not the monitor is disabled. Disabled monitors will not run and will not generate or send notifications. :param pulumi.Input[str] monitor_type: The type of monitor. Valid values: :param pulumi.Input[str] name: The name of the monitor. The name must be alphanumeric. - :param pulumi.Input[Sequence[pulumi.Input[str]]] notification_group_fields: The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. + :param pulumi.Input[Sequence[pulumi.Input[str]]] notification_group_fields: The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MonitorNotificationArgs']]]] notifications: The notifications the monitor will send when the respective trigger condition is met. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MonitorObjPermissionArgs']]]] obj_permissions: `obj_permission` construct represents a Permission Statement associated with this Monitor. A set of `obj_permission` constructs can be specified under a Monitor. An `obj_permission` construct can be used to control permissions Explicitly associated with a Monitor. But, it cannot be used to control permissions Inherited from a Parent / Ancestor. Default FGP would be still set to the Monitor upon creation (e.g. the creating user would have full permission), even if no `obj_permission` construct is specified at a Monitor and the FGP feature is enabled at the account. :param pulumi.Input[str] parent_id: The ID of the Monitor Folder that contains this monitor. Defaults to the root folder. @@ -1494,7 +1500,7 @@ def get(resource_name: str, :param pulumi.Input[bool] is_disabled: Whether or not the monitor is disabled. Disabled monitors will not run and will not generate or send notifications. :param pulumi.Input[str] monitor_type: The type of monitor. Valid values: :param pulumi.Input[str] name: The name of the monitor. The name must be alphanumeric. - :param pulumi.Input[Sequence[pulumi.Input[str]]] notification_group_fields: The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. + :param pulumi.Input[Sequence[pulumi.Input[str]]] notification_group_fields: The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MonitorNotificationArgs']]]] notifications: The notifications the monitor will send when the respective trigger condition is met. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MonitorObjPermissionArgs']]]] obj_permissions: `obj_permission` construct represents a Permission Statement associated with this Monitor. A set of `obj_permission` constructs can be specified under a Monitor. An `obj_permission` construct can be used to control permissions Explicitly associated with a Monitor. But, it cannot be used to control permissions Inherited from a Parent / Ancestor. Default FGP would be still set to the Monitor upon creation (e.g. the creating user would have full permission), even if no `obj_permission` construct is specified at a Monitor and the FGP feature is enabled at the account. :param pulumi.Input[str] parent_id: The ID of the Monitor Folder that contains this monitor. Defaults to the root folder. @@ -1648,7 +1654,7 @@ def name(self) -> pulumi.Output[str]: @pulumi.getter(name="notificationGroupFields") def notification_group_fields(self) -> pulumi.Output[Optional[Sequence[str]]]: """ - The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. + The set of fields to be used to group alerts and notifications for a monitor. The value of this field will be considered only when 'groupNotifications' is true. The fields with very high cardinality such as `_raw`, `_messagetime`, `_receipttime`, and `_messageid` are not allowed for Alert Grouping. """ return pulumi.get(self, "notification_group_fields") @@ -1727,6 +1733,9 @@ def triggers(self) -> pulumi.Output[Optional[Sequence['outputs.MonitorTrigger']] """ Defines the conditions of when to send notifications. """ + warnings.warn("""The field `triggers` is deprecated and will be removed in a future release of the provider -- please use `trigger_conditions` instead.""", DeprecationWarning) + pulumi.log.warn("""triggers is deprecated: The field `triggers` is deprecated and will be removed in a future release of the provider -- please use `trigger_conditions` instead.""") + return pulumi.get(self, "triggers") @property diff --git a/sdk/python/pulumi_sumologic/outputs.py b/sdk/python/pulumi_sumologic/outputs.py index 8b24d69d..f7551679 100644 --- a/sdk/python/pulumi_sumologic/outputs.py +++ b/sdk/python/pulumi_sumologic/outputs.py @@ -575,6 +575,20 @@ 'MetadataSourceDefaultDateFormat', 'MetadataSourceFilter', 'MetadataSourcePath', + 'MetricsSearchMetricsQuery', + 'MetricsSearchTimeRange', + 'MetricsSearchTimeRangeBeginBoundedTimeRange', + 'MetricsSearchTimeRangeBeginBoundedTimeRangeFrom', + 'MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange', + 'MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange', + 'MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange', + 'MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange', + 'MetricsSearchTimeRangeBeginBoundedTimeRangeTo', + 'MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange', + 'MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange', + 'MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange', + 'MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange', + 'MetricsSearchTimeRangeCompleteLiteralTimeRange', 'MonitorFolderObjPermission', 'MonitorNotification', 'MonitorNotificationNotification', @@ -618,6 +632,9 @@ 'PollingSourceFilter', 'PollingSourcePath', 'PollingSourcePathTagFilter', + 'RumSourceDefaultDateFormat', + 'RumSourceFilter', + 'RumSourcePath', 'S3ArchiveSourceAuthentication', 'S3ArchiveSourceDefaultDateFormat', 'S3ArchiveSourceFilter', @@ -25931,8 +25948,13 @@ def __init__(__self__, *, value: str, description: Optional[str] = None): """ + :param str data_type: The data type of the parameter. Supported values are: + 1. `NUMBER` + 2. `STRING` + 3. `ANY` + 4. `KEYWORD` :param str name: Name of the search. - :param str value: Value of scheduled search parameter. + :param str value: The default value for the parameter. It should be compatible with the type set in the `data_type` field. :param str description: Description of the search. """ pulumi.set(__self__, "data_type", data_type) @@ -25944,6 +25966,13 @@ def __init__(__self__, *, @property @pulumi.getter(name="dataType") def data_type(self) -> str: + """ + The data type of the parameter. Supported values are: + 1. `NUMBER` + 2. `STRING` + 3. `ANY` + 4. `KEYWORD` + """ return pulumi.get(self, "data_type") @property @@ -25958,7 +25987,7 @@ def name(self) -> str: @pulumi.getter def value(self) -> str: """ - Value of scheduled search parameter. + The default value for the parameter. It should be compatible with the type set in the `data_type` field. """ return pulumi.get(self, "value") @@ -26722,7 +26751,7 @@ def __init__(__self__, *, value: str): """ :param str name: Name of the search. - :param str value: Value of scheduled search parameter. + :param str value: The default value for the parameter. It should be compatible with the type set in the `data_type` field. """ pulumi.set(__self__, "name", name) pulumi.set(__self__, "value", value) @@ -26739,7 +26768,7 @@ def name(self) -> str: @pulumi.getter def value(self) -> str: """ - Value of scheduled search parameter. + The default value for the parameter. It should be compatible with the type set in the `data_type` field. """ return pulumi.get(self, "value") @@ -28279,272 +28308,935 @@ def tag_filters(self) -> Optional[Sequence[str]]: @pulumi.output_type -class MonitorFolderObjPermission(dict): +class MetricsSearchMetricsQuery(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "subjectId": - suggest = "subject_id" - elif key == "subjectType": - suggest = "subject_type" + if key == "rowId": + suggest = "row_id" if suggest: - pulumi.log.warn(f"Key '{key}' not found in MonitorFolderObjPermission. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in MetricsSearchMetricsQuery. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - MonitorFolderObjPermission.__key_warning(key) + MetricsSearchMetricsQuery.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - MonitorFolderObjPermission.__key_warning(key) + MetricsSearchMetricsQuery.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - permissions: Sequence[str], - subject_id: str, - subject_type: str): + query: str, + row_id: str): """ - :param Sequence[str] permissions: A Set of Permissions. Valid Permission Values: - :param str subject_id: A Role ID or the Org ID of the account - :param str subject_type: Valid values: + :param str query: A metric query consists of a metric, one or more filters and optionally, one or more [Metrics Operators](https://help.sumologic.com/?cid=10144). + Strictly speaking, both filters and operators are optional. + Most of the [Metrics Operators](https://help.sumologic.com/?cid=10144) are allowed in the query string except `fillmissing`, `outlier`, `quantize` and `timeshift`. + In practice, your metric queries will almost always contain filters that narrow the scope of your query. + For more information about the query language see [Metrics Queries](https://help.sumologic.com/?cid=1079). + :param str row_id: Row id for the query row, A to Z letter. """ - pulumi.set(__self__, "permissions", permissions) - pulumi.set(__self__, "subject_id", subject_id) - pulumi.set(__self__, "subject_type", subject_type) + pulumi.set(__self__, "query", query) + pulumi.set(__self__, "row_id", row_id) @property @pulumi.getter - def permissions(self) -> Sequence[str]: - """ - A Set of Permissions. Valid Permission Values: - """ - return pulumi.get(self, "permissions") - - @property - @pulumi.getter(name="subjectId") - def subject_id(self) -> str: + def query(self) -> str: """ - A Role ID or the Org ID of the account + A metric query consists of a metric, one or more filters and optionally, one or more [Metrics Operators](https://help.sumologic.com/?cid=10144). + Strictly speaking, both filters and operators are optional. + Most of the [Metrics Operators](https://help.sumologic.com/?cid=10144) are allowed in the query string except `fillmissing`, `outlier`, `quantize` and `timeshift`. + In practice, your metric queries will almost always contain filters that narrow the scope of your query. + For more information about the query language see [Metrics Queries](https://help.sumologic.com/?cid=1079). """ - return pulumi.get(self, "subject_id") + return pulumi.get(self, "query") @property - @pulumi.getter(name="subjectType") - def subject_type(self) -> str: + @pulumi.getter(name="rowId") + def row_id(self) -> str: """ - Valid values: + Row id for the query row, A to Z letter. """ - return pulumi.get(self, "subject_type") + return pulumi.get(self, "row_id") @pulumi.output_type -class MonitorNotification(dict): +class MetricsSearchTimeRange(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "runForTriggerTypes": - suggest = "run_for_trigger_types" + if key == "beginBoundedTimeRange": + suggest = "begin_bounded_time_range" + elif key == "completeLiteralTimeRange": + suggest = "complete_literal_time_range" if suggest: - pulumi.log.warn(f"Key '{key}' not found in MonitorNotification. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in MetricsSearchTimeRange. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - MonitorNotification.__key_warning(key) + MetricsSearchTimeRange.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - MonitorNotification.__key_warning(key) + MetricsSearchTimeRange.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - notification: 'outputs.MonitorNotificationNotification', - run_for_trigger_types: Sequence[str]): - pulumi.set(__self__, "notification", notification) - pulumi.set(__self__, "run_for_trigger_types", run_for_trigger_types) + begin_bounded_time_range: Optional['outputs.MetricsSearchTimeRangeBeginBoundedTimeRange'] = None, + complete_literal_time_range: Optional['outputs.MetricsSearchTimeRangeCompleteLiteralTimeRange'] = None): + """ + :param 'MetricsSearchTimeRangeBeginBoundedTimeRangeArgs' begin_bounded_time_range: Bounded time range. See + begin_bounded_time_range schema schema for details. + :param 'MetricsSearchTimeRangeCompleteLiteralTimeRangeArgs' complete_literal_time_range: Literal time range. See + complete_literal_time_range schema for details. + """ + if begin_bounded_time_range is not None: + pulumi.set(__self__, "begin_bounded_time_range", begin_bounded_time_range) + if complete_literal_time_range is not None: + pulumi.set(__self__, "complete_literal_time_range", complete_literal_time_range) @property - @pulumi.getter - def notification(self) -> 'outputs.MonitorNotificationNotification': - return pulumi.get(self, "notification") + @pulumi.getter(name="beginBoundedTimeRange") + def begin_bounded_time_range(self) -> Optional['outputs.MetricsSearchTimeRangeBeginBoundedTimeRange']: + """ + Bounded time range. See + begin_bounded_time_range schema schema for details. + """ + return pulumi.get(self, "begin_bounded_time_range") @property - @pulumi.getter(name="runForTriggerTypes") - def run_for_trigger_types(self) -> Sequence[str]: - return pulumi.get(self, "run_for_trigger_types") + @pulumi.getter(name="completeLiteralTimeRange") + def complete_literal_time_range(self) -> Optional['outputs.MetricsSearchTimeRangeCompleteLiteralTimeRange']: + """ + Literal time range. See + complete_literal_time_range schema for details. + """ + return pulumi.get(self, "complete_literal_time_range") @pulumi.output_type -class MonitorNotificationNotification(dict): +class MetricsSearchTimeRangeBeginBoundedTimeRange(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "actionType": - suggest = "action_type" - elif key == "connectionId": - suggest = "connection_id" - elif key == "connectionType": - suggest = "connection_type" - elif key == "messageBody": - suggest = "message_body" - elif key == "payloadOverride": - suggest = "payload_override" - elif key == "resolutionPayloadOverride": - suggest = "resolution_payload_override" - elif key == "timeZone": - suggest = "time_zone" + if key == "from": + suggest = "from_" if suggest: - pulumi.log.warn(f"Key '{key}' not found in MonitorNotificationNotification. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in MetricsSearchTimeRangeBeginBoundedTimeRange. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - MonitorNotificationNotification.__key_warning(key) + MetricsSearchTimeRangeBeginBoundedTimeRange.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - MonitorNotificationNotification.__key_warning(key) + MetricsSearchTimeRangeBeginBoundedTimeRange.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - action_type: Optional[str] = None, - connection_id: Optional[str] = None, - connection_type: Optional[str] = None, - message_body: Optional[str] = None, - payload_override: Optional[str] = None, - recipients: Optional[Sequence[str]] = None, - resolution_payload_override: Optional[str] = None, - subject: Optional[str] = None, - time_zone: Optional[str] = None): - if action_type is not None: - pulumi.set(__self__, "action_type", action_type) - if connection_id is not None: - pulumi.set(__self__, "connection_id", connection_id) - if connection_type is not None: - pulumi.set(__self__, "connection_type", connection_type) - if message_body is not None: - pulumi.set(__self__, "message_body", message_body) - if payload_override is not None: - pulumi.set(__self__, "payload_override", payload_override) - if recipients is not None: - pulumi.set(__self__, "recipients", recipients) - if resolution_payload_override is not None: - pulumi.set(__self__, "resolution_payload_override", resolution_payload_override) - if subject is not None: - pulumi.set(__self__, "subject", subject) - if time_zone is not None: - pulumi.set(__self__, "time_zone", time_zone) - - @property - @pulumi.getter(name="actionType") - def action_type(self) -> Optional[str]: - return pulumi.get(self, "action_type") - - @property - @pulumi.getter(name="connectionId") - def connection_id(self) -> Optional[str]: - return pulumi.get(self, "connection_id") - - @property - @pulumi.getter(name="connectionType") - def connection_type(self) -> Optional[str]: - return pulumi.get(self, "connection_type") - - @property - @pulumi.getter(name="messageBody") - def message_body(self) -> Optional[str]: - return pulumi.get(self, "message_body") - - @property - @pulumi.getter(name="payloadOverride") - def payload_override(self) -> Optional[str]: - return pulumi.get(self, "payload_override") - - @property - @pulumi.getter - def recipients(self) -> Optional[Sequence[str]]: - return pulumi.get(self, "recipients") + from_: 'outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFrom', + to: Optional['outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeTo'] = None): + """ + :param 'MetricsSearchTimeRangeBeginBoundedTimeRangeFromArgs' from_: Start boundary of bounded time range. See + time_range_boundary schema for details. + :param 'MetricsSearchTimeRangeBeginBoundedTimeRangeToArgs' to: End boundary of bounded time range. See + time_range_boundary schema for details. + """ + pulumi.set(__self__, "from_", from_) + if to is not None: + pulumi.set(__self__, "to", to) @property - @pulumi.getter(name="resolutionPayloadOverride") - def resolution_payload_override(self) -> Optional[str]: - return pulumi.get(self, "resolution_payload_override") + @pulumi.getter(name="from") + def from_(self) -> 'outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFrom': + """ + Start boundary of bounded time range. See + time_range_boundary schema for details. + """ + return pulumi.get(self, "from_") @property @pulumi.getter - def subject(self) -> Optional[str]: - return pulumi.get(self, "subject") - - @property - @pulumi.getter(name="timeZone") - def time_zone(self) -> Optional[str]: - return pulumi.get(self, "time_zone") + def to(self) -> Optional['outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeTo']: + """ + End boundary of bounded time range. See + time_range_boundary schema for details. + """ + return pulumi.get(self, "to") @pulumi.output_type -class MonitorObjPermission(dict): +class MetricsSearchTimeRangeBeginBoundedTimeRangeFrom(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "subjectId": - suggest = "subject_id" - elif key == "subjectType": - suggest = "subject_type" + if key == "epochTimeRange": + suggest = "epoch_time_range" + elif key == "iso8601TimeRange": + suggest = "iso8601_time_range" + elif key == "literalTimeRange": + suggest = "literal_time_range" + elif key == "relativeTimeRange": + suggest = "relative_time_range" if suggest: - pulumi.log.warn(f"Key '{key}' not found in MonitorObjPermission. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in MetricsSearchTimeRangeBeginBoundedTimeRangeFrom. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - MonitorObjPermission.__key_warning(key) + MetricsSearchTimeRangeBeginBoundedTimeRangeFrom.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - MonitorObjPermission.__key_warning(key) + MetricsSearchTimeRangeBeginBoundedTimeRangeFrom.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - permissions: Sequence[str], - subject_id: str, - subject_type: str): + epoch_time_range: Optional['outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange'] = None, + iso8601_time_range: Optional['outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange'] = None, + literal_time_range: Optional['outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange'] = None, + relative_time_range: Optional['outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange'] = None): """ - :param Sequence[str] permissions: A Set of Permissions. Valid Permission Values: - :param str subject_id: A Role ID or the Org ID of the account - :param str subject_type: Valid values: + :param 'MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRangeArgs' epoch_time_range: Time since the epoch. + :param 'MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRangeArgs' iso8601_time_range: Time in ISO 8601 format. + :param 'MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRangeArgs' literal_time_range: Time in literal format. + :param 'MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRangeArgs' relative_time_range: Time in relative format. """ - pulumi.set(__self__, "permissions", permissions) - pulumi.set(__self__, "subject_id", subject_id) - pulumi.set(__self__, "subject_type", subject_type) + if epoch_time_range is not None: + pulumi.set(__self__, "epoch_time_range", epoch_time_range) + if iso8601_time_range is not None: + pulumi.set(__self__, "iso8601_time_range", iso8601_time_range) + if literal_time_range is not None: + pulumi.set(__self__, "literal_time_range", literal_time_range) + if relative_time_range is not None: + pulumi.set(__self__, "relative_time_range", relative_time_range) @property - @pulumi.getter - def permissions(self) -> Sequence[str]: + @pulumi.getter(name="epochTimeRange") + def epoch_time_range(self) -> Optional['outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange']: """ - A Set of Permissions. Valid Permission Values: + Time since the epoch. """ - return pulumi.get(self, "permissions") + return pulumi.get(self, "epoch_time_range") @property - @pulumi.getter(name="subjectId") - def subject_id(self) -> str: + @pulumi.getter(name="iso8601TimeRange") + def iso8601_time_range(self) -> Optional['outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange']: """ - A Role ID or the Org ID of the account + Time in ISO 8601 format. """ - return pulumi.get(self, "subject_id") + return pulumi.get(self, "iso8601_time_range") @property - @pulumi.getter(name="subjectType") - def subject_type(self) -> str: + @pulumi.getter(name="literalTimeRange") + def literal_time_range(self) -> Optional['outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange']: """ - Valid values: + Time in literal format. """ - return pulumi.get(self, "subject_type") + return pulumi.get(self, "literal_time_range") + + @property + @pulumi.getter(name="relativeTimeRange") + def relative_time_range(self) -> Optional['outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange']: + """ + Time in relative format. + """ + return pulumi.get(self, "relative_time_range") @pulumi.output_type -class MonitorQuery(dict): +class MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "rowId": - suggest = "row_id" + if key == "epochMillis": + suggest = "epoch_millis" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MetricsSearchTimeRangeBeginBoundedTimeRangeFromEpochTimeRange.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + epoch_millis: int): + """ + :param int epoch_millis: Time as a number of milliseconds since the epoch. + """ + pulumi.set(__self__, "epoch_millis", epoch_millis) + + @property + @pulumi.getter(name="epochMillis") + def epoch_millis(self) -> int: + """ + Time as a number of milliseconds since the epoch. + """ + return pulumi.get(self, "epoch_millis") + + +@pulumi.output_type +class MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "iso8601Time": + suggest = "iso8601_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MetricsSearchTimeRangeBeginBoundedTimeRangeFromIso8601TimeRange.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + iso8601_time: str): + """ + :param str iso8601_time: Time as a string in ISO 8601 format. + """ + pulumi.set(__self__, "iso8601_time", iso8601_time) + + @property + @pulumi.getter(name="iso8601Time") + def iso8601_time(self) -> str: + """ + Time as a string in ISO 8601 format. + """ + return pulumi.get(self, "iso8601_time") + + +@pulumi.output_type +class MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "rangeName": + suggest = "range_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MetricsSearchTimeRangeBeginBoundedTimeRangeFromLiteralTimeRange.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + range_name: str): + """ + :param str range_name: Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + `previous_month`. + """ + pulumi.set(__self__, "range_name", range_name) + + @property + @pulumi.getter(name="rangeName") + def range_name(self) -> str: + """ + Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + `previous_month`. + """ + return pulumi.get(self, "range_name") + + +@pulumi.output_type +class MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "relativeTime": + suggest = "relative_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MetricsSearchTimeRangeBeginBoundedTimeRangeFromRelativeTimeRange.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + relative_time: str): + """ + :param str relative_time: Relative time as a string consisting of following elements: + 1. `-` (optional): minus sign indicates time in the past, + 2. ``: number of time units, + 3. ``: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + + Multiple pairs of `` may be provided, and they may be in any order. For example, + `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + """ + pulumi.set(__self__, "relative_time", relative_time) + + @property + @pulumi.getter(name="relativeTime") + def relative_time(self) -> str: + """ + Relative time as a string consisting of following elements: + 1. `-` (optional): minus sign indicates time in the past, + 2. ``: number of time units, + 3. ``: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + + Multiple pairs of `` may be provided, and they may be in any order. For example, + `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + """ + return pulumi.get(self, "relative_time") + + +@pulumi.output_type +class MetricsSearchTimeRangeBeginBoundedTimeRangeTo(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "epochTimeRange": + suggest = "epoch_time_range" + elif key == "iso8601TimeRange": + suggest = "iso8601_time_range" + elif key == "literalTimeRange": + suggest = "literal_time_range" + elif key == "relativeTimeRange": + suggest = "relative_time_range" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MetricsSearchTimeRangeBeginBoundedTimeRangeTo. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MetricsSearchTimeRangeBeginBoundedTimeRangeTo.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MetricsSearchTimeRangeBeginBoundedTimeRangeTo.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + epoch_time_range: Optional['outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange'] = None, + iso8601_time_range: Optional['outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange'] = None, + literal_time_range: Optional['outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange'] = None, + relative_time_range: Optional['outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange'] = None): + """ + :param 'MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRangeArgs' epoch_time_range: Time since the epoch. + :param 'MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRangeArgs' iso8601_time_range: Time in ISO 8601 format. + :param 'MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRangeArgs' literal_time_range: Time in literal format. + :param 'MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRangeArgs' relative_time_range: Time in relative format. + """ + if epoch_time_range is not None: + pulumi.set(__self__, "epoch_time_range", epoch_time_range) + if iso8601_time_range is not None: + pulumi.set(__self__, "iso8601_time_range", iso8601_time_range) + if literal_time_range is not None: + pulumi.set(__self__, "literal_time_range", literal_time_range) + if relative_time_range is not None: + pulumi.set(__self__, "relative_time_range", relative_time_range) + + @property + @pulumi.getter(name="epochTimeRange") + def epoch_time_range(self) -> Optional['outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange']: + """ + Time since the epoch. + """ + return pulumi.get(self, "epoch_time_range") + + @property + @pulumi.getter(name="iso8601TimeRange") + def iso8601_time_range(self) -> Optional['outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange']: + """ + Time in ISO 8601 format. + """ + return pulumi.get(self, "iso8601_time_range") + + @property + @pulumi.getter(name="literalTimeRange") + def literal_time_range(self) -> Optional['outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange']: + """ + Time in literal format. + """ + return pulumi.get(self, "literal_time_range") + + @property + @pulumi.getter(name="relativeTimeRange") + def relative_time_range(self) -> Optional['outputs.MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange']: + """ + Time in relative format. + """ + return pulumi.get(self, "relative_time_range") + + +@pulumi.output_type +class MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "epochMillis": + suggest = "epoch_millis" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MetricsSearchTimeRangeBeginBoundedTimeRangeToEpochTimeRange.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + epoch_millis: int): + """ + :param int epoch_millis: Time as a number of milliseconds since the epoch. + """ + pulumi.set(__self__, "epoch_millis", epoch_millis) + + @property + @pulumi.getter(name="epochMillis") + def epoch_millis(self) -> int: + """ + Time as a number of milliseconds since the epoch. + """ + return pulumi.get(self, "epoch_millis") + + +@pulumi.output_type +class MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "iso8601Time": + suggest = "iso8601_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MetricsSearchTimeRangeBeginBoundedTimeRangeToIso8601TimeRange.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + iso8601_time: str): + """ + :param str iso8601_time: Time as a string in ISO 8601 format. + """ + pulumi.set(__self__, "iso8601_time", iso8601_time) + + @property + @pulumi.getter(name="iso8601Time") + def iso8601_time(self) -> str: + """ + Time as a string in ISO 8601 format. + """ + return pulumi.get(self, "iso8601_time") + + +@pulumi.output_type +class MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "rangeName": + suggest = "range_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MetricsSearchTimeRangeBeginBoundedTimeRangeToLiteralTimeRange.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + range_name: str): + """ + :param str range_name: Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + `previous_month`. + """ + pulumi.set(__self__, "range_name", range_name) + + @property + @pulumi.getter(name="rangeName") + def range_name(self) -> str: + """ + Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + `previous_month`. + """ + return pulumi.get(self, "range_name") + + +@pulumi.output_type +class MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "relativeTime": + suggest = "relative_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MetricsSearchTimeRangeBeginBoundedTimeRangeToRelativeTimeRange.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + relative_time: str): + """ + :param str relative_time: Relative time as a string consisting of following elements: + 1. `-` (optional): minus sign indicates time in the past, + 2. ``: number of time units, + 3. ``: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + + Multiple pairs of `` may be provided, and they may be in any order. For example, + `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + """ + pulumi.set(__self__, "relative_time", relative_time) + + @property + @pulumi.getter(name="relativeTime") + def relative_time(self) -> str: + """ + Relative time as a string consisting of following elements: + 1. `-` (optional): minus sign indicates time in the past, + 2. ``: number of time units, + 3. ``: time unit; possible values are: `w` (week), `d` (day), `h` (hour), `m` (minute), `s` (second). + + Multiple pairs of `` may be provided, and they may be in any order. For example, + `-2w5d3h` points to the moment in time 2 weeks, 5 days and 3 hours ago. + """ + return pulumi.get(self, "relative_time") + + +@pulumi.output_type +class MetricsSearchTimeRangeCompleteLiteralTimeRange(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "rangeName": + suggest = "range_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MetricsSearchTimeRangeCompleteLiteralTimeRange. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MetricsSearchTimeRangeCompleteLiteralTimeRange.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MetricsSearchTimeRangeCompleteLiteralTimeRange.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + range_name: str): + """ + :param str range_name: Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + `previous_month`. + """ + pulumi.set(__self__, "range_name", range_name) + + @property + @pulumi.getter(name="rangeName") + def range_name(self) -> str: + """ + Name of complete literal time range. One of `today`, `yesterday`, `previous_week`, and + `previous_month`. + """ + return pulumi.get(self, "range_name") + + +@pulumi.output_type +class MonitorFolderObjPermission(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "subjectId": + suggest = "subject_id" + elif key == "subjectType": + suggest = "subject_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MonitorFolderObjPermission. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MonitorFolderObjPermission.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MonitorFolderObjPermission.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + permissions: Sequence[str], + subject_id: str, + subject_type: str): + """ + :param Sequence[str] permissions: A Set of Permissions. Valid Permission Values: + :param str subject_id: A Role ID or the Org ID of the account + :param str subject_type: Valid values: + """ + pulumi.set(__self__, "permissions", permissions) + pulumi.set(__self__, "subject_id", subject_id) + pulumi.set(__self__, "subject_type", subject_type) + + @property + @pulumi.getter + def permissions(self) -> Sequence[str]: + """ + A Set of Permissions. Valid Permission Values: + """ + return pulumi.get(self, "permissions") + + @property + @pulumi.getter(name="subjectId") + def subject_id(self) -> str: + """ + A Role ID or the Org ID of the account + """ + return pulumi.get(self, "subject_id") + + @property + @pulumi.getter(name="subjectType") + def subject_type(self) -> str: + """ + Valid values: + """ + return pulumi.get(self, "subject_type") + + +@pulumi.output_type +class MonitorNotification(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "runForTriggerTypes": + suggest = "run_for_trigger_types" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MonitorNotification. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MonitorNotification.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MonitorNotification.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + notification: 'outputs.MonitorNotificationNotification', + run_for_trigger_types: Sequence[str]): + pulumi.set(__self__, "notification", notification) + pulumi.set(__self__, "run_for_trigger_types", run_for_trigger_types) + + @property + @pulumi.getter + def notification(self) -> 'outputs.MonitorNotificationNotification': + return pulumi.get(self, "notification") + + @property + @pulumi.getter(name="runForTriggerTypes") + def run_for_trigger_types(self) -> Sequence[str]: + return pulumi.get(self, "run_for_trigger_types") + + +@pulumi.output_type +class MonitorNotificationNotification(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "actionType": + suggest = "action_type" + elif key == "connectionId": + suggest = "connection_id" + elif key == "connectionType": + suggest = "connection_type" + elif key == "messageBody": + suggest = "message_body" + elif key == "payloadOverride": + suggest = "payload_override" + elif key == "resolutionPayloadOverride": + suggest = "resolution_payload_override" + elif key == "timeZone": + suggest = "time_zone" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MonitorNotificationNotification. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MonitorNotificationNotification.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MonitorNotificationNotification.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + action_type: Optional[str] = None, + connection_id: Optional[str] = None, + connection_type: Optional[str] = None, + message_body: Optional[str] = None, + payload_override: Optional[str] = None, + recipients: Optional[Sequence[str]] = None, + resolution_payload_override: Optional[str] = None, + subject: Optional[str] = None, + time_zone: Optional[str] = None): + if action_type is not None: + pulumi.set(__self__, "action_type", action_type) + if connection_id is not None: + pulumi.set(__self__, "connection_id", connection_id) + if connection_type is not None: + pulumi.set(__self__, "connection_type", connection_type) + if message_body is not None: + pulumi.set(__self__, "message_body", message_body) + if payload_override is not None: + pulumi.set(__self__, "payload_override", payload_override) + if recipients is not None: + pulumi.set(__self__, "recipients", recipients) + if resolution_payload_override is not None: + pulumi.set(__self__, "resolution_payload_override", resolution_payload_override) + if subject is not None: + pulumi.set(__self__, "subject", subject) + if time_zone is not None: + pulumi.set(__self__, "time_zone", time_zone) + + @property + @pulumi.getter(name="actionType") + def action_type(self) -> Optional[str]: + warnings.warn("""The field `action_type` is deprecated and will be removed in a future release of the provider - please use `connection_type` instead.""", DeprecationWarning) + pulumi.log.warn("""action_type is deprecated: The field `action_type` is deprecated and will be removed in a future release of the provider - please use `connection_type` instead.""") + + return pulumi.get(self, "action_type") + + @property + @pulumi.getter(name="connectionId") + def connection_id(self) -> Optional[str]: + return pulumi.get(self, "connection_id") + + @property + @pulumi.getter(name="connectionType") + def connection_type(self) -> Optional[str]: + return pulumi.get(self, "connection_type") + + @property + @pulumi.getter(name="messageBody") + def message_body(self) -> Optional[str]: + return pulumi.get(self, "message_body") + + @property + @pulumi.getter(name="payloadOverride") + def payload_override(self) -> Optional[str]: + return pulumi.get(self, "payload_override") + + @property + @pulumi.getter + def recipients(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "recipients") + + @property + @pulumi.getter(name="resolutionPayloadOverride") + def resolution_payload_override(self) -> Optional[str]: + return pulumi.get(self, "resolution_payload_override") + + @property + @pulumi.getter + def subject(self) -> Optional[str]: + return pulumi.get(self, "subject") + + @property + @pulumi.getter(name="timeZone") + def time_zone(self) -> Optional[str]: + return pulumi.get(self, "time_zone") + + +@pulumi.output_type +class MonitorObjPermission(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "subjectId": + suggest = "subject_id" + elif key == "subjectType": + suggest = "subject_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MonitorObjPermission. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MonitorObjPermission.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MonitorObjPermission.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + permissions: Sequence[str], + subject_id: str, + subject_type: str): + """ + :param Sequence[str] permissions: A Set of Permissions. Valid Permission Values: + :param str subject_id: A Role ID or the Org ID of the account + :param str subject_type: Valid values: + """ + pulumi.set(__self__, "permissions", permissions) + pulumi.set(__self__, "subject_id", subject_id) + pulumi.set(__self__, "subject_type", subject_type) + + @property + @pulumi.getter + def permissions(self) -> Sequence[str]: + """ + A Set of Permissions. Valid Permission Values: + """ + return pulumi.get(self, "permissions") + + @property + @pulumi.getter(name="subjectId") + def subject_id(self) -> str: + """ + A Role ID or the Org ID of the account + """ + return pulumi.get(self, "subject_id") + + @property + @pulumi.getter(name="subjectType") + def subject_type(self) -> str: + """ + Valid values: + """ + return pulumi.get(self, "subject_type") + + +@pulumi.output_type +class MonitorQuery(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "rowId": + suggest = "row_id" if suggest: pulumi.log.warn(f"Key '{key}' not found in MonitorQuery. Access the value via the '{suggest}' property getter instead.") @@ -30306,6 +30998,210 @@ def type(self) -> Optional[str]: return pulumi.get(self, "type") +@pulumi.output_type +class RumSourceDefaultDateFormat(dict): + def __init__(__self__, *, + format: str, + locator: Optional[str] = None): + pulumi.set(__self__, "format", format) + if locator is not None: + pulumi.set(__self__, "locator", locator) + + @property + @pulumi.getter + def format(self) -> str: + return pulumi.get(self, "format") + + @property + @pulumi.getter + def locator(self) -> Optional[str]: + return pulumi.get(self, "locator") + + +@pulumi.output_type +class RumSourceFilter(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "filterType": + suggest = "filter_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RumSourceFilter. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RumSourceFilter.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RumSourceFilter.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + filter_type: str, + name: str, + regexp: str, + mask: Optional[str] = None): + pulumi.set(__self__, "filter_type", filter_type) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "regexp", regexp) + if mask is not None: + pulumi.set(__self__, "mask", mask) + + @property + @pulumi.getter(name="filterType") + def filter_type(self) -> str: + return pulumi.get(self, "filter_type") + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + @property + @pulumi.getter + def regexp(self) -> str: + return pulumi.get(self, "regexp") + + @property + @pulumi.getter + def mask(self) -> Optional[str]: + return pulumi.get(self, "mask") + + +@pulumi.output_type +class RumSourcePath(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "serviceName": + suggest = "service_name" + elif key == "applicationName": + suggest = "application_name" + elif key == "customTags": + suggest = "custom_tags" + elif key == "deploymentEnvironment": + suggest = "deployment_environment" + elif key == "ignoreUrls": + suggest = "ignore_urls" + elif key == "propagateTraceHeaderCorsUrls": + suggest = "propagate_trace_header_cors_urls" + elif key == "samplingRate": + suggest = "sampling_rate" + elif key == "selectedCountry": + suggest = "selected_country" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RumSourcePath. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RumSourcePath.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RumSourcePath.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + service_name: str, + application_name: Optional[str] = None, + custom_tags: Optional[Mapping[str, str]] = None, + deployment_environment: Optional[str] = None, + ignore_urls: Optional[Sequence[str]] = None, + propagate_trace_header_cors_urls: Optional[Sequence[str]] = None, + sampling_rate: Optional[float] = None, + selected_country: Optional[str] = None): + """ + :param str service_name: Add a Service Name of a text string to show for the service name in spans (for example, "bookings-web-app"). + :param str application_name: (Recommended) Add an Application Name tag of a text string to show for the app name in spans (for example, bookings-app). This groups services in the Application Service View. If left blank, services will belong to a "default" application. + :param Mapping[str, str] custom_tags: Defines custom tags attached to the spans. For example: "internal.version = 0.1.21" + :param str deployment_environment: Your production, staging, or development environment name. + :param Sequence[str] ignore_urls: Add a list of URLs not to collect trace data from. Supports regex. Make sure provided URLs are valid JavaScript flavor regexes. For example: "/^https:\\/\\/www.tracker.com\\/.*/, /^https:\\/\\/api.mydomain.com\\/log\\/.*/" + :param Sequence[str] propagate_trace_header_cors_urls: (Recommended) Add a list of URLs or URL patterns that pass tracing context to construct traces end-to-end. Provided URLs should be valid JavaScript flavor regexes. Some examples are "/^https:\\/\\/api.mydomain.com\\/apiv3\\/.*/" and "/^https:\\/\\/www.3rdparty.com\\/.*/". + :param float sampling_rate: Add a Probabilistic sampling rate for heavy traffic sites in a decimal value based on percentage, for example, 10% would be entered as 0.1. Supports floating values between 0.0 and 1.0, defaults to 1.0 (all data is passed). + :param str selected_country: Specify if you want to enrich spans with the details level up to the city - if left blank, enrichment works down to the state level. + """ + pulumi.set(__self__, "service_name", service_name) + if application_name is not None: + pulumi.set(__self__, "application_name", application_name) + if custom_tags is not None: + pulumi.set(__self__, "custom_tags", custom_tags) + if deployment_environment is not None: + pulumi.set(__self__, "deployment_environment", deployment_environment) + if ignore_urls is not None: + pulumi.set(__self__, "ignore_urls", ignore_urls) + if propagate_trace_header_cors_urls is not None: + pulumi.set(__self__, "propagate_trace_header_cors_urls", propagate_trace_header_cors_urls) + if sampling_rate is not None: + pulumi.set(__self__, "sampling_rate", sampling_rate) + if selected_country is not None: + pulumi.set(__self__, "selected_country", selected_country) + + @property + @pulumi.getter(name="serviceName") + def service_name(self) -> str: + """ + Add a Service Name of a text string to show for the service name in spans (for example, "bookings-web-app"). + """ + return pulumi.get(self, "service_name") + + @property + @pulumi.getter(name="applicationName") + def application_name(self) -> Optional[str]: + """ + (Recommended) Add an Application Name tag of a text string to show for the app name in spans (for example, bookings-app). This groups services in the Application Service View. If left blank, services will belong to a "default" application. + """ + return pulumi.get(self, "application_name") + + @property + @pulumi.getter(name="customTags") + def custom_tags(self) -> Optional[Mapping[str, str]]: + """ + Defines custom tags attached to the spans. For example: "internal.version = 0.1.21" + """ + return pulumi.get(self, "custom_tags") + + @property + @pulumi.getter(name="deploymentEnvironment") + def deployment_environment(self) -> Optional[str]: + """ + Your production, staging, or development environment name. + """ + return pulumi.get(self, "deployment_environment") + + @property + @pulumi.getter(name="ignoreUrls") + def ignore_urls(self) -> Optional[Sequence[str]]: + """ + Add a list of URLs not to collect trace data from. Supports regex. Make sure provided URLs are valid JavaScript flavor regexes. For example: "/^https:\\/\\/www.tracker.com\\/.*/, /^https:\\/\\/api.mydomain.com\\/log\\/.*/" + """ + return pulumi.get(self, "ignore_urls") + + @property + @pulumi.getter(name="propagateTraceHeaderCorsUrls") + def propagate_trace_header_cors_urls(self) -> Optional[Sequence[str]]: + """ + (Recommended) Add a list of URLs or URL patterns that pass tracing context to construct traces end-to-end. Provided URLs should be valid JavaScript flavor regexes. Some examples are "/^https:\\/\\/api.mydomain.com\\/apiv3\\/.*/" and "/^https:\\/\\/www.3rdparty.com\\/.*/". + """ + return pulumi.get(self, "propagate_trace_header_cors_urls") + + @property + @pulumi.getter(name="samplingRate") + def sampling_rate(self) -> Optional[float]: + """ + Add a Probabilistic sampling rate for heavy traffic sites in a decimal value based on percentage, for example, 10% would be entered as 0.1. Supports floating values between 0.0 and 1.0, defaults to 1.0 (all data is passed). + """ + return pulumi.get(self, "sampling_rate") + + @property + @pulumi.getter(name="selectedCountry") + def selected_country(self) -> Optional[str]: + """ + Specify if you want to enrich spans with the details level up to the city - if left blank, enrichment works down to the state level. + """ + return pulumi.get(self, "selected_country") + + @pulumi.output_type class S3ArchiveSourceAuthentication(dict): @staticmethod diff --git a/sdk/python/pulumi_sumologic/rum_source.py b/sdk/python/pulumi_sumologic/rum_source.py new file mode 100644 index 00000000..b59c4df8 --- /dev/null +++ b/sdk/python/pulumi_sumologic/rum_source.py @@ -0,0 +1,741 @@ +# 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 pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['RumSourceArgs', 'RumSource'] + +@pulumi.input_type +class RumSourceArgs: + def __init__(__self__, *, + collector_id: pulumi.Input[int], + automatic_date_parsing: Optional[pulumi.Input[bool]] = None, + category: Optional[pulumi.Input[str]] = None, + content_type: Optional[pulumi.Input[str]] = None, + cutoff_relative_time: Optional[pulumi.Input[str]] = None, + cutoff_timestamp: Optional[pulumi.Input[int]] = None, + default_date_formats: Optional[pulumi.Input[Sequence[pulumi.Input['RumSourceDefaultDateFormatArgs']]]] = None, + description: Optional[pulumi.Input[str]] = None, + fields: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + filters: Optional[pulumi.Input[Sequence[pulumi.Input['RumSourceFilterArgs']]]] = None, + force_timezone: Optional[pulumi.Input[bool]] = None, + host_name: Optional[pulumi.Input[str]] = None, + manual_prefix_regexp: Optional[pulumi.Input[str]] = None, + multiline_processing_enabled: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + path: Optional[pulumi.Input['RumSourcePathArgs']] = None, + timezone: Optional[pulumi.Input[str]] = None, + use_autoline_matching: Optional[pulumi.Input[bool]] = None): + """ + The set of arguments for constructing a RumSource resource. + """ + pulumi.set(__self__, "collector_id", collector_id) + if automatic_date_parsing is not None: + pulumi.set(__self__, "automatic_date_parsing", automatic_date_parsing) + if category is not None: + pulumi.set(__self__, "category", category) + if content_type is not None: + pulumi.set(__self__, "content_type", content_type) + if cutoff_relative_time is not None: + pulumi.set(__self__, "cutoff_relative_time", cutoff_relative_time) + if cutoff_timestamp is not None: + pulumi.set(__self__, "cutoff_timestamp", cutoff_timestamp) + if default_date_formats is not None: + pulumi.set(__self__, "default_date_formats", default_date_formats) + if description is not None: + pulumi.set(__self__, "description", description) + if fields is not None: + pulumi.set(__self__, "fields", fields) + if filters is not None: + pulumi.set(__self__, "filters", filters) + if force_timezone is not None: + pulumi.set(__self__, "force_timezone", force_timezone) + if host_name is not None: + pulumi.set(__self__, "host_name", host_name) + if manual_prefix_regexp is not None: + pulumi.set(__self__, "manual_prefix_regexp", manual_prefix_regexp) + if multiline_processing_enabled is not None: + pulumi.set(__self__, "multiline_processing_enabled", multiline_processing_enabled) + if name is not None: + pulumi.set(__self__, "name", name) + if path is not None: + pulumi.set(__self__, "path", path) + if timezone is not None: + pulumi.set(__self__, "timezone", timezone) + if use_autoline_matching is not None: + pulumi.set(__self__, "use_autoline_matching", use_autoline_matching) + + @property + @pulumi.getter(name="collectorId") + def collector_id(self) -> pulumi.Input[int]: + return pulumi.get(self, "collector_id") + + @collector_id.setter + def collector_id(self, value: pulumi.Input[int]): + pulumi.set(self, "collector_id", value) + + @property + @pulumi.getter(name="automaticDateParsing") + def automatic_date_parsing(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "automatic_date_parsing") + + @automatic_date_parsing.setter + def automatic_date_parsing(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "automatic_date_parsing", value) + + @property + @pulumi.getter + def category(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "category") + + @category.setter + def category(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "category", value) + + @property + @pulumi.getter(name="contentType") + def content_type(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "content_type") + + @content_type.setter + def content_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "content_type", value) + + @property + @pulumi.getter(name="cutoffRelativeTime") + def cutoff_relative_time(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "cutoff_relative_time") + + @cutoff_relative_time.setter + def cutoff_relative_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cutoff_relative_time", value) + + @property + @pulumi.getter(name="cutoffTimestamp") + def cutoff_timestamp(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "cutoff_timestamp") + + @cutoff_timestamp.setter + def cutoff_timestamp(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "cutoff_timestamp", value) + + @property + @pulumi.getter(name="defaultDateFormats") + def default_date_formats(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RumSourceDefaultDateFormatArgs']]]]: + return pulumi.get(self, "default_date_formats") + + @default_date_formats.setter + def default_date_formats(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RumSourceDefaultDateFormatArgs']]]]): + pulumi.set(self, "default_date_formats", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def fields(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "fields") + + @fields.setter + def fields(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "fields", value) + + @property + @pulumi.getter + def filters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RumSourceFilterArgs']]]]: + return pulumi.get(self, "filters") + + @filters.setter + def filters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RumSourceFilterArgs']]]]): + pulumi.set(self, "filters", value) + + @property + @pulumi.getter(name="forceTimezone") + def force_timezone(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "force_timezone") + + @force_timezone.setter + def force_timezone(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "force_timezone", value) + + @property + @pulumi.getter(name="hostName") + def host_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "host_name") + + @host_name.setter + def host_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "host_name", value) + + @property + @pulumi.getter(name="manualPrefixRegexp") + def manual_prefix_regexp(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "manual_prefix_regexp") + + @manual_prefix_regexp.setter + def manual_prefix_regexp(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "manual_prefix_regexp", value) + + @property + @pulumi.getter(name="multilineProcessingEnabled") + def multiline_processing_enabled(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "multiline_processing_enabled") + + @multiline_processing_enabled.setter + def multiline_processing_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "multiline_processing_enabled", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def path(self) -> Optional[pulumi.Input['RumSourcePathArgs']]: + return pulumi.get(self, "path") + + @path.setter + def path(self, value: Optional[pulumi.Input['RumSourcePathArgs']]): + pulumi.set(self, "path", value) + + @property + @pulumi.getter + def timezone(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "timezone") + + @timezone.setter + def timezone(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "timezone", value) + + @property + @pulumi.getter(name="useAutolineMatching") + def use_autoline_matching(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "use_autoline_matching") + + @use_autoline_matching.setter + def use_autoline_matching(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "use_autoline_matching", value) + + +@pulumi.input_type +class _RumSourceState: + def __init__(__self__, *, + automatic_date_parsing: Optional[pulumi.Input[bool]] = None, + category: Optional[pulumi.Input[str]] = None, + collector_id: Optional[pulumi.Input[int]] = None, + content_type: Optional[pulumi.Input[str]] = None, + cutoff_relative_time: Optional[pulumi.Input[str]] = None, + cutoff_timestamp: Optional[pulumi.Input[int]] = None, + default_date_formats: Optional[pulumi.Input[Sequence[pulumi.Input['RumSourceDefaultDateFormatArgs']]]] = None, + description: Optional[pulumi.Input[str]] = None, + fields: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + filters: Optional[pulumi.Input[Sequence[pulumi.Input['RumSourceFilterArgs']]]] = None, + force_timezone: Optional[pulumi.Input[bool]] = None, + host_name: Optional[pulumi.Input[str]] = None, + manual_prefix_regexp: Optional[pulumi.Input[str]] = None, + multiline_processing_enabled: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + path: Optional[pulumi.Input['RumSourcePathArgs']] = None, + timezone: Optional[pulumi.Input[str]] = None, + use_autoline_matching: Optional[pulumi.Input[bool]] = None): + """ + Input properties used for looking up and filtering RumSource resources. + """ + if automatic_date_parsing is not None: + pulumi.set(__self__, "automatic_date_parsing", automatic_date_parsing) + if category is not None: + pulumi.set(__self__, "category", category) + if collector_id is not None: + pulumi.set(__self__, "collector_id", collector_id) + if content_type is not None: + pulumi.set(__self__, "content_type", content_type) + if cutoff_relative_time is not None: + pulumi.set(__self__, "cutoff_relative_time", cutoff_relative_time) + if cutoff_timestamp is not None: + pulumi.set(__self__, "cutoff_timestamp", cutoff_timestamp) + if default_date_formats is not None: + pulumi.set(__self__, "default_date_formats", default_date_formats) + if description is not None: + pulumi.set(__self__, "description", description) + if fields is not None: + pulumi.set(__self__, "fields", fields) + if filters is not None: + pulumi.set(__self__, "filters", filters) + if force_timezone is not None: + pulumi.set(__self__, "force_timezone", force_timezone) + if host_name is not None: + pulumi.set(__self__, "host_name", host_name) + if manual_prefix_regexp is not None: + pulumi.set(__self__, "manual_prefix_regexp", manual_prefix_regexp) + if multiline_processing_enabled is not None: + pulumi.set(__self__, "multiline_processing_enabled", multiline_processing_enabled) + if name is not None: + pulumi.set(__self__, "name", name) + if path is not None: + pulumi.set(__self__, "path", path) + if timezone is not None: + pulumi.set(__self__, "timezone", timezone) + if use_autoline_matching is not None: + pulumi.set(__self__, "use_autoline_matching", use_autoline_matching) + + @property + @pulumi.getter(name="automaticDateParsing") + def automatic_date_parsing(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "automatic_date_parsing") + + @automatic_date_parsing.setter + def automatic_date_parsing(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "automatic_date_parsing", value) + + @property + @pulumi.getter + def category(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "category") + + @category.setter + def category(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "category", value) + + @property + @pulumi.getter(name="collectorId") + def collector_id(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "collector_id") + + @collector_id.setter + def collector_id(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "collector_id", value) + + @property + @pulumi.getter(name="contentType") + def content_type(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "content_type") + + @content_type.setter + def content_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "content_type", value) + + @property + @pulumi.getter(name="cutoffRelativeTime") + def cutoff_relative_time(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "cutoff_relative_time") + + @cutoff_relative_time.setter + def cutoff_relative_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cutoff_relative_time", value) + + @property + @pulumi.getter(name="cutoffTimestamp") + def cutoff_timestamp(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "cutoff_timestamp") + + @cutoff_timestamp.setter + def cutoff_timestamp(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "cutoff_timestamp", value) + + @property + @pulumi.getter(name="defaultDateFormats") + def default_date_formats(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RumSourceDefaultDateFormatArgs']]]]: + return pulumi.get(self, "default_date_formats") + + @default_date_formats.setter + def default_date_formats(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RumSourceDefaultDateFormatArgs']]]]): + pulumi.set(self, "default_date_formats", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def fields(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "fields") + + @fields.setter + def fields(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "fields", value) + + @property + @pulumi.getter + def filters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RumSourceFilterArgs']]]]: + return pulumi.get(self, "filters") + + @filters.setter + def filters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RumSourceFilterArgs']]]]): + pulumi.set(self, "filters", value) + + @property + @pulumi.getter(name="forceTimezone") + def force_timezone(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "force_timezone") + + @force_timezone.setter + def force_timezone(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "force_timezone", value) + + @property + @pulumi.getter(name="hostName") + def host_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "host_name") + + @host_name.setter + def host_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "host_name", value) + + @property + @pulumi.getter(name="manualPrefixRegexp") + def manual_prefix_regexp(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "manual_prefix_regexp") + + @manual_prefix_regexp.setter + def manual_prefix_regexp(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "manual_prefix_regexp", value) + + @property + @pulumi.getter(name="multilineProcessingEnabled") + def multiline_processing_enabled(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "multiline_processing_enabled") + + @multiline_processing_enabled.setter + def multiline_processing_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "multiline_processing_enabled", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def path(self) -> Optional[pulumi.Input['RumSourcePathArgs']]: + return pulumi.get(self, "path") + + @path.setter + def path(self, value: Optional[pulumi.Input['RumSourcePathArgs']]): + pulumi.set(self, "path", value) + + @property + @pulumi.getter + def timezone(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "timezone") + + @timezone.setter + def timezone(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "timezone", value) + + @property + @pulumi.getter(name="useAutolineMatching") + def use_autoline_matching(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "use_autoline_matching") + + @use_autoline_matching.setter + def use_autoline_matching(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "use_autoline_matching", value) + + +class RumSource(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + automatic_date_parsing: Optional[pulumi.Input[bool]] = None, + category: Optional[pulumi.Input[str]] = None, + collector_id: Optional[pulumi.Input[int]] = None, + content_type: Optional[pulumi.Input[str]] = None, + cutoff_relative_time: Optional[pulumi.Input[str]] = None, + cutoff_timestamp: Optional[pulumi.Input[int]] = None, + default_date_formats: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RumSourceDefaultDateFormatArgs']]]]] = None, + description: Optional[pulumi.Input[str]] = None, + fields: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + filters: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RumSourceFilterArgs']]]]] = None, + force_timezone: Optional[pulumi.Input[bool]] = None, + host_name: Optional[pulumi.Input[str]] = None, + manual_prefix_regexp: Optional[pulumi.Input[str]] = None, + multiline_processing_enabled: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + path: Optional[pulumi.Input[pulumi.InputType['RumSourcePathArgs']]] = None, + timezone: Optional[pulumi.Input[str]] = None, + use_autoline_matching: Optional[pulumi.Input[bool]] = None, + __props__=None): + """ + Provides a Sumologic Rum Source. + + ## Import + + Rum sources can be imported using the collector and source IDs, e.g.hcl + + ```sh + $ pulumi import sumologic:index/rumSource:RumSource test 123/456 + ``` + + Rum sources can also be imported using the collector name and source name, e.g.hcl + + ```sh + $ pulumi import sumologic:index/rumSource:RumSource test my-test-collector/my-test-source + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: RumSourceArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a Sumologic Rum Source. + + ## Import + + Rum sources can be imported using the collector and source IDs, e.g.hcl + + ```sh + $ pulumi import sumologic:index/rumSource:RumSource test 123/456 + ``` + + Rum sources can also be imported using the collector name and source name, e.g.hcl + + ```sh + $ pulumi import sumologic:index/rumSource:RumSource test my-test-collector/my-test-source + ``` + + :param str resource_name: The name of the resource. + :param RumSourceArgs 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(RumSourceArgs, 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, + automatic_date_parsing: Optional[pulumi.Input[bool]] = None, + category: Optional[pulumi.Input[str]] = None, + collector_id: Optional[pulumi.Input[int]] = None, + content_type: Optional[pulumi.Input[str]] = None, + cutoff_relative_time: Optional[pulumi.Input[str]] = None, + cutoff_timestamp: Optional[pulumi.Input[int]] = None, + default_date_formats: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RumSourceDefaultDateFormatArgs']]]]] = None, + description: Optional[pulumi.Input[str]] = None, + fields: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + filters: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RumSourceFilterArgs']]]]] = None, + force_timezone: Optional[pulumi.Input[bool]] = None, + host_name: Optional[pulumi.Input[str]] = None, + manual_prefix_regexp: Optional[pulumi.Input[str]] = None, + multiline_processing_enabled: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + path: Optional[pulumi.Input[pulumi.InputType['RumSourcePathArgs']]] = None, + timezone: Optional[pulumi.Input[str]] = None, + use_autoline_matching: Optional[pulumi.Input[bool]] = 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__ = RumSourceArgs.__new__(RumSourceArgs) + + __props__.__dict__["automatic_date_parsing"] = automatic_date_parsing + __props__.__dict__["category"] = category + if collector_id is None and not opts.urn: + raise TypeError("Missing required property 'collector_id'") + __props__.__dict__["collector_id"] = collector_id + __props__.__dict__["content_type"] = content_type + __props__.__dict__["cutoff_relative_time"] = cutoff_relative_time + __props__.__dict__["cutoff_timestamp"] = cutoff_timestamp + __props__.__dict__["default_date_formats"] = default_date_formats + __props__.__dict__["description"] = description + __props__.__dict__["fields"] = fields + __props__.__dict__["filters"] = filters + __props__.__dict__["force_timezone"] = force_timezone + __props__.__dict__["host_name"] = host_name + __props__.__dict__["manual_prefix_regexp"] = manual_prefix_regexp + __props__.__dict__["multiline_processing_enabled"] = multiline_processing_enabled + __props__.__dict__["name"] = name + __props__.__dict__["path"] = path + __props__.__dict__["timezone"] = timezone + __props__.__dict__["use_autoline_matching"] = use_autoline_matching + super(RumSource, __self__).__init__( + 'sumologic:index/rumSource:RumSource', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + automatic_date_parsing: Optional[pulumi.Input[bool]] = None, + category: Optional[pulumi.Input[str]] = None, + collector_id: Optional[pulumi.Input[int]] = None, + content_type: Optional[pulumi.Input[str]] = None, + cutoff_relative_time: Optional[pulumi.Input[str]] = None, + cutoff_timestamp: Optional[pulumi.Input[int]] = None, + default_date_formats: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RumSourceDefaultDateFormatArgs']]]]] = None, + description: Optional[pulumi.Input[str]] = None, + fields: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + filters: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RumSourceFilterArgs']]]]] = None, + force_timezone: Optional[pulumi.Input[bool]] = None, + host_name: Optional[pulumi.Input[str]] = None, + manual_prefix_regexp: Optional[pulumi.Input[str]] = None, + multiline_processing_enabled: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + path: Optional[pulumi.Input[pulumi.InputType['RumSourcePathArgs']]] = None, + timezone: Optional[pulumi.Input[str]] = None, + use_autoline_matching: Optional[pulumi.Input[bool]] = None) -> 'RumSource': + """ + Get an existing RumSource 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. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _RumSourceState.__new__(_RumSourceState) + + __props__.__dict__["automatic_date_parsing"] = automatic_date_parsing + __props__.__dict__["category"] = category + __props__.__dict__["collector_id"] = collector_id + __props__.__dict__["content_type"] = content_type + __props__.__dict__["cutoff_relative_time"] = cutoff_relative_time + __props__.__dict__["cutoff_timestamp"] = cutoff_timestamp + __props__.__dict__["default_date_formats"] = default_date_formats + __props__.__dict__["description"] = description + __props__.__dict__["fields"] = fields + __props__.__dict__["filters"] = filters + __props__.__dict__["force_timezone"] = force_timezone + __props__.__dict__["host_name"] = host_name + __props__.__dict__["manual_prefix_regexp"] = manual_prefix_regexp + __props__.__dict__["multiline_processing_enabled"] = multiline_processing_enabled + __props__.__dict__["name"] = name + __props__.__dict__["path"] = path + __props__.__dict__["timezone"] = timezone + __props__.__dict__["use_autoline_matching"] = use_autoline_matching + return RumSource(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="automaticDateParsing") + def automatic_date_parsing(self) -> pulumi.Output[Optional[bool]]: + return pulumi.get(self, "automatic_date_parsing") + + @property + @pulumi.getter + def category(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "category") + + @property + @pulumi.getter(name="collectorId") + def collector_id(self) -> pulumi.Output[int]: + return pulumi.get(self, "collector_id") + + @property + @pulumi.getter(name="contentType") + def content_type(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "content_type") + + @property + @pulumi.getter(name="cutoffRelativeTime") + def cutoff_relative_time(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "cutoff_relative_time") + + @property + @pulumi.getter(name="cutoffTimestamp") + def cutoff_timestamp(self) -> pulumi.Output[Optional[int]]: + return pulumi.get(self, "cutoff_timestamp") + + @property + @pulumi.getter(name="defaultDateFormats") + def default_date_formats(self) -> pulumi.Output[Optional[Sequence['outputs.RumSourceDefaultDateFormat']]]: + return pulumi.get(self, "default_date_formats") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "description") + + @property + @pulumi.getter + def fields(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + return pulumi.get(self, "fields") + + @property + @pulumi.getter + def filters(self) -> pulumi.Output[Optional[Sequence['outputs.RumSourceFilter']]]: + return pulumi.get(self, "filters") + + @property + @pulumi.getter(name="forceTimezone") + def force_timezone(self) -> pulumi.Output[Optional[bool]]: + return pulumi.get(self, "force_timezone") + + @property + @pulumi.getter(name="hostName") + def host_name(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "host_name") + + @property + @pulumi.getter(name="manualPrefixRegexp") + def manual_prefix_regexp(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "manual_prefix_regexp") + + @property + @pulumi.getter(name="multilineProcessingEnabled") + def multiline_processing_enabled(self) -> pulumi.Output[Optional[bool]]: + return pulumi.get(self, "multiline_processing_enabled") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + return pulumi.get(self, "name") + + @property + @pulumi.getter + def path(self) -> pulumi.Output[Optional['outputs.RumSourcePath']]: + return pulumi.get(self, "path") + + @property + @pulumi.getter + def timezone(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "timezone") + + @property + @pulumi.getter(name="useAutolineMatching") + def use_autoline_matching(self) -> pulumi.Output[Optional[bool]]: + return pulumi.get(self, "use_autoline_matching") + From 8dade3b07fe62794ce66334effc3ea75efab60b3 Mon Sep 17 00:00:00 2001 From: Alex Qiu Date: Tue, 8 Aug 2023 19:43:07 -0700 Subject: [PATCH 3/5] update apis --- provider/resources.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/provider/resources.go b/provider/resources.go index d528cad4..7742a119 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -23,7 +23,7 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/helper/schema" "github.com/pulumi/pulumi-sumologic/provider/pkg/version" "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge" - "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge/x" + tfbridgetokens "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge/tokens" shimv1 "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v1" "github.com/pulumi/pulumi/sdk/v3/go/common/tokens" "github.com/pulumi/pulumi/sdk/v3/go/common/util/contract" @@ -234,9 +234,8 @@ func Provider() tfbridge.ProviderInfo { }, } - err := x.ComputeDefaults(&prov, x.TokensSingleModule("sumologic_", - mainMod, x.MakeStandardToken(mainPkg))) - contract.AssertNoErrorf(err, "failed to compute defaults") + prov.MustComputeDefaults(tfbridgetokens.SingleModule("sumologic_", + mainMod, tfbridgetokens.MakeStandard(mainPkg))) prov.SetAutonaming(255, "-") From 90f8afa6f4098d562f989502259bd21c34d8aef7 Mon Sep 17 00:00:00 2001 From: Alex Qiu Date: Tue, 8 Aug 2023 19:55:10 -0700 Subject: [PATCH 4/5] fix --- provider/resources.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/provider/resources.go b/provider/resources.go index 7742a119..bdba07c6 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -26,7 +26,6 @@ import ( tfbridgetokens "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge/tokens" shimv1 "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v1" "github.com/pulumi/pulumi/sdk/v3/go/common/tokens" - "github.com/pulumi/pulumi/sdk/v3/go/common/util/contract" ) // all of the token components used below. @@ -234,7 +233,7 @@ func Provider() tfbridge.ProviderInfo { }, } - prov.MustComputeDefaults(tfbridgetokens.SingleModule("sumologic_", + prov.MustComputeTokens(tfbridgetokens.SingleModule("sumologic_", mainMod, tfbridgetokens.MakeStandard(mainPkg))) prov.SetAutonaming(255, "-") From ca0e93394493b0145990e19ea55fa3cb50c739a4 Mon Sep 17 00:00:00 2001 From: aq17 Date: Wed, 9 Aug 2023 12:26:51 -0700 Subject: [PATCH 5/5] add auto aliasing --- .../cmd/pulumi-resource-sumologic/bridge-metadata.json | 0 provider/resources.go | 9 +++++++++ 2 files changed, 9 insertions(+) create mode 100644 provider/cmd/pulumi-resource-sumologic/bridge-metadata.json diff --git a/provider/cmd/pulumi-resource-sumologic/bridge-metadata.json b/provider/cmd/pulumi-resource-sumologic/bridge-metadata.json new file mode 100644 index 00000000..e69de29b diff --git a/provider/resources.go b/provider/resources.go index bdba07c6..56b7bda8 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -19,6 +19,9 @@ import ( "path/filepath" "unicode" + // embed package blank import + _ "embed" + "github.com/SumoLogic/terraform-provider-sumologic/sumologic" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" "github.com/pulumi/pulumi-sumologic/provider/pkg/version" @@ -81,6 +84,8 @@ func Provider() tfbridge.ProviderInfo { Repository: "https://github.com/pulumi/pulumi-sumologic", GitHubOrg: "SumoLogic", UpstreamRepoPath: "./upstream", + Version: version.Version, + MetadataInfo: tfbridge.NewProviderMetadata(metadata), Config: map[string]*tfbridge.SchemaInfo{ "environment": { Default: &tfbridge.DefaultInfo{ @@ -235,6 +240,7 @@ func Provider() tfbridge.ProviderInfo { prov.MustComputeTokens(tfbridgetokens.SingleModule("sumologic_", mainMod, tfbridgetokens.MakeStandard(mainPkg))) + prov.MustApplyAutoAliases() prov.SetAutonaming(255, "-") @@ -246,3 +252,6 @@ func noUpstreamDocs() *tfbridge.DocInfo { Markdown: []byte(" "), } } + +//go:embed cmd/pulumi-resource-sumologic/bridge-metadata.json +var metadata []byte