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

com.pulumi.googlenative.workflowexecutions.v1.Execution 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.googlenative.workflowexecutions.v1;

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.googlenative.Utilities;
import com.pulumi.googlenative.workflowexecutions.v1.ExecutionArgs;
import com.pulumi.googlenative.workflowexecutions.v1.outputs.ErrorResponse;
import com.pulumi.googlenative.workflowexecutions.v1.outputs.StateErrorResponse;
import com.pulumi.googlenative.workflowexecutions.v1.outputs.StatusResponse;
import java.lang.String;
import java.util.Map;
import javax.annotation.Nullable;

/**
 * Creates a new execution using the latest revision of the given workflow.
 * 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.
 * 
 */
@ResourceType(type="google-native:workflowexecutions/v1:Execution")
public class Execution extends com.pulumi.resources.CustomResource {
    /**
     * Input parameters of the execution represented as a JSON string. The size limit is 32KB. *Note*: If you are using the REST API directly to run your workflow, you must escape any JSON string value of `argument`. Example: `'{"argument":"{\"firstName\":\"FIRST\",\"lastName\":\"LAST\"}"}'`
     * 
     */
    @Export(name="argument", type=String.class, parameters={})
    private Output argument;

    /**
     * @return Input parameters of the execution represented as a JSON string. The size limit is 32KB. *Note*: If you are using the REST API directly to run your workflow, you must escape any JSON string value of `argument`. Example: `'{"argument":"{\"firstName\":\"FIRST\",\"lastName\":\"LAST\"}"}'`
     * 
     */
    public Output argument() {
        return this.argument;
    }
    /**
     * The call logging level associated to this execution.
     * 
     */
    @Export(name="callLogLevel", type=String.class, parameters={})
    private Output callLogLevel;

    /**
     * @return The call logging level associated to this execution.
     * 
     */
    public Output callLogLevel() {
        return this.callLogLevel;
    }
    /**
     * Measures the duration of the execution.
     * 
     */
    @Export(name="duration", type=String.class, parameters={})
    private Output duration;

    /**
     * @return Measures the duration of the execution.
     * 
     */
    public Output duration() {
        return this.duration;
    }
    /**
     * Marks the end of execution, successful or not.
     * 
     */
    @Export(name="endTime", type=String.class, parameters={})
    private Output endTime;

    /**
     * @return Marks the end of execution, successful or not.
     * 
     */
    public Output endTime() {
        return this.endTime;
    }
    /**
     * The error which caused the execution to finish prematurely. The value is only present if the execution's state is `FAILED` or `CANCELLED`.
     * 
     */
    @Export(name="error", type=ErrorResponse.class, parameters={})
    private Output error;

    /**
     * @return The error which caused the execution to finish prematurely. The value is only present if the execution's state is `FAILED` or `CANCELLED`.
     * 
     */
    public Output error() {
        return this.error;
    }
    /**
     * Labels associated with this execution. Labels can contain at most 64 entries. Keys and values can be no longer than 63 characters and can only contain lowercase letters, numeric characters, underscores, and dashes. Label keys must start with a letter. International characters are allowed. By default, labels are inherited from the workflow but are overridden by any labels associated with the execution.
     * 
     */
    @Export(name="labels", type=Map.class, parameters={String.class, String.class})
    private Output> labels;

    /**
     * @return Labels associated with this execution. Labels can contain at most 64 entries. Keys and values can be no longer than 63 characters and can only contain lowercase letters, numeric characters, underscores, and dashes. Label keys must start with a letter. International characters are allowed. By default, labels are inherited from the workflow but are overridden by any labels associated with the execution.
     * 
     */
    public Output> labels() {
        return this.labels;
    }
    @Export(name="location", type=String.class, parameters={})
    private Output location;

    public Output location() {
        return this.location;
    }
    /**
     * The resource name of the execution. Format: projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution}
     * 
     */
    @Export(name="name", type=String.class, parameters={})
    private Output name;

    /**
     * @return The resource name of the execution. Format: projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution}
     * 
     */
    public Output name() {
        return this.name;
    }
    @Export(name="project", type=String.class, parameters={})
    private Output project;

    public Output project() {
        return this.project;
    }
    /**
     * Output of the execution represented as a JSON string. The value can only be present if the execution's state is `SUCCEEDED`.
     * 
     */
    @Export(name="result", type=String.class, parameters={})
    private Output result;

    /**
     * @return Output of the execution represented as a JSON string. The value can only be present if the execution's state is `SUCCEEDED`.
     * 
     */
    public Output result() {
        return this.result;
    }
    /**
     * Marks the beginning of execution.
     * 
     */
    @Export(name="startTime", type=String.class, parameters={})
    private Output startTime;

    /**
     * @return Marks the beginning of execution.
     * 
     */
    public Output startTime() {
        return this.startTime;
    }
    /**
     * Current state of the execution.
     * 
     */
    @Export(name="state", type=String.class, parameters={})
    private Output state;

    /**
     * @return Current state of the execution.
     * 
     */
    public Output state() {
        return this.state;
    }
    /**
     * Error regarding the state of the Execution resource. For example, this field will have error details if the Execution data is unavailable due to revoked KMS key permissions.
     * 
     */
    @Export(name="stateError", type=StateErrorResponse.class, parameters={})
    private Output stateError;

    /**
     * @return Error regarding the state of the Execution resource. For example, this field will have error details if the Execution data is unavailable due to revoked KMS key permissions.
     * 
     */
    public Output stateError() {
        return this.stateError;
    }
    /**
     * Status tracks the current steps and progress data of this execution.
     * 
     */
    @Export(name="status", type=StatusResponse.class, parameters={})
    private Output status;

    /**
     * @return Status tracks the current steps and progress data of this execution.
     * 
     */
    public Output status() {
        return this.status;
    }
    @Export(name="workflowId", type=String.class, parameters={})
    private Output workflowId;

    public Output workflowId() {
        return this.workflowId;
    }
    /**
     * Revision of the workflow this execution is using.
     * 
     */
    @Export(name="workflowRevisionId", type=String.class, parameters={})
    private Output workflowRevisionId;

    /**
     * @return Revision of the workflow this execution is using.
     * 
     */
    public Output workflowRevisionId() {
        return this.workflowRevisionId;
    }

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

    private Execution(String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
        super("google-native:workflowexecutions/v1:Execution", name, null, 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 options Optional settings to control the behavior of the CustomResource.
     */
    public static Execution get(String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
        return new Execution(name, id, options);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy