import * as pulumi from "@pulumi/pulumi"; /** * Enables the creation and management of Datadog workflows using Workflow Automation. To easily export a workflow for use with Terraform, use the export button in the Datadog Workflow Automation UI. This resource requires a registered application key. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as datadog from "@pulumi/datadog"; * * const workflow = new datadog.WorkflowAutomation("workflow", { * name: "Send Email when Monitor Alerts", * description: "This workflow alerts me by email when my monitor goes off. ", * tags: [ * "service:foo", * "source:alert", * "team:bar", * ], * published: true, * specJson: JSON.stringify({ * triggers: [{ * startStepNames: ["Send_Email"], * monitorTrigger: {}, * }], * steps: [{ * name: "Send_Email", * actionId: "com.datadoghq.email.send", * parameters: [ * { * name: "to", * value: "REPLACE_ME", * }, * { * name: "subject", * value: "Monitor \"{{ Source.monitor.name }}\" alerted", * }, * { * name: "message", * value: `This message is from {{ WorkflowName }}. * * You can find a link to the monitor here: {{ Source.url }}.`, * }, * ], * display: { * bounds: { * x: 0, * y: 216, * }, * }, * }], * handle: "my-handle", * }), * }); * ``` * * ## Import * * The `pulumi import` command can be used, for example: * * ```sh * $ pulumi import datadog:index/workflowAutomation:WorkflowAutomation my_workflow 11111111-2222-3333-4444-555555555555 * ``` */ export declare class WorkflowAutomation extends pulumi.CustomResource { /** * Get an existing WorkflowAutomation 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?: WorkflowAutomationState, opts?: pulumi.CustomResourceOptions): WorkflowAutomation; /** * Returns true if the given object is an instance of WorkflowAutomation. 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 WorkflowAutomation; /** * Description of the workflow. */ readonly description: pulumi.Output; /** * Name of the workflow. String length must be at least 1. */ readonly name: pulumi.Output; /** * Set the workflow to published or unpublished. Workflows in an unpublished state are only executable through manual runs. Automatic triggers such as Schedule do not execute the workflow until it is published. */ readonly published: pulumi.Output; /** * The spec defines what the workflow does. */ readonly specJson: pulumi.Output; /** * Tags of the workflow. */ readonly tags: pulumi.Output; /** * If a webhook trigger is defined on this workflow, a webhookSecret is required and should be provided here. String length must be at least 16. */ readonly webhookSecret: pulumi.Output; /** * Create a WorkflowAutomation 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: WorkflowAutomationArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering WorkflowAutomation resources. */ export interface WorkflowAutomationState { /** * Description of the workflow. */ description?: pulumi.Input; /** * Name of the workflow. String length must be at least 1. */ name?: pulumi.Input; /** * Set the workflow to published or unpublished. Workflows in an unpublished state are only executable through manual runs. Automatic triggers such as Schedule do not execute the workflow until it is published. */ published?: pulumi.Input; /** * The spec defines what the workflow does. */ specJson?: pulumi.Input; /** * Tags of the workflow. */ tags?: pulumi.Input[]>; /** * If a webhook trigger is defined on this workflow, a webhookSecret is required and should be provided here. String length must be at least 16. */ webhookSecret?: pulumi.Input; } /** * The set of arguments for constructing a WorkflowAutomation resource. */ export interface WorkflowAutomationArgs { /** * Description of the workflow. */ description: pulumi.Input; /** * Name of the workflow. String length must be at least 1. */ name: pulumi.Input; /** * Set the workflow to published or unpublished. Workflows in an unpublished state are only executable through manual runs. Automatic triggers such as Schedule do not execute the workflow until it is published. */ published: pulumi.Input; /** * The spec defines what the workflow does. */ specJson: pulumi.Input; /** * Tags of the workflow. */ tags: pulumi.Input[]>; /** * If a webhook trigger is defined on this workflow, a webhookSecret is required and should be provided here. String length must be at least 16. */ webhookSecret?: pulumi.Input; }