/** * Resource Manager API * Use the Resource Manager API to automate deployment and operations for all Oracle Cloud Infrastructure resources. Using the infrastructure-as-code (IaC) model, the service is based on Terraform, an open source industry standard that lets DevOps engineers develop and deploy their infrastructure anywhere. For more information, see [the Resource Manager documentation](https://docs.oracle.com/iaas/Content/ResourceManager/home.htm). * OpenAPI spec version: 20180917 * * * NOTE: This class is auto generated by OracleSDKGenerator. * Do not edit the class manually. * * Copyright (c) 2020, 2026, Oracle and/or its affiliates. All rights reserved. * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. */ import * as model from "../model"; /** * The properties of a job. * A job performs the actions that are defined in your Terraform configuration. * For instructions on managing jobs, see * [Managing Jobs](https://docs.oracle.com/iaas/Content/ResourceManager/Tasks/jobs.htm). * For more information about jobs, see * [Key Concepts](https://docs.oracle.com/iaas/Content/ResourceManager/Concepts/resourcemanager.htm#concepts__jobdefinition). * */ export interface Job { /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the job. */ "id"?: string; /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the stack that is associated with the job. */ "stackId"?: string; /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment in which the job's associated stack resides. */ "compartmentId"?: string; /** * A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. * */ "displayName"?: string; /** * The type of job executing. */ "operation"?: Job.Operation; /** * When {@code true}, the stack sources third-party Terraform providers from * [Terraform Registry](https://registry.terraform.io/browse/providers) and allows * {@link #customTerraformProvider(CustomTerraformProviderRequest) customTerraformProvider}. * For more information about stack sourcing of third-party Terraform providers, see * [Third-party Provider Configuration](https://docs.oracle.com/iaas/Content/ResourceManager/Concepts/terraformconfigresourcemanager.htm#third-party-providers). * */ "isThirdPartyProviderExperienceEnabled"?: boolean; /** * Specifies whether or not to upgrade provider versions. * Within the version constraints of your Terraform configuration, use the latest versions available from the source of Terraform providers. * For more information about this option, see [Dependency Lock File (terraform.io)](https://www.terraform.io/language/files/dependency-lock). * */ "isProviderUpgradeRequired"?: boolean; "jobOperationDetails"?: model.ImportTfStateJobOperationDetails | model.PlanJobOperationDetails | model.ApplyRollbackJobOperationDetails | model.PlanRollbackJobOperationDetails | model.ApplyJobOperationDetails | model.DestroyJobOperationDetails; "applyJobPlanResolution"?: model.ApplyJobPlanResolution; /** * Deprecated. Use the property {@code executionPlanJobId} in {@code jobOperationDetails} instead. * The plan job [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) that was used (if this was an apply job and was not auto-approved). * */ "resolvedPlanJobId"?: string; /** * The date and time when the job was created. * Format is defined by RFC3339. * Example: {@code 2020-01-25T21:10:29.600Z} * */ "timeCreated"?: Date; /** * The date and time when the job stopped running, irrespective of whether the job ran successfully. * Format is defined by RFC3339. * Example: {@code 2020-01-25T21:10:29.600Z} * */ "timeFinished"?: Date; /** * Current state of the specified job. * For more information about job lifecycle states in Resource Manager, see * [Key Concepts](https://docs.oracle.com/iaas/Content/ResourceManager/Concepts/resourcemanager.htm#concepts__JobStates). * */ "lifecycleState"?: Job.LifecycleState; "failureDetails"?: model.FailureDetails; "cancellationDetails"?: model.CancellationDetails; /** * File path to the directory to use for running Terraform. * If not specified, the root directory is used. * Required when using a zip Terraform configuration ({@code configSourceType} value of {@code ZIP_UPLOAD}) that contains folders. * Ignored for the {@code configSourceType} value of {@code COMPARTMENT_CONFIG_SOURCE}. * For more information about required and recommended file structure, see * [File Structure (Terraform Configurations for Resource Manager)](https://docs.oracle.com/iaas/Content/ResourceManager/Concepts/terraformconfigresourcemanager.htm#filestructure). * */ "workingDirectory"?: string; /** * Terraform variables associated with this resource. * Maximum number of variables supported is 250. * The maximum size of each variable, including both name and value, is 8192 bytes. * Example: {@code {\"CompartmentId\": \"compartment-id-value\"}} * */ "variables"?: { [key: string]: string; }; "configSource"?: model.DevOpsConfigSourceRecord | model.GitConfigSourceRecord | model.ZipUploadConfigSourceRecord | model.BitbucketCloudConfigSourceRecord | model.BitbucketServerConfigSourceRecord | model.ObjectStorageConfigSourceRecord; /** * Free-form tags associated with the resource. Each tag is a key-value pair with no predefined name, type, or namespace. * For more information, see [Resource Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). * Example: {@code {\"Department\": \"Finance\"}} * */ "freeformTags"?: { [key: string]: string; }; /** * Defined tags for this resource. Each key is predefined and scoped to a namespace. * For more information, see [Resource Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). * Example: {@code {\"Operations\": {\"CostCenter\": \"42\"}}} * */ "definedTags"?: { [key: string]: { [key: string]: any; }; }; /** * The system tags associated with this resource, if any. The system tags are set by Oracle cloud infrastructure services. Each key is predefined and scoped to namespaces. * For more information, see [Resource Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). * Example: {@code {orcl-cloud: {free-tier-retain: true}}} * */ "systemTags"?: { [key: string]: { [key: string]: any; }; }; } export declare namespace Job { enum Operation { Plan = "PLAN", Apply = "APPLY", Destroy = "DESTROY", ImportTfState = "IMPORT_TF_STATE", PlanRollback = "PLAN_ROLLBACK", ApplyRollback = "APPLY_ROLLBACK", /** * This value is used if a service returns a value for this enum that is not recognized by this * version of the SDK. */ UnknownValue = "UNKNOWN_VALUE" } enum LifecycleState { Accepted = "ACCEPTED", InProgress = "IN_PROGRESS", Failed = "FAILED", Succeeded = "SUCCEEDED", Canceling = "CANCELING", Canceled = "CANCELED", /** * This value is used if a service returns a value for this enum that is not recognized by this * version of the SDK. */ UnknownValue = "UNKNOWN_VALUE" } function getJsonObj(obj: Job): object; function getDeserializedJsonObj(obj: Job): object; }