All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.cloudflare.LogpushJob Maven / Gradle / Ivy

// *** 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.cloudflare;

import com.pulumi.cloudflare.LogpushJobArgs;
import com.pulumi.cloudflare.Utilities;
import com.pulumi.cloudflare.inputs.LogpushJobState;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Export;
import com.pulumi.core.annotations.ResourceType;
import com.pulumi.core.internal.Codegen;
import java.lang.Boolean;
import java.lang.String;
import java.util.Optional;
import javax.annotation.Nullable;

/**
 * ## Import
 * 
 * Import an account-scoped job.
 * 
 * ```sh
 *  $ pulumi import cloudflare:index/logpushJob:LogpushJob example account/<account_id>/<job_id>
 * ```
 * 
 *  Import a zone-scoped job.
 * 
 * ```sh
 *  $ pulumi import cloudflare:index/logpushJob:LogpushJob example zone/<zone_id>/<job_id>
 * ```
 * 
 */
@ResourceType(type="cloudflare:index/logpushJob:LogpushJob")
public class LogpushJob extends com.pulumi.resources.CustomResource {
    /**
     * The account identifier to target for the resource. Must provide only one of `account_id`, `zone_id`.
     * 
     */
    @Export(name="accountId", type=String.class, parameters={})
    private Output accountId;

    /**
     * @return The account identifier to target for the resource. Must provide only one of `account_id`, `zone_id`.
     * 
     */
    public Output> accountId() {
        return Codegen.optional(this.accountId);
    }
    /**
     * 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). Available values: `access_requests`, `firewall_events`, `http_requests`, `spectrum_events`, `nel_reports`, `audit_logs`, `gateway_dns`, `gateway_http`, `gateway_network`, `dns_logs`, `network_analytics_logs`, `workers_trace_events`.
     * 
     */
    @Export(name="dataset", type=String.class, parameters={})
    private Output dataset;

    /**
     * @return 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). Available values: `access_requests`, `firewall_events`, `http_requests`, `spectrum_events`, `nel_reports`, `audit_logs`, `gateway_dns`, `gateway_http`, `gateway_network`, `dns_logs`, `network_analytics_logs`, `workers_trace_events`.
     * 
     */
    public Output dataset() {
        return this.dataset;
    }
    /**
     * 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).
     * 
     */
    @Export(name="destinationConf", type=String.class, parameters={})
    private Output destinationConf;

    /**
     * @return 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).
     * 
     */
    public Output destinationConf() {
        return this.destinationConf;
    }
    /**
     * Whether to enable the job.
     * 
     */
    @Export(name="enabled", type=Boolean.class, parameters={})
    private Output enabled;

    /**
     * @return Whether to enable the job.
     * 
     */
    public Output> enabled() {
        return Codegen.optional(this.enabled);
    }
    /**
     * Use filters to select the events to include and/or remove from your logs. For more information, refer to [Filters](https://developers.cloudflare.com/logs/reference/logpush-api-configuration/filters/).
     * 
     */
    @Export(name="filter", type=String.class, parameters={})
    private Output filter;

    /**
     * @return Use filters to select the events to include and/or remove from your logs. For more information, refer to [Filters](https://developers.cloudflare.com/logs/reference/logpush-api-configuration/filters/).
     * 
     */
    public Output> filter() {
        return Codegen.optional(this.filter);
    }
    /**
     * A higher frequency will result in logs being pushed on faster with smaller files. `low` frequency will push logs less often with larger files. Available values: `high`, `low`. Defaults to `high`.
     * 
     */
    @Export(name="frequency", type=String.class, parameters={})
    private Output frequency;

    /**
     * @return A higher frequency will result in logs being pushed on faster with smaller files. `low` frequency will push logs less often with larger files. Available values: `high`, `low`. Defaults to `high`.
     * 
     */
    public Output> frequency() {
        return Codegen.optional(this.frequency);
    }
    /**
     * The kind of logpush job to create. Available values: `edge`, `instant-logs`, `""`.
     * 
     */
    @Export(name="kind", type=String.class, parameters={})
    private Output kind;

    /**
     * @return The kind of logpush job to create. Available values: `edge`, `instant-logs`, `""`.
     * 
     */
    public Output> kind() {
        return Codegen.optional(this.kind);
    }
    /**
     * Configuration string for the Logshare API. It specifies things like requested fields and timestamp formats. See [Logpush options documentation](https://developers.cloudflare.com/logs/logpush/logpush-configuration-api/understanding-logpush-api/#options).
     * 
     */
    @Export(name="logpullOptions", type=String.class, parameters={})
    private Output logpullOptions;

    /**
     * @return Configuration string for the Logshare API. It specifies things like requested fields and timestamp formats. See [Logpush options documentation](https://developers.cloudflare.com/logs/logpush/logpush-configuration-api/understanding-logpush-api/#options).
     * 
     */
    public Output> logpullOptions() {
        return Codegen.optional(this.logpullOptions);
    }
    /**
     * The name of the logpush job to create.
     * 
     */
    @Export(name="name", type=String.class, parameters={})
    private Output name;

    /**
     * @return The name of the logpush job to create.
     * 
     */
    public Output> name() {
        return Codegen.optional(this.name);
    }
    /**
     * 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).
     * 
     */
    @Export(name="ownershipChallenge", type=String.class, parameters={})
    private Output ownershipChallenge;

    /**
     * @return 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).
     * 
     */
    public Output> ownershipChallenge() {
        return Codegen.optional(this.ownershipChallenge);
    }
    /**
     * The zone identifier to target for the resource. Must provide only one of `account_id`, `zone_id`.
     * 
     */
    @Export(name="zoneId", type=String.class, parameters={})
    private Output zoneId;

    /**
     * @return The zone identifier to target for the resource. Must provide only one of `account_id`, `zone_id`.
     * 
     */
    public Output> zoneId() {
        return Codegen.optional(this.zoneId);
    }

    /**
     *
     * @param name The _unique_ name of the resulting resource.
     */
    public LogpushJob(String name) {
        this(name, LogpushJobArgs.Empty);
    }
    /**
     *
     * @param name The _unique_ name of the resulting resource.
     * @param args The arguments to use to populate this resource's properties.
     */
    public LogpushJob(String name, LogpushJobArgs 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 LogpushJob(String name, LogpushJobArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
        super("cloudflare:index/logpushJob:LogpushJob", name, args == null ? LogpushJobArgs.Empty : args, makeResourceOptions(options, Codegen.empty()));
    }

    private LogpushJob(String name, Output id, @Nullable LogpushJobState state, @Nullable com.pulumi.resources.CustomResourceOptions options) {
        super("cloudflare:index/logpushJob:LogpushJob", 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 LogpushJob get(String name, Output id, @Nullable LogpushJobState state, @Nullable com.pulumi.resources.CustomResourceOptions options) {
        return new LogpushJob(name, id, state, options);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy