1. Packages
  2. Harness
  3. API Docs
  4. platform
  5. Service
Harness v0.0.6 published on Saturday, Jul 1, 2023 by lbrlabs

harness.platform.Service

Explore with Pulumi AI

harness logo
Harness v0.0.6 published on Saturday, Jul 1, 2023 by lbrlabs

    Resource for creating a Harness project.

    Example Usage

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Harness = Lbrlabs.PulumiPackage.Harness;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Harness.Platform.Service("example", new()
        {
            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
    
    ",
        });
    
    });
    
    package main
    
    import (
    	"github.com/lbrlabs/pulumi-harness/sdk/go/harness/platform"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := platform.NewService(ctx, "example", &platform.ServiceArgs{
    			Description: pulumi.String("test"),
    			Identifier:  pulumi.String("identifier"),
    			OrgId:       pulumi.String("org_id"),
    			ProjectId:   pulumi.String("project_id"),
    			Yaml: pulumi.String(`  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
    
    `),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.harness.platform.Service;
    import com.pulumi.harness.platform.ServiceArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new Service("example", ServiceArgs.builder()        
                .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
    
                """)
                .build());
    
        }
    }
    
    import pulumi
    import lbrlabs_pulumi_harness as harness
    
    example = harness.platform.Service("example",
        description="test",
        identifier="identifier",
        org_id="org_id",
        project_id="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 * 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
    
    `,
    });
    
    resources:
      example:
        type: harness:platform:Service
        properties:
          description: test
          identifier: identifier
          orgId: org_id
          projectId: project_id
          yaml: |2+
              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
    

    Create Service Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Service(name: string, args: ServiceArgs, opts?: CustomResourceOptions);
    @overload
    def Service(resource_name: str,
                args: ServiceArgs,
                opts: Optional[ResourceOptions] = None)
    
    @overload
    def Service(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                identifier: Optional[str] = None,
                description: Optional[str] = None,
                force_delete: Optional[str] = None,
                name: Optional[str] = None,
                org_id: Optional[str] = None,
                project_id: Optional[str] = None,
                tags: Optional[Sequence[str]] = None,
                yaml: Optional[str] = None)
    func NewService(ctx *Context, name string, args ServiceArgs, opts ...ResourceOption) (*Service, error)
    public Service(string name, ServiceArgs args, CustomResourceOptions? opts = null)
    public Service(String name, ServiceArgs args)
    public Service(String name, ServiceArgs args, CustomResourceOptions options)
    
    type: harness:platform:Service
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args ServiceArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args ServiceArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args ServiceArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ServiceArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ServiceArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

    The following reference example uses placeholder values for all input properties.

    var serviceResource = new Harness.Platform.Service("serviceResource", new()
    {
        Identifier = "string",
        Description = "string",
        ForceDelete = "string",
        Name = "string",
        OrgId = "string",
        ProjectId = "string",
        Tags = new[]
        {
            "string",
        },
        Yaml = "string",
    });
    
    example, err := platform.NewService(ctx, "serviceResource", &platform.ServiceArgs{
    	Identifier:  pulumi.String("string"),
    	Description: pulumi.String("string"),
    	ForceDelete: pulumi.String("string"),
    	Name:        pulumi.String("string"),
    	OrgId:       pulumi.String("string"),
    	ProjectId:   pulumi.String("string"),
    	Tags: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Yaml: pulumi.String("string"),
    })
    
    var serviceResource = new Service("serviceResource", ServiceArgs.builder()        
        .identifier("string")
        .description("string")
        .forceDelete("string")
        .name("string")
        .orgId("string")
        .projectId("string")
        .tags("string")
        .yaml("string")
        .build());
    
    service_resource = harness.platform.Service("serviceResource",
        identifier="string",
        description="string",
        force_delete="string",
        name="string",
        org_id="string",
        project_id="string",
        tags=["string"],
        yaml="string")
    
    const serviceResource = new harness.platform.Service("serviceResource", {
        identifier: "string",
        description: "string",
        forceDelete: "string",
        name: "string",
        orgId: "string",
        projectId: "string",
        tags: ["string"],
        yaml: "string",
    });
    
    type: harness:platform:Service
    properties:
        description: string
        forceDelete: string
        identifier: string
        name: string
        orgId: string
        projectId: string
        tags:
            - string
        yaml: string
    

    Service Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The Service resource accepts the following input properties:

    Identifier string
    Unique identifier of the resource.
    Description string
    Description of the resource.
    ForceDelete string
    Enable this flag for force deletion of service
    Name string
    Name of the resource.
    OrgId string
    Unique identifier of the organization.
    ProjectId string
    Unique identifier of the project.
    Tags List<string>
    Tags to associate with the resource.
    Yaml 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.
    Identifier string
    Unique identifier of the resource.
    Description string
    Description of the resource.
    ForceDelete string
    Enable this flag for force deletion of service
    Name string
    Name of the resource.
    OrgId string
    Unique identifier of the organization.
    ProjectId string
    Unique identifier of the project.
    Tags []string
    Tags to associate with the resource.
    Yaml 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.
    identifier String
    Unique identifier of the resource.
    description String
    Description of the resource.
    forceDelete String
    Enable this flag for force deletion of service
    name String
    Name of the resource.
    orgId String
    Unique identifier of the organization.
    projectId String
    Unique identifier of the project.
    tags List<String>
    Tags to associate with the resource.
    yaml 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.
    identifier string
    Unique identifier of the resource.
    description string
    Description of the resource.
    forceDelete string
    Enable this flag for force deletion of service
    name string
    Name of the resource.
    orgId string
    Unique identifier of the organization.
    projectId string
    Unique identifier of the project.
    tags string[]
    Tags to associate with the resource.
    yaml 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.
    identifier str
    Unique identifier of the resource.
    description str
    Description of the resource.
    force_delete str
    Enable this flag for force deletion of service
    name str
    Name of the resource.
    org_id str
    Unique identifier of the organization.
    project_id str
    Unique identifier of the project.
    tags Sequence[str]
    Tags to associate with the resource.
    yaml str
    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.
    identifier String
    Unique identifier of the resource.
    description String
    Description of the resource.
    forceDelete String
    Enable this flag for force deletion of service
    name String
    Name of the resource.
    orgId String
    Unique identifier of the organization.
    projectId String
    Unique identifier of the project.
    tags List<String>
    Tags to associate with the resource.
    yaml 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.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Service resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing Service Resource

    Get an existing Service resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: ServiceState, opts?: CustomResourceOptions): Service
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            description: Optional[str] = None,
            force_delete: Optional[str] = None,
            identifier: Optional[str] = None,
            name: Optional[str] = None,
            org_id: Optional[str] = None,
            project_id: Optional[str] = None,
            tags: Optional[Sequence[str]] = None,
            yaml: Optional[str] = None) -> Service
    func GetService(ctx *Context, name string, id IDInput, state *ServiceState, opts ...ResourceOption) (*Service, error)
    public static Service Get(string name, Input<string> id, ServiceState? state, CustomResourceOptions? opts = null)
    public static Service get(String name, Output<String> id, ServiceState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Description string
    Description of the resource.
    ForceDelete string
    Enable this flag for force deletion of service
    Identifier string
    Unique identifier of the resource.
    Name string
    Name of the resource.
    OrgId string
    Unique identifier of the organization.
    ProjectId string
    Unique identifier of the project.
    Tags List<string>
    Tags to associate with the resource.
    Yaml 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.
    Description string
    Description of the resource.
    ForceDelete string
    Enable this flag for force deletion of service
    Identifier string
    Unique identifier of the resource.
    Name string
    Name of the resource.
    OrgId string
    Unique identifier of the organization.
    ProjectId string
    Unique identifier of the project.
    Tags []string
    Tags to associate with the resource.
    Yaml 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.
    description String
    Description of the resource.
    forceDelete String
    Enable this flag for force deletion of service
    identifier String
    Unique identifier of the resource.
    name String
    Name of the resource.
    orgId String
    Unique identifier of the organization.
    projectId String
    Unique identifier of the project.
    tags List<String>
    Tags to associate with the resource.
    yaml 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.
    description string
    Description of the resource.
    forceDelete string
    Enable this flag for force deletion of service
    identifier string
    Unique identifier of the resource.
    name string
    Name of the resource.
    orgId string
    Unique identifier of the organization.
    projectId string
    Unique identifier of the project.
    tags string[]
    Tags to associate with the resource.
    yaml 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.
    description str
    Description of the resource.
    force_delete str
    Enable this flag for force deletion of service
    identifier str
    Unique identifier of the resource.
    name str
    Name of the resource.
    org_id str
    Unique identifier of the organization.
    project_id str
    Unique identifier of the project.
    tags Sequence[str]
    Tags to associate with the resource.
    yaml str
    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.
    description String
    Description of the resource.
    forceDelete String
    Enable this flag for force deletion of service
    identifier String
    Unique identifier of the resource.
    name String
    Name of the resource.
    orgId String
    Unique identifier of the organization.
    projectId String
    Unique identifier of the project.
    tags List<String>
    Tags to associate with the resource.
    yaml 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.

    Import

    Import account level service

     $ pulumi import harness:platform/service:Service example <service_id>
    

    Import org level service

     $ pulumi import harness:platform/service:Service example <org_id>/<service_id>
    

    Import project level service

     $ pulumi import harness:platform/service:Service example <org_id>/<project_id>/<service_id>
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    harness lbrlabs/pulumi-harness
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the harness Terraform Provider.
    harness logo
    Harness v0.0.6 published on Saturday, Jul 1, 2023 by lbrlabs