import * as pulumi from "@pulumi/pulumi";
/**
 * Resource for creating a Harness project.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as harness from "@lbrlabs/pulumi-harness";
 *
 * const example = new harness.platform.Service("example", {
 *     description: "test",
 *     identifier: "identifier",
 *     orgId: "org_id",
 *     projectId: "project_id",
 *     yaml: `  service:
 *     name: name
 *     identifier: identifier
 *     serviceDefinition:
 *       spec:
 *         manifests:
 *           - manifest:
 *               identifier: manifest1
 *               type: K8sManifest
 *               spec:
 *                 store:
 *                   type: Github
 *                   spec:
 *                     connectorRef: <+input>
 *                     gitFetchType: Branch
 *                     paths:
 *                       - files1
 *                     repoName: <+input>
 *                     branch: master
 *                 skipResourceVersioning: false
 *         configFiles:
 *           - configFile:
 *               identifier: configFile1
 *               spec:
 *                 store:
 *                   type: Harness
 *                   spec:
 *                     files:
 *                       - <+org.description>
 *         variables:
 *           - name: var1
 *             type: String
 *             value: val1
 *           - name: var2
 *             type: String
 *             value: val2
 *       type: Kubernetes
 *     gitOpsEnabled: false
 *
 * `,
 * });
 * ```
 *
 * ## Import
 *
 * Import account level service
 *
 * ```sh
 *  $ pulumi import harness:platform/service:Service example <service_id>
 * ```
 *
 *  Import org level service
 *
 * ```sh
 *  $ pulumi import harness:platform/service:Service example <org_id>/<service_id>
 * ```
 *
 *  Import project level service
 *
 * ```sh
 *  $ pulumi import harness:platform/service:Service example <org_id>/<project_id>/<service_id>
 * ```
 */
export declare class Service extends pulumi.CustomResource {
    /**
     * Get an existing Service 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<pulumi.ID>, state?: ServiceState, opts?: pulumi.CustomResourceOptions): Service;
    /**
     * Returns true if the given object is an instance of Service.  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 Service;
    /**
     * Description of the resource.
     */
    readonly description: pulumi.Output<string | undefined>;
    /**
     * Enable this flag for force deletion of service
     */
    readonly forceDelete: pulumi.Output<string>;
    /**
     * Unique identifier of the resource.
     */
    readonly identifier: pulumi.Output<string>;
    /**
     * Name of the resource.
     */
    readonly name: pulumi.Output<string>;
    /**
     * Unique identifier of the organization.
     */
    readonly orgId: pulumi.Output<string | undefined>;
    /**
     * Unique identifier of the project.
     */
    readonly projectId: pulumi.Output<string | undefined>;
    /**
     * Tags to associate with the resource.
     */
    readonly tags: pulumi.Output<string[] | undefined>;
    /**
     * Service YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.
     */
    readonly yaml: pulumi.Output<string>;
    /**
     * Create a Service 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: ServiceArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering Service resources.
 */
export interface ServiceState {
    /**
     * Description of the resource.
     */
    description?: pulumi.Input<string>;
    /**
     * Enable this flag for force deletion of service
     */
    forceDelete?: pulumi.Input<string>;
    /**
     * Unique identifier of the resource.
     */
    identifier?: pulumi.Input<string>;
    /**
     * Name of the resource.
     */
    name?: pulumi.Input<string>;
    /**
     * Unique identifier of the organization.
     */
    orgId?: pulumi.Input<string>;
    /**
     * Unique identifier of the project.
     */
    projectId?: pulumi.Input<string>;
    /**
     * Tags to associate with the resource.
     */
    tags?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Service YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.
     */
    yaml?: pulumi.Input<string>;
}
/**
 * The set of arguments for constructing a Service resource.
 */
export interface ServiceArgs {
    /**
     * Description of the resource.
     */
    description?: pulumi.Input<string>;
    /**
     * Enable this flag for force deletion of service
     */
    forceDelete?: pulumi.Input<string>;
    /**
     * Unique identifier of the resource.
     */
    identifier: pulumi.Input<string>;
    /**
     * Name of the resource.
     */
    name?: pulumi.Input<string>;
    /**
     * Unique identifier of the organization.
     */
    orgId?: pulumi.Input<string>;
    /**
     * Unique identifier of the project.
     */
    projectId?: pulumi.Input<string>;
    /**
     * Tags to associate with the resource.
     */
    tags?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Service YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.
     */
    yaml?: pulumi.Input<string>;
}
