import * as pulumi from "@pulumi/pulumi"; /** * ## Example Usage * ### Manual Inspection Of S3 Bucket) * * - Create `cloudflare.LogPushOwnershipChallenge` resource * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as cloudflare from "@pulumi/cloudflare"; * * const ownershipChallenge = new cloudflare.LogPushOwnershipChallenge("ownership_challenge", { * destinationConf: "s3://my-bucket-path?region=us-west-2", * zoneId: "d41d8cd98f00b204e9800998ecf8427e", * }); * ``` * * - Check S3 bucket for your ownership challenge filename and grab the contents. * - Create the `cloudflare.LogpushJob` substituting in your manual `ownershipChallenge`. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as cloudflare from "@pulumi/cloudflare"; * * const exampleJob = new cloudflare.LogpushJob("example_job", { * dataset: "http_requests", * destinationConf: "s3://my-bucket-path?region=us-west-2", * enabled: true, * frequency: "high", * logpullOptions: "fields=RayID,ClientIP,EdgeStartTimestamp×tamps=rfc3339", * name: "My-logpush-job", * ownershipChallenge: "0000000000000", * zoneId: "d41d8cd98f00b204e9800998ecf8427e", * }); * ``` * * ## Import * * Logpush jobs can be imported using a composite ID formed of* `identifierType` - Either `account` or `zone`. * `identifierID` - The ID of the account or zone. * `jobID` - The Logpush Job ID to import. Import an account-scoped job using `account/:accountID/:jobID` * * ```sh * $ pulumi import cloudflare:index/logpushJob:LogpushJob example account/1d5fdc9e88c8a8c4518b068cd94331fe/54321 * ``` * * Import a zone-scoped job using `zone/:zoneID/:jobID` * * ```sh * $ pulumi import cloudflare:index/logpushJob:LogpushJob example zone/d41d8cd98f00b204e9800998ecf8427e/54321 * ``` */ export declare class LogpushJob extends pulumi.CustomResource { /** * Get an existing LogpushJob 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. */ static get(name: string, id: pulumi.Input, state?: LogpushJobState, opts?: pulumi.CustomResourceOptions): LogpushJob; /** * Returns true if the given object is an instance of LogpushJob. 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 LogpushJob; /** * The account ID where the logpush job should be created. Either `accountId` or `zoneId` are required. */ readonly accountId: pulumi.Output; /** * Which type of dataset resource to use. Available values are * - [account-scoped](https://developers.cloudflare.com/logs/reference/log-fields/account): `"auditLogs"`, `"gatewayDns"`, `"gatewayHttp"`, `"gatewayNetwork"`, `"networkAnalyticsLogs"` * - [zone-scoped](https://developers.cloudflare.com/logs/reference/log-fields/zone): `"firewallEvents"`, `"httpRequests"`, `"spectrumEvents"`, `"nelReports", "dnsLogs"` */ readonly dataset: pulumi.Output; /** * Uniquely identifies a resource (such as an s3 bucket) where data will be pushed. Additional configuration parameters supported by the destination may be included. See [Logpush destination documentation](https://developers.cloudflare.com/logs/reference/logpush-api-configuration#destination). */ readonly destinationConf: pulumi.Output; /** * Whether to enable the job. */ readonly enabled: pulumi.Output; /** * `"high"` or `"low"`. A higher frequency will result in logs being pushed on faster with smaller files. `"low"` frequency will push logs less often with larger files. */ readonly frequency: pulumi.Output; /** * Configuration string for the Logshare API. It specifies things like requested fields and timestamp formats. See [Logpull options documentation](https://developers.cloudflare.com/logs/logpush/logpush-configuration-api/understanding-logpush-api/#options). */ readonly logpullOptions: pulumi.Output; /** * The name of the logpush job to create. Must match the regular expression `^[a-zA-Z0-9\-\.]*$`. */ readonly name: pulumi.Output; /** * Ownership challenge token to prove destination ownership, required when destination is Amazon S3, Google Cloud Storage, * Microsoft Azure or Sumo Logic. See [Developer documentation](https://developers.cloudflare.com/logs/logpush/logpush-configuration-api/understanding-logpush-api/#usage). */ readonly ownershipChallenge: pulumi.Output; /** * The zone ID where the logpush job should be created. Either `accountId` or `zoneId` are required. */ readonly zoneId: pulumi.Output; /** * Create a LogpushJob 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: LogpushJobArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering LogpushJob resources. */ export interface LogpushJobState { /** * The account ID where the logpush job should be created. Either `accountId` or `zoneId` are required. */ accountId?: pulumi.Input; /** * Which type of dataset resource to use. Available values are * - [account-scoped](https://developers.cloudflare.com/logs/reference/log-fields/account): `"auditLogs"`, `"gatewayDns"`, `"gatewayHttp"`, `"gatewayNetwork"`, `"networkAnalyticsLogs"` * - [zone-scoped](https://developers.cloudflare.com/logs/reference/log-fields/zone): `"firewallEvents"`, `"httpRequests"`, `"spectrumEvents"`, `"nelReports", "dnsLogs"` */ dataset?: pulumi.Input; /** * Uniquely identifies a resource (such as an s3 bucket) where data will be pushed. Additional configuration parameters supported by the destination may be included. See [Logpush destination documentation](https://developers.cloudflare.com/logs/reference/logpush-api-configuration#destination). */ destinationConf?: pulumi.Input; /** * Whether to enable the job. */ enabled?: pulumi.Input; /** * `"high"` or `"low"`. A higher frequency will result in logs being pushed on faster with smaller files. `"low"` frequency will push logs less often with larger files. */ frequency?: pulumi.Input; /** * Configuration string for the Logshare API. It specifies things like requested fields and timestamp formats. See [Logpull options documentation](https://developers.cloudflare.com/logs/logpush/logpush-configuration-api/understanding-logpush-api/#options). */ logpullOptions?: pulumi.Input; /** * The name of the logpush job to create. Must match the regular expression `^[a-zA-Z0-9\-\.]*$`. */ name?: pulumi.Input; /** * Ownership challenge token to prove destination ownership, required when destination is Amazon S3, Google Cloud Storage, * Microsoft Azure or Sumo Logic. See [Developer documentation](https://developers.cloudflare.com/logs/logpush/logpush-configuration-api/understanding-logpush-api/#usage). */ ownershipChallenge?: pulumi.Input; /** * The zone ID where the logpush job should be created. Either `accountId` or `zoneId` are required. */ zoneId?: pulumi.Input; } /** * The set of arguments for constructing a LogpushJob resource. */ export interface LogpushJobArgs { /** * The account ID where the logpush job should be created. Either `accountId` or `zoneId` are required. */ accountId?: pulumi.Input; /** * Which type of dataset resource to use. Available values are * - [account-scoped](https://developers.cloudflare.com/logs/reference/log-fields/account): `"auditLogs"`, `"gatewayDns"`, `"gatewayHttp"`, `"gatewayNetwork"`, `"networkAnalyticsLogs"` * - [zone-scoped](https://developers.cloudflare.com/logs/reference/log-fields/zone): `"firewallEvents"`, `"httpRequests"`, `"spectrumEvents"`, `"nelReports", "dnsLogs"` */ dataset: pulumi.Input; /** * Uniquely identifies a resource (such as an s3 bucket) where data will be pushed. Additional configuration parameters supported by the destination may be included. See [Logpush destination documentation](https://developers.cloudflare.com/logs/reference/logpush-api-configuration#destination). */ destinationConf: pulumi.Input; /** * Whether to enable the job. */ enabled?: pulumi.Input; /** * `"high"` or `"low"`. A higher frequency will result in logs being pushed on faster with smaller files. `"low"` frequency will push logs less often with larger files. */ frequency?: pulumi.Input; /** * Configuration string for the Logshare API. It specifies things like requested fields and timestamp formats. See [Logpull options documentation](https://developers.cloudflare.com/logs/logpush/logpush-configuration-api/understanding-logpush-api/#options). */ logpullOptions?: pulumi.Input; /** * The name of the logpush job to create. Must match the regular expression `^[a-zA-Z0-9\-\.]*$`. */ name?: pulumi.Input; /** * Ownership challenge token to prove destination ownership, required when destination is Amazon S3, Google Cloud Storage, * Microsoft Azure or Sumo Logic. See [Developer documentation](https://developers.cloudflare.com/logs/logpush/logpush-configuration-api/understanding-logpush-api/#usage). */ ownershipChallenge?: pulumi.Input; /** * The zone ID where the logpush job should be created. Either `accountId` or `zoneId` are required. */ zoneId?: pulumi.Input; }