import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../../types/input"; import * as outputs from "../../types/output"; /** * Submit a report request to be processed in the background. If the submission succeeds, the API returns a 200 status and an ID that refer to the report request. In addition to the HTTP status 200, the `state` of "enqueued" means that the request succeeded. * Auto-naming is currently not supported for this resource. * Note - this resource's API doesn't support deletion. When deleted, the resource will persist * on Google Cloud even though it will be deleted from Pulumi state. */ export declare class SecurityReport extends pulumi.CustomResource { /** * Get an existing SecurityReport 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 opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): SecurityReport; /** * Returns true if the given object is an instance of SecurityReport. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is SecurityReport; /** * Creation time of the query. */ readonly created: pulumi.Output; /** * Display Name specified by the user. */ readonly displayName: pulumi.Output; /** * Hostname is available only when query is executed at host level. */ readonly envgroupHostname: pulumi.Output; readonly environmentId: pulumi.Output; /** * Error is set when query fails. */ readonly error: pulumi.Output; /** * ExecutionTime is available only after the query is completed. */ readonly executionTime: pulumi.Output; readonly organizationId: pulumi.Output; /** * Contains information like metrics, dimenstions etc of the Security Report. */ readonly queryParams: pulumi.Output; /** * Report Definition ID. */ readonly reportDefinitionId: pulumi.Output; /** * Result is available only after the query is completed. */ readonly result: pulumi.Output; /** * ResultFileSize is available only after the query is completed. */ readonly resultFileSize: pulumi.Output; /** * ResultRows is available only after the query is completed. */ readonly resultRows: pulumi.Output; /** * Self link of the query. Example: `/organizations/myorg/environments/myenv/securityReports/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd` or following format if query is running at host level: `/organizations/myorg/hostSecurityReports/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd` */ readonly self: pulumi.Output; /** * Query state could be "enqueued", "running", "completed", "expired" and "failed". */ readonly state: pulumi.Output; /** * Last updated timestamp for the query. */ readonly updated: pulumi.Output; /** * Create a SecurityReport 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: SecurityReportArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a SecurityReport resource. */ export interface SecurityReportArgs { /** * Delimiter used in the CSV file, if `outputFormat` is set to `csv`. Defaults to the `,` (comma) character. Supported delimiter characters include comma (`,`), pipe (`|`), and tab (`\t`). */ csvDelimiter?: pulumi.Input; /** * A list of dimensions. https://docs.apigee.com/api-platform/analytics/analytics-reference#dimensions */ dimensions?: pulumi.Input[]>; /** * Security Report display name which users can specify. */ displayName?: pulumi.Input; /** * Hostname needs to be specified if query intends to run at host level. This field is only allowed when query is submitted by CreateHostSecurityReport where analytics data will be grouped by organization and hostname. */ envgroupHostname?: pulumi.Input; environmentId: pulumi.Input; /** * Boolean expression that can be used to filter data. Filter expressions can be combined using AND/OR terms and should be fully parenthesized to avoid ambiguity. See Analytics metrics, dimensions, and filters reference https://docs.apigee.com/api-platform/analytics/analytics-reference for more information on the fields available to filter on. For more information on the tokens that you use to build filter expressions, see Filter expression syntax. https://docs.apigee.com/api-platform/analytics/asynch-reports-api#filter-expression-syntax */ filter?: pulumi.Input; /** * Time unit used to group the result set. Valid values include: second, minute, hour, day, week, or month. If a query includes groupByTimeUnit, then the result is an aggregation based on the specified time unit and the resultant timestamp does not include milliseconds precision. If a query omits groupByTimeUnit, then the resultant timestamp includes milliseconds precision. */ groupByTimeUnit?: pulumi.Input; /** * Maximum number of rows that can be returned in the result. */ limit?: pulumi.Input; /** * A list of Metrics. */ metrics?: pulumi.Input[]>; /** * Valid values include: `csv` or `json`. Defaults to `json`. Note: Configure the delimiter for CSV output using the csvDelimiter property. */ mimeType?: pulumi.Input; organizationId: pulumi.Input; /** * Report Definition ID. */ reportDefinitionId?: pulumi.Input; /** * Time range for the query. Can use the following predefined strings to specify the time range: `last60minutes` `last24hours` `last7days` Or, specify the timeRange as a structure describing start and end timestamps in the ISO format: yyyy-mm-ddThh:mm:ssZ. Example: "timeRange": { "start": "2018-07-29T00:13:00Z", "end": "2018-08-01T00:18:00Z" } */ timeRange: any; }