1. Packages
  2. Spectrocloud Provider
  3. API Docs
  4. ApplicationProfile
spectrocloud 0.23.5 published on Sunday, Apr 20, 2025 by spectrocloud

spectrocloud.ApplicationProfile

Explore with Pulumi AI

spectrocloud logo
spectrocloud 0.23.5 published on Sunday, Apr 20, 2025 by spectrocloud

    Provisions an Application Profile. App Profiles are templates created with preconfigured services. You can create as many profiles as required, with multiple tiers serving different functionalities per use case.

    Example Usage

    App Profile with Container

    import * as pulumi from "@pulumi/pulumi";
    import * as spectrocloud from "@pulumi/spectrocloud";
    
    const config = new pulumi.Config();
    const single_container_image = config.get("single-container-image") || "ghcr.io/spectrocloud/hello-universe:1.0.8";
    const beehive = spectrocloud.getClusterGroup({
        name: "beehive",
        context: "system",
    });
    const containerRegistry = spectrocloud.getRegistry({
        name: "Public Repo",
    });
    const containerPack = containerRegistry.then(containerRegistry => spectrocloud.getPackSimple({
        type: "container",
        name: "container",
        version: "1.0.0",
        registryUid: containerRegistry.id,
    }));
    const hello_universe_ui = new spectrocloud.ApplicationProfile("hello-universe-ui", {
        description: "Hello Universe as a single UI instance",
        packs: [{
            name: "hello-universe-ui",
            type: containerPack.then(containerPack => containerPack.type),
            registryUid: containerRegistry.then(containerRegistry => containerRegistry.id),
            sourceAppTier: containerPack.then(containerPack => containerPack.id),
            values: `containerService:
        serviceName: "hello-universe-ui-test"
        registryUrl: ""
        image: ${single_container_image}
        access: public
        ports:
          - "8080"
        serviceType: LoadBalancer
    `,
        }],
        tags: ["scenario-1"],
    });
    
    import pulumi
    import pulumi_spectrocloud as spectrocloud
    
    config = pulumi.Config()
    single_container_image = config.get("single-container-image")
    if single_container_image is None:
        single_container_image = "ghcr.io/spectrocloud/hello-universe:1.0.8"
    beehive = spectrocloud.get_cluster_group(name="beehive",
        context="system")
    container_registry = spectrocloud.get_registry(name="Public Repo")
    container_pack = spectrocloud.get_pack_simple(type="container",
        name="container",
        version="1.0.0",
        registry_uid=container_registry.id)
    hello_universe_ui = spectrocloud.ApplicationProfile("hello-universe-ui",
        description="Hello Universe as a single UI instance",
        packs=[{
            "name": "hello-universe-ui",
            "type": container_pack.type,
            "registry_uid": container_registry.id,
            "source_app_tier": container_pack.id,
            "values": f"""containerService:
        serviceName: "hello-universe-ui-test"
        registryUrl: ""
        image: {single_container_image}
        access: public
        ports:
          - "8080"
        serviceType: LoadBalancer
    """,
        }],
        tags=["scenario-1"])
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		cfg := config.New(ctx, "")
    		single_container_image := "ghcr.io/spectrocloud/hello-universe:1.0.8"
    		if param := cfg.Get("single-container-image"); param != "" {
    			single_container_image = param
    		}
    		_, err := spectrocloud.LookupClusterGroup(ctx, &spectrocloud.LookupClusterGroupArgs{
    			Name:    "beehive",
    			Context: pulumi.StringRef("system"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		containerRegistry, err := spectrocloud.GetRegistry(ctx, &spectrocloud.GetRegistryArgs{
    			Name: "Public Repo",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		containerPack, err := spectrocloud.GetPackSimple(ctx, &spectrocloud.GetPackSimpleArgs{
    			Type:        "container",
    			Name:        "container",
    			Version:     pulumi.StringRef("1.0.0"),
    			RegistryUid: pulumi.StringRef(containerRegistry.Id),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = spectrocloud.NewApplicationProfile(ctx, "hello-universe-ui", &spectrocloud.ApplicationProfileArgs{
    			Description: pulumi.String("Hello Universe as a single UI instance"),
    			Packs: spectrocloud.ApplicationProfilePackArray{
    				&spectrocloud.ApplicationProfilePackArgs{
    					Name:          pulumi.String("hello-universe-ui"),
    					Type:          pulumi.String(containerPack.Type),
    					RegistryUid:   pulumi.String(containerRegistry.Id),
    					SourceAppTier: pulumi.String(containerPack.Id),
    					Values: pulumi.Sprintf(`containerService:
        serviceName: "hello-universe-ui-test"
        registryUrl: ""
        image: %v
        access: public
        ports:
          - "8080"
        serviceType: LoadBalancer
    `, single_container_image),
    				},
    			},
    			Tags: pulumi.StringArray{
    				pulumi.String("scenario-1"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Spectrocloud = Pulumi.Spectrocloud;
    
    return await Deployment.RunAsync(() => 
    {
        var config = new Config();
        var single_container_image = config.Get("single-container-image") ?? "ghcr.io/spectrocloud/hello-universe:1.0.8";
        var beehive = Spectrocloud.GetClusterGroup.Invoke(new()
        {
            Name = "beehive",
            Context = "system",
        });
    
        var containerRegistry = Spectrocloud.GetRegistry.Invoke(new()
        {
            Name = "Public Repo",
        });
    
        var containerPack = Spectrocloud.GetPackSimple.Invoke(new()
        {
            Type = "container",
            Name = "container",
            Version = "1.0.0",
            RegistryUid = containerRegistry.Apply(getRegistryResult => getRegistryResult.Id),
        });
    
        var hello_universe_ui = new Spectrocloud.ApplicationProfile("hello-universe-ui", new()
        {
            Description = "Hello Universe as a single UI instance",
            Packs = new[]
            {
                new Spectrocloud.Inputs.ApplicationProfilePackArgs
                {
                    Name = "hello-universe-ui",
                    Type = containerPack.Apply(getPackSimpleResult => getPackSimpleResult.Type),
                    RegistryUid = containerRegistry.Apply(getRegistryResult => getRegistryResult.Id),
                    SourceAppTier = containerPack.Apply(getPackSimpleResult => getPackSimpleResult.Id),
                    Values = @$"containerService:
        serviceName: ""hello-universe-ui-test""
        registryUrl: """"
        image: {single_container_image}
        access: public
        ports:
          - ""8080""
        serviceType: LoadBalancer
    ",
                },
            },
            Tags = new[]
            {
                "scenario-1",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.spectrocloud.SpectrocloudFunctions;
    import com.pulumi.spectrocloud.inputs.GetClusterGroupArgs;
    import com.pulumi.spectrocloud.inputs.GetRegistryArgs;
    import com.pulumi.spectrocloud.inputs.GetPackSimpleArgs;
    import com.pulumi.spectrocloud.ApplicationProfile;
    import com.pulumi.spectrocloud.ApplicationProfileArgs;
    import com.pulumi.spectrocloud.inputs.ApplicationProfilePackArgs;
    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) {
            final var config = ctx.config();
            final var single_container_image = config.get("single-container-image").orElse("ghcr.io/spectrocloud/hello-universe:1.0.8");
            final var beehive = SpectrocloudFunctions.getClusterGroup(GetClusterGroupArgs.builder()
                .name("beehive")
                .context("system")
                .build());
    
            final var containerRegistry = SpectrocloudFunctions.getRegistry(GetRegistryArgs.builder()
                .name("Public Repo")
                .build());
    
            final var containerPack = SpectrocloudFunctions.getPackSimple(GetPackSimpleArgs.builder()
                .type("container")
                .name("container")
                .version("1.0.0")
                .registryUid(containerRegistry.applyValue(getRegistryResult -> getRegistryResult.id()))
                .build());
    
            var hello_universe_ui = new ApplicationProfile("hello-universe-ui", ApplicationProfileArgs.builder()
                .description("Hello Universe as a single UI instance")
                .packs(ApplicationProfilePackArgs.builder()
                    .name("hello-universe-ui")
                    .type(containerPack.applyValue(getPackSimpleResult -> getPackSimpleResult.type()))
                    .registryUid(containerRegistry.applyValue(getRegistryResult -> getRegistryResult.id()))
                    .sourceAppTier(containerPack.applyValue(getPackSimpleResult -> getPackSimpleResult.id()))
                    .values("""
    containerService:
        serviceName: "hello-universe-ui-test"
        registryUrl: ""
        image: %s
        access: public
        ports:
          - "8080"
        serviceType: LoadBalancer
    ", single_container_image))
                    .build())
                .tags("scenario-1")
                .build());
    
        }
    }
    
    configuration:
      single-container-image:
        type: string
        default: ghcr.io/spectrocloud/hello-universe:1.0.8
    resources:
      hello-universe-ui:
        type: spectrocloud:ApplicationProfile
        properties:
          description: Hello Universe as a single UI instance
          packs:
            - name: hello-universe-ui
              type: ${containerPack.type}
              registryUid: ${containerRegistry.id}
              sourceAppTier: ${containerPack.id}
              values: |
                containerService:
                    serviceName: "hello-universe-ui-test"
                    registryUrl: ""
                    image: ${["single-container-image"]}
                    access: public
                    ports:
                      - "8080"
                    serviceType: LoadBalancer            
          tags:
            - scenario-1
    variables:
      beehive:
        fn::invoke:
          function: spectrocloud:getClusterGroup
          arguments:
            name: beehive
            context: system
      containerRegistry:
        fn::invoke:
          function: spectrocloud:getRegistry
          arguments:
            name: Public Repo
      containerPack:
        fn::invoke:
          function: spectrocloud:getPackSimple
          arguments:
            type: container
            name: container
            version: 1.0.0
            registryUid: ${containerRegistry.id}
    

    App Profile with Helm Chart

    import * as pulumi from "@pulumi/pulumi";
    import * as spectrocloud from "@pulumi/spectrocloud";
    
    const helm = spectrocloud.getRegistryHelm({
        name: "Public Spectro Helm Repo",
    });
    const marvel_app = helm.then(helm => spectrocloud.getPack({
        name: "marvel-app",
        registryUid: helm.id,
        version: "0.1.0",
    }));
    const my_app_profile = new spectrocloud.ApplicationProfile("my-app-profile", {
        description: "A profile for a simple application",
        context: "project",
        packs: [{
            name: marvel_app.then(marvel_app => marvel_app.name),
            type: "helm",
            registryUid: helm.then(helm => helm.id),
            sourceAppTier: marvel_app.then(marvel_app => marvel_app.id),
        }],
        tags: [
            "name:marvel-app",
            "terraform_managed:true",
            "env:dev",
        ],
    });
    
    import pulumi
    import pulumi_spectrocloud as spectrocloud
    
    helm = spectrocloud.get_registry_helm(name="Public Spectro Helm Repo")
    marvel_app = spectrocloud.get_pack(name="marvel-app",
        registry_uid=helm.id,
        version="0.1.0")
    my_app_profile = spectrocloud.ApplicationProfile("my-app-profile",
        description="A profile for a simple application",
        context="project",
        packs=[{
            "name": marvel_app.name,
            "type": "helm",
            "registry_uid": helm.id,
            "source_app_tier": marvel_app.id,
        }],
        tags=[
            "name:marvel-app",
            "terraform_managed:true",
            "env:dev",
        ])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		helm, err := spectrocloud.LookupRegistryHelm(ctx, &spectrocloud.LookupRegistryHelmArgs{
    			Name: "Public Spectro Helm Repo",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		marvel_app, err := spectrocloud.GetPack(ctx, &spectrocloud.GetPackArgs{
    			Name:        pulumi.StringRef("marvel-app"),
    			RegistryUid: pulumi.StringRef(helm.Id),
    			Version:     pulumi.StringRef("0.1.0"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = spectrocloud.NewApplicationProfile(ctx, "my-app-profile", &spectrocloud.ApplicationProfileArgs{
    			Description: pulumi.String("A profile for a simple application"),
    			Context:     pulumi.String("project"),
    			Packs: spectrocloud.ApplicationProfilePackArray{
    				&spectrocloud.ApplicationProfilePackArgs{
    					Name:          pulumi.String(marvel_app.Name),
    					Type:          pulumi.String("helm"),
    					RegistryUid:   pulumi.String(helm.Id),
    					SourceAppTier: pulumi.String(marvel_app.Id),
    				},
    			},
    			Tags: pulumi.StringArray{
    				pulumi.String("name:marvel-app"),
    				pulumi.String("terraform_managed:true"),
    				pulumi.String("env:dev"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Spectrocloud = Pulumi.Spectrocloud;
    
    return await Deployment.RunAsync(() => 
    {
        var helm = Spectrocloud.GetRegistryHelm.Invoke(new()
        {
            Name = "Public Spectro Helm Repo",
        });
    
        var marvel_app = Spectrocloud.GetPack.Invoke(new()
        {
            Name = "marvel-app",
            RegistryUid = helm.Apply(getRegistryHelmResult => getRegistryHelmResult.Id),
            Version = "0.1.0",
        });
    
        var my_app_profile = new Spectrocloud.ApplicationProfile("my-app-profile", new()
        {
            Description = "A profile for a simple application",
            Context = "project",
            Packs = new[]
            {
                new Spectrocloud.Inputs.ApplicationProfilePackArgs
                {
                    Name = marvel_app.Apply(marvel_app => marvel_app.Apply(getPackResult => getPackResult.Name)),
                    Type = "helm",
                    RegistryUid = helm.Apply(getRegistryHelmResult => getRegistryHelmResult.Id),
                    SourceAppTier = marvel_app.Apply(marvel_app => marvel_app.Apply(getPackResult => getPackResult.Id)),
                },
            },
            Tags = new[]
            {
                "name:marvel-app",
                "terraform_managed:true",
                "env:dev",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.spectrocloud.SpectrocloudFunctions;
    import com.pulumi.spectrocloud.inputs.GetRegistryHelmArgs;
    import com.pulumi.spectrocloud.inputs.GetPackArgs;
    import com.pulumi.spectrocloud.ApplicationProfile;
    import com.pulumi.spectrocloud.ApplicationProfileArgs;
    import com.pulumi.spectrocloud.inputs.ApplicationProfilePackArgs;
    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) {
            final var helm = SpectrocloudFunctions.getRegistryHelm(GetRegistryHelmArgs.builder()
                .name("Public Spectro Helm Repo")
                .build());
    
            final var marvel-app = SpectrocloudFunctions.getPack(GetPackArgs.builder()
                .name("marvel-app")
                .registryUid(helm.applyValue(getRegistryHelmResult -> getRegistryHelmResult.id()))
                .version("0.1.0")
                .build());
    
            var my_app_profile = new ApplicationProfile("my-app-profile", ApplicationProfileArgs.builder()
                .description("A profile for a simple application")
                .context("project")
                .packs(ApplicationProfilePackArgs.builder()
                    .name(marvel_app.name())
                    .type("helm")
                    .registryUid(helm.applyValue(getRegistryHelmResult -> getRegistryHelmResult.id()))
                    .sourceAppTier(marvel_app.id())
                    .build())
                .tags(            
                    "name:marvel-app",
                    "terraform_managed:true",
                    "env:dev")
                .build());
    
        }
    }
    
    resources:
      my-app-profile:
        type: spectrocloud:ApplicationProfile
        properties:
          description: A profile for a simple application
          context: project
          packs:
            - name: ${["marvel-app"].name}
              type: helm
              registryUid: ${helm.id}
              sourceAppTier: ${["marvel-app"].id}
          tags:
            - name:marvel-app
            - terraform_managed:true
            - env:dev
    variables:
      helm:
        fn::invoke:
          function: spectrocloud:getRegistryHelm
          arguments:
            name: Public Spectro Helm Repo
      marvel-app:
        fn::invoke:
          function: spectrocloud:getPack
          arguments:
            name: marvel-app
            registryUid: ${helm.id}
            version: 0.1.0
    

    Create ApplicationProfile Resource

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

    Constructor syntax

    new ApplicationProfile(name: string, args: ApplicationProfileArgs, opts?: CustomResourceOptions);
    @overload
    def ApplicationProfile(resource_name: str,
                           args: ApplicationProfileArgs,
                           opts: Optional[ResourceOptions] = None)
    
    @overload
    def ApplicationProfile(resource_name: str,
                           opts: Optional[ResourceOptions] = None,
                           packs: Optional[Sequence[ApplicationProfilePackArgs]] = None,
                           application_profile_id: Optional[str] = None,
                           cloud: Optional[str] = None,
                           context: Optional[str] = None,
                           description: Optional[str] = None,
                           name: Optional[str] = None,
                           tags: Optional[Sequence[str]] = None,
                           timeouts: Optional[ApplicationProfileTimeoutsArgs] = None,
                           version: Optional[str] = None)
    func NewApplicationProfile(ctx *Context, name string, args ApplicationProfileArgs, opts ...ResourceOption) (*ApplicationProfile, error)
    public ApplicationProfile(string name, ApplicationProfileArgs args, CustomResourceOptions? opts = null)
    public ApplicationProfile(String name, ApplicationProfileArgs args)
    public ApplicationProfile(String name, ApplicationProfileArgs args, CustomResourceOptions options)
    
    type: spectrocloud:ApplicationProfile
    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 ApplicationProfileArgs
    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 ApplicationProfileArgs
    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 ApplicationProfileArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ApplicationProfileArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ApplicationProfileArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

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

    var applicationProfileResource = new Spectrocloud.ApplicationProfile("applicationProfileResource", new()
    {
        Packs = new[]
        {
            new Spectrocloud.Inputs.ApplicationProfilePackArgs
            {
                Name = "string",
                InstallOrder = 0,
                Manifests = new[]
                {
                    new Spectrocloud.Inputs.ApplicationProfilePackManifestArgs
                    {
                        Content = "string",
                        Name = "string",
                        Uid = "string",
                    },
                },
                Properties = 
                {
                    { "string", "string" },
                },
                RegistryUid = "string",
                SourceAppTier = "string",
                Tag = "string",
                Type = "string",
                Uid = "string",
                Values = "string",
            },
        },
        ApplicationProfileId = "string",
        Cloud = "string",
        Context = "string",
        Description = "string",
        Name = "string",
        Tags = new[]
        {
            "string",
        },
        Timeouts = new Spectrocloud.Inputs.ApplicationProfileTimeoutsArgs
        {
            Create = "string",
            Delete = "string",
            Update = "string",
        },
        Version = "string",
    });
    
    example, err := spectrocloud.NewApplicationProfile(ctx, "applicationProfileResource", &spectrocloud.ApplicationProfileArgs{
    	Packs: spectrocloud.ApplicationProfilePackArray{
    		&spectrocloud.ApplicationProfilePackArgs{
    			Name:         pulumi.String("string"),
    			InstallOrder: pulumi.Float64(0),
    			Manifests: spectrocloud.ApplicationProfilePackManifestArray{
    				&spectrocloud.ApplicationProfilePackManifestArgs{
    					Content: pulumi.String("string"),
    					Name:    pulumi.String("string"),
    					Uid:     pulumi.String("string"),
    				},
    			},
    			Properties: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    			RegistryUid:   pulumi.String("string"),
    			SourceAppTier: pulumi.String("string"),
    			Tag:           pulumi.String("string"),
    			Type:          pulumi.String("string"),
    			Uid:           pulumi.String("string"),
    			Values:        pulumi.String("string"),
    		},
    	},
    	ApplicationProfileId: pulumi.String("string"),
    	Cloud:                pulumi.String("string"),
    	Context:              pulumi.String("string"),
    	Description:          pulumi.String("string"),
    	Name:                 pulumi.String("string"),
    	Tags: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Timeouts: &spectrocloud.ApplicationProfileTimeoutsArgs{
    		Create: pulumi.String("string"),
    		Delete: pulumi.String("string"),
    		Update: pulumi.String("string"),
    	},
    	Version: pulumi.String("string"),
    })
    
    var applicationProfileResource = new ApplicationProfile("applicationProfileResource", ApplicationProfileArgs.builder()
        .packs(ApplicationProfilePackArgs.builder()
            .name("string")
            .installOrder(0)
            .manifests(ApplicationProfilePackManifestArgs.builder()
                .content("string")
                .name("string")
                .uid("string")
                .build())
            .properties(Map.of("string", "string"))
            .registryUid("string")
            .sourceAppTier("string")
            .tag("string")
            .type("string")
            .uid("string")
            .values("string")
            .build())
        .applicationProfileId("string")
        .cloud("string")
        .context("string")
        .description("string")
        .name("string")
        .tags("string")
        .timeouts(ApplicationProfileTimeoutsArgs.builder()
            .create("string")
            .delete("string")
            .update("string")
            .build())
        .version("string")
        .build());
    
    application_profile_resource = spectrocloud.ApplicationProfile("applicationProfileResource",
        packs=[{
            "name": "string",
            "install_order": 0,
            "manifests": [{
                "content": "string",
                "name": "string",
                "uid": "string",
            }],
            "properties": {
                "string": "string",
            },
            "registry_uid": "string",
            "source_app_tier": "string",
            "tag": "string",
            "type": "string",
            "uid": "string",
            "values": "string",
        }],
        application_profile_id="string",
        cloud="string",
        context="string",
        description="string",
        name="string",
        tags=["string"],
        timeouts={
            "create": "string",
            "delete": "string",
            "update": "string",
        },
        version="string")
    
    const applicationProfileResource = new spectrocloud.ApplicationProfile("applicationProfileResource", {
        packs: [{
            name: "string",
            installOrder: 0,
            manifests: [{
                content: "string",
                name: "string",
                uid: "string",
            }],
            properties: {
                string: "string",
            },
            registryUid: "string",
            sourceAppTier: "string",
            tag: "string",
            type: "string",
            uid: "string",
            values: "string",
        }],
        applicationProfileId: "string",
        cloud: "string",
        context: "string",
        description: "string",
        name: "string",
        tags: ["string"],
        timeouts: {
            create: "string",
            "delete": "string",
            update: "string",
        },
        version: "string",
    });
    
    type: spectrocloud:ApplicationProfile
    properties:
        applicationProfileId: string
        cloud: string
        context: string
        description: string
        name: string
        packs:
            - installOrder: 0
              manifests:
                - content: string
                  name: string
                  uid: string
              name: string
              properties:
                string: string
              registryUid: string
              sourceAppTier: string
              tag: string
              type: string
              uid: string
              values: string
        tags:
            - string
        timeouts:
            create: string
            delete: string
            update: string
        version: string
    

    ApplicationProfile Resource Properties

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

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The ApplicationProfile resource accepts the following input properties:

    Packs List<ApplicationProfilePack>
    A list of packs to be applied to the application profile.
    ApplicationProfileId string
    The ID of this resource.
    Cloud string
    The cloud provider the profile is eligible for. Default value is all.
    Context string
    Context of the profile. Allowed values are project, cluster, or namespace. Default value is project.If the project context is specified, the project name will sourced from the provider configuration parameter project_name.
    Description string
    Description of the profile.
    Name string
    Name of the application profile
    Tags List<string>
    A list of tags to be applied to the application profile. Tags must be in the form of key:value.
    Timeouts ApplicationProfileTimeouts
    Version string
    Version of the profile. Default value is 1.0.0.
    Packs []ApplicationProfilePackArgs
    A list of packs to be applied to the application profile.
    ApplicationProfileId string
    The ID of this resource.
    Cloud string
    The cloud provider the profile is eligible for. Default value is all.
    Context string
    Context of the profile. Allowed values are project, cluster, or namespace. Default value is project.If the project context is specified, the project name will sourced from the provider configuration parameter project_name.
    Description string
    Description of the profile.
    Name string
    Name of the application profile
    Tags []string
    A list of tags to be applied to the application profile. Tags must be in the form of key:value.
    Timeouts ApplicationProfileTimeoutsArgs
    Version string
    Version of the profile. Default value is 1.0.0.
    packs List<ApplicationProfilePack>
    A list of packs to be applied to the application profile.
    applicationProfileId String
    The ID of this resource.
    cloud String
    The cloud provider the profile is eligible for. Default value is all.
    context String
    Context of the profile. Allowed values are project, cluster, or namespace. Default value is project.If the project context is specified, the project name will sourced from the provider configuration parameter project_name.
    description String
    Description of the profile.
    name String
    Name of the application profile
    tags List<String>
    A list of tags to be applied to the application profile. Tags must be in the form of key:value.
    timeouts ApplicationProfileTimeouts
    version String
    Version of the profile. Default value is 1.0.0.
    packs ApplicationProfilePack[]
    A list of packs to be applied to the application profile.
    applicationProfileId string
    The ID of this resource.
    cloud string
    The cloud provider the profile is eligible for. Default value is all.
    context string
    Context of the profile. Allowed values are project, cluster, or namespace. Default value is project.If the project context is specified, the project name will sourced from the provider configuration parameter project_name.
    description string
    Description of the profile.
    name string
    Name of the application profile
    tags string[]
    A list of tags to be applied to the application profile. Tags must be in the form of key:value.
    timeouts ApplicationProfileTimeouts
    version string
    Version of the profile. Default value is 1.0.0.
    packs Sequence[ApplicationProfilePackArgs]
    A list of packs to be applied to the application profile.
    application_profile_id str
    The ID of this resource.
    cloud str
    The cloud provider the profile is eligible for. Default value is all.
    context str
    Context of the profile. Allowed values are project, cluster, or namespace. Default value is project.If the project context is specified, the project name will sourced from the provider configuration parameter project_name.
    description str
    Description of the profile.
    name str
    Name of the application profile
    tags Sequence[str]
    A list of tags to be applied to the application profile. Tags must be in the form of key:value.
    timeouts ApplicationProfileTimeoutsArgs
    version str
    Version of the profile. Default value is 1.0.0.
    packs List<Property Map>
    A list of packs to be applied to the application profile.
    applicationProfileId String
    The ID of this resource.
    cloud String
    The cloud provider the profile is eligible for. Default value is all.
    context String
    Context of the profile. Allowed values are project, cluster, or namespace. Default value is project.If the project context is specified, the project name will sourced from the provider configuration parameter project_name.
    description String
    Description of the profile.
    name String
    Name of the application profile
    tags List<String>
    A list of tags to be applied to the application profile. Tags must be in the form of key:value.
    timeouts Property Map
    version String
    Version of the profile. Default value is 1.0.0.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the ApplicationProfile 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 ApplicationProfile Resource

    Get an existing ApplicationProfile 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?: ApplicationProfileState, opts?: CustomResourceOptions): ApplicationProfile
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            application_profile_id: Optional[str] = None,
            cloud: Optional[str] = None,
            context: Optional[str] = None,
            description: Optional[str] = None,
            name: Optional[str] = None,
            packs: Optional[Sequence[ApplicationProfilePackArgs]] = None,
            tags: Optional[Sequence[str]] = None,
            timeouts: Optional[ApplicationProfileTimeoutsArgs] = None,
            version: Optional[str] = None) -> ApplicationProfile
    func GetApplicationProfile(ctx *Context, name string, id IDInput, state *ApplicationProfileState, opts ...ResourceOption) (*ApplicationProfile, error)
    public static ApplicationProfile Get(string name, Input<string> id, ApplicationProfileState? state, CustomResourceOptions? opts = null)
    public static ApplicationProfile get(String name, Output<String> id, ApplicationProfileState state, CustomResourceOptions options)
    resources:  _:    type: spectrocloud:ApplicationProfile    get:      id: ${id}
    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:
    ApplicationProfileId string
    The ID of this resource.
    Cloud string
    The cloud provider the profile is eligible for. Default value is all.
    Context string
    Context of the profile. Allowed values are project, cluster, or namespace. Default value is project.If the project context is specified, the project name will sourced from the provider configuration parameter project_name.
    Description string
    Description of the profile.
    Name string
    Name of the application profile
    Packs List<ApplicationProfilePack>
    A list of packs to be applied to the application profile.
    Tags List<string>
    A list of tags to be applied to the application profile. Tags must be in the form of key:value.
    Timeouts ApplicationProfileTimeouts
    Version string
    Version of the profile. Default value is 1.0.0.
    ApplicationProfileId string
    The ID of this resource.
    Cloud string
    The cloud provider the profile is eligible for. Default value is all.
    Context string
    Context of the profile. Allowed values are project, cluster, or namespace. Default value is project.If the project context is specified, the project name will sourced from the provider configuration parameter project_name.
    Description string
    Description of the profile.
    Name string
    Name of the application profile
    Packs []ApplicationProfilePackArgs
    A list of packs to be applied to the application profile.
    Tags []string
    A list of tags to be applied to the application profile. Tags must be in the form of key:value.
    Timeouts ApplicationProfileTimeoutsArgs
    Version string
    Version of the profile. Default value is 1.0.0.
    applicationProfileId String
    The ID of this resource.
    cloud String
    The cloud provider the profile is eligible for. Default value is all.
    context String
    Context of the profile. Allowed values are project, cluster, or namespace. Default value is project.If the project context is specified, the project name will sourced from the provider configuration parameter project_name.
    description String
    Description of the profile.
    name String
    Name of the application profile
    packs List<ApplicationProfilePack>
    A list of packs to be applied to the application profile.
    tags List<String>
    A list of tags to be applied to the application profile. Tags must be in the form of key:value.
    timeouts ApplicationProfileTimeouts
    version String
    Version of the profile. Default value is 1.0.0.
    applicationProfileId string
    The ID of this resource.
    cloud string
    The cloud provider the profile is eligible for. Default value is all.
    context string
    Context of the profile. Allowed values are project, cluster, or namespace. Default value is project.If the project context is specified, the project name will sourced from the provider configuration parameter project_name.
    description string
    Description of the profile.
    name string
    Name of the application profile
    packs ApplicationProfilePack[]
    A list of packs to be applied to the application profile.
    tags string[]
    A list of tags to be applied to the application profile. Tags must be in the form of key:value.
    timeouts ApplicationProfileTimeouts
    version string
    Version of the profile. Default value is 1.0.0.
    application_profile_id str
    The ID of this resource.
    cloud str
    The cloud provider the profile is eligible for. Default value is all.
    context str
    Context of the profile. Allowed values are project, cluster, or namespace. Default value is project.If the project context is specified, the project name will sourced from the provider configuration parameter project_name.
    description str
    Description of the profile.
    name str
    Name of the application profile
    packs Sequence[ApplicationProfilePackArgs]
    A list of packs to be applied to the application profile.
    tags Sequence[str]
    A list of tags to be applied to the application profile. Tags must be in the form of key:value.
    timeouts ApplicationProfileTimeoutsArgs
    version str
    Version of the profile. Default value is 1.0.0.
    applicationProfileId String
    The ID of this resource.
    cloud String
    The cloud provider the profile is eligible for. Default value is all.
    context String
    Context of the profile. Allowed values are project, cluster, or namespace. Default value is project.If the project context is specified, the project name will sourced from the provider configuration parameter project_name.
    description String
    Description of the profile.
    name String
    Name of the application profile
    packs List<Property Map>
    A list of packs to be applied to the application profile.
    tags List<String>
    A list of tags to be applied to the application profile. Tags must be in the form of key:value.
    timeouts Property Map
    version String
    Version of the profile. Default value is 1.0.0.

    Supporting Types

    ApplicationProfilePack, ApplicationProfilePackArgs

    Name string
    The name of the specified pack.
    InstallOrder double
    The installation priority order of the app profile. The order of priority goes from lowest number to highest number. For example, a value of -3 would be installed before an app profile with a higher number value. No upper and lower limits exist, and you may specify positive and negative integers. The default value is 0.
    Manifests List<ApplicationProfilePackManifest>
    The manifest of the pack.
    Properties Dictionary<string, string>
    The various properties required by different database tiers eg: databaseName and databaseVolumeSize size for Redis etc.
    RegistryUid string
    The unique id of the registry to be used for the pack.
    SourceAppTier string
    The unique id of the pack to be used as the source for the pack.
    Tag string
    The identifier or version to label the pack.
    Type string
    The type of Pack. Allowed values are container, helm, manifest, or operator-instance.
    Uid string
    The unique id of the pack. This is a computed field and is not required to be set.
    Values string
    The values to be used for the pack. This is a stringified JSON object.
    Name string
    The name of the specified pack.
    InstallOrder float64
    The installation priority order of the app profile. The order of priority goes from lowest number to highest number. For example, a value of -3 would be installed before an app profile with a higher number value. No upper and lower limits exist, and you may specify positive and negative integers. The default value is 0.
    Manifests []ApplicationProfilePackManifest
    The manifest of the pack.
    Properties map[string]string
    The various properties required by different database tiers eg: databaseName and databaseVolumeSize size for Redis etc.
    RegistryUid string
    The unique id of the registry to be used for the pack.
    SourceAppTier string
    The unique id of the pack to be used as the source for the pack.
    Tag string
    The identifier or version to label the pack.
    Type string
    The type of Pack. Allowed values are container, helm, manifest, or operator-instance.
    Uid string
    The unique id of the pack. This is a computed field and is not required to be set.
    Values string
    The values to be used for the pack. This is a stringified JSON object.
    name String
    The name of the specified pack.
    installOrder Double
    The installation priority order of the app profile. The order of priority goes from lowest number to highest number. For example, a value of -3 would be installed before an app profile with a higher number value. No upper and lower limits exist, and you may specify positive and negative integers. The default value is 0.
    manifests List<ApplicationProfilePackManifest>
    The manifest of the pack.
    properties Map<String,String>
    The various properties required by different database tiers eg: databaseName and databaseVolumeSize size for Redis etc.
    registryUid String
    The unique id of the registry to be used for the pack.
    sourceAppTier String
    The unique id of the pack to be used as the source for the pack.
    tag String
    The identifier or version to label the pack.
    type String
    The type of Pack. Allowed values are container, helm, manifest, or operator-instance.
    uid String
    The unique id of the pack. This is a computed field and is not required to be set.
    values String
    The values to be used for the pack. This is a stringified JSON object.
    name string
    The name of the specified pack.
    installOrder number
    The installation priority order of the app profile. The order of priority goes from lowest number to highest number. For example, a value of -3 would be installed before an app profile with a higher number value. No upper and lower limits exist, and you may specify positive and negative integers. The default value is 0.
    manifests ApplicationProfilePackManifest[]
    The manifest of the pack.
    properties {[key: string]: string}
    The various properties required by different database tiers eg: databaseName and databaseVolumeSize size for Redis etc.
    registryUid string
    The unique id of the registry to be used for the pack.
    sourceAppTier string
    The unique id of the pack to be used as the source for the pack.
    tag string
    The identifier or version to label the pack.
    type string
    The type of Pack. Allowed values are container, helm, manifest, or operator-instance.
    uid string
    The unique id of the pack. This is a computed field and is not required to be set.
    values string
    The values to be used for the pack. This is a stringified JSON object.
    name str
    The name of the specified pack.
    install_order float
    The installation priority order of the app profile. The order of priority goes from lowest number to highest number. For example, a value of -3 would be installed before an app profile with a higher number value. No upper and lower limits exist, and you may specify positive and negative integers. The default value is 0.
    manifests Sequence[ApplicationProfilePackManifest]
    The manifest of the pack.
    properties Mapping[str, str]
    The various properties required by different database tiers eg: databaseName and databaseVolumeSize size for Redis etc.
    registry_uid str
    The unique id of the registry to be used for the pack.
    source_app_tier str
    The unique id of the pack to be used as the source for the pack.
    tag str
    The identifier or version to label the pack.
    type str
    The type of Pack. Allowed values are container, helm, manifest, or operator-instance.
    uid str
    The unique id of the pack. This is a computed field and is not required to be set.
    values str
    The values to be used for the pack. This is a stringified JSON object.
    name String
    The name of the specified pack.
    installOrder Number
    The installation priority order of the app profile. The order of priority goes from lowest number to highest number. For example, a value of -3 would be installed before an app profile with a higher number value. No upper and lower limits exist, and you may specify positive and negative integers. The default value is 0.
    manifests List<Property Map>
    The manifest of the pack.
    properties Map<String>
    The various properties required by different database tiers eg: databaseName and databaseVolumeSize size for Redis etc.
    registryUid String
    The unique id of the registry to be used for the pack.
    sourceAppTier String
    The unique id of the pack to be used as the source for the pack.
    tag String
    The identifier or version to label the pack.
    type String
    The type of Pack. Allowed values are container, helm, manifest, or operator-instance.
    uid String
    The unique id of the pack. This is a computed field and is not required to be set.
    values String
    The values to be used for the pack. This is a stringified JSON object.

    ApplicationProfilePackManifest, ApplicationProfilePackManifestArgs

    Content string
    The content of the manifest.
    Name string
    The name of the manifest.
    Uid string
    Content string
    The content of the manifest.
    Name string
    The name of the manifest.
    Uid string
    content String
    The content of the manifest.
    name String
    The name of the manifest.
    uid String
    content string
    The content of the manifest.
    name string
    The name of the manifest.
    uid string
    content str
    The content of the manifest.
    name str
    The name of the manifest.
    uid str
    content String
    The content of the manifest.
    name String
    The name of the manifest.
    uid String

    ApplicationProfileTimeouts, ApplicationProfileTimeoutsArgs

    Create string
    Delete string
    Update string
    Create string
    Delete string
    Update string
    create String
    delete String
    update String
    create string
    delete string
    update string
    create str
    delete str
    update str
    create String
    delete String
    update String

    Package Details

    Repository
    spectrocloud spectrocloud/terraform-provider-spectrocloud
    License
    Notes
    This Pulumi package is based on the spectrocloud Terraform Provider.
    spectrocloud logo
    spectrocloud 0.23.5 published on Sunday, Apr 20, 2025 by spectrocloud