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

spectrocloud.Application

Explore with Pulumi AI

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

    Example Usage

    Application deployment into Cluster Group.

    import * as pulumi from "@pulumi/pulumi";
    import * as spectrocloud from "@pulumi/spectrocloud";
    
    const application = new spectrocloud.Application("application", {
        applicationProfileUid: data.spectrocloud_application_profile.id,
        config: {
            clusterName: "sandbox-scorpius",
            clusterGroupUid: "6358d799fad5aa39fa26a8c2",
            limits: [{
                cpu: 2,
                memory: 4096,
                storage: 10,
            }],
        },
    });
    
    import pulumi
    import pulumi_spectrocloud as spectrocloud
    
    application = spectrocloud.Application("application",
        application_profile_uid=data["spectrocloud_application_profile"]["id"],
        config={
            "cluster_name": "sandbox-scorpius",
            "cluster_group_uid": "6358d799fad5aa39fa26a8c2",
            "limits": [{
                "cpu": 2,
                "memory": 4096,
                "storage": 10,
            }],
        })
    
    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 {
    		_, err := spectrocloud.NewApplication(ctx, "application", &spectrocloud.ApplicationArgs{
    			ApplicationProfileUid: pulumi.Any(data.Spectrocloud_application_profile.Id),
    			Config: &spectrocloud.ApplicationConfigArgs{
    				ClusterName:     pulumi.String("sandbox-scorpius"),
    				ClusterGroupUid: pulumi.String("6358d799fad5aa39fa26a8c2"),
    				Limits: spectrocloud.ApplicationConfigLimitArray{
    					&spectrocloud.ApplicationConfigLimitArgs{
    						Cpu:     pulumi.Float64(2),
    						Memory:  pulumi.Float64(4096),
    						Storage: pulumi.Float64(10),
    					},
    				},
    			},
    		})
    		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 application = new Spectrocloud.Application("application", new()
        {
            ApplicationProfileUid = data.Spectrocloud_application_profile.Id,
            Config = new Spectrocloud.Inputs.ApplicationConfigArgs
            {
                ClusterName = "sandbox-scorpius",
                ClusterGroupUid = "6358d799fad5aa39fa26a8c2",
                Limits = new[]
                {
                    new Spectrocloud.Inputs.ApplicationConfigLimitArgs
                    {
                        Cpu = 2,
                        Memory = 4096,
                        Storage = 10,
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.spectrocloud.Application;
    import com.pulumi.spectrocloud.ApplicationArgs;
    import com.pulumi.spectrocloud.inputs.ApplicationConfigArgs;
    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 application = new Application("application", ApplicationArgs.builder()
                .applicationProfileUid(data.spectrocloud_application_profile().id())
                .config(ApplicationConfigArgs.builder()
                    .clusterName("sandbox-scorpius")
                    .clusterGroupUid("6358d799fad5aa39fa26a8c2")
                    .limits(ApplicationConfigLimitArgs.builder()
                        .cpu(2)
                        .memory(4096)
                        .storage(10)
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      application:
        type: spectrocloud:Application
        properties:
          applicationProfileUid: ${data.spectrocloud_application_profile.id}
          config:
            clusterName: sandbox-scorpius
            clusterGroupUid: 6358d799fad5aa39fa26a8c2
            limits:
              - cpu: 2
                memory: 4096
                storage: 10
    

    Create Application Resource

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

    Constructor syntax

    new Application(name: string, args: ApplicationArgs, opts?: CustomResourceOptions);
    @overload
    def Application(resource_name: str,
                    args: ApplicationArgs,
                    opts: Optional[ResourceOptions] = None)
    
    @overload
    def Application(resource_name: str,
                    opts: Optional[ResourceOptions] = None,
                    application_profile_uid: Optional[str] = None,
                    application_id: Optional[str] = None,
                    config: Optional[ApplicationConfigArgs] = None,
                    name: Optional[str] = None,
                    tags: Optional[Sequence[str]] = None,
                    timeouts: Optional[ApplicationTimeoutsArgs] = None)
    func NewApplication(ctx *Context, name string, args ApplicationArgs, opts ...ResourceOption) (*Application, error)
    public Application(string name, ApplicationArgs args, CustomResourceOptions? opts = null)
    public Application(String name, ApplicationArgs args)
    public Application(String name, ApplicationArgs args, CustomResourceOptions options)
    
    type: spectrocloud:Application
    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 ApplicationArgs
    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 ApplicationArgs
    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 ApplicationArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ApplicationArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ApplicationArgs
    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 applicationResource = new Spectrocloud.Application("applicationResource", new()
    {
        ApplicationProfileUid = "string",
        ApplicationId = "string",
        Config = new Spectrocloud.Inputs.ApplicationConfigArgs
        {
            ClusterContext = "string",
            ClusterGroupUid = "string",
            ClusterName = "string",
            ClusterUid = "string",
            Limits = new[]
            {
                new Spectrocloud.Inputs.ApplicationConfigLimitArgs
                {
                    Cpu = 0,
                    Memory = 0,
                    Storage = 0,
                },
            },
        },
        Name = "string",
        Tags = new[]
        {
            "string",
        },
        Timeouts = new Spectrocloud.Inputs.ApplicationTimeoutsArgs
        {
            Create = "string",
            Delete = "string",
            Update = "string",
        },
    });
    
    example, err := spectrocloud.NewApplication(ctx, "applicationResource", &spectrocloud.ApplicationArgs{
    	ApplicationProfileUid: pulumi.String("string"),
    	ApplicationId:         pulumi.String("string"),
    	Config: &spectrocloud.ApplicationConfigArgs{
    		ClusterContext:  pulumi.String("string"),
    		ClusterGroupUid: pulumi.String("string"),
    		ClusterName:     pulumi.String("string"),
    		ClusterUid:      pulumi.String("string"),
    		Limits: spectrocloud.ApplicationConfigLimitArray{
    			&spectrocloud.ApplicationConfigLimitArgs{
    				Cpu:     pulumi.Float64(0),
    				Memory:  pulumi.Float64(0),
    				Storage: pulumi.Float64(0),
    			},
    		},
    	},
    	Name: pulumi.String("string"),
    	Tags: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Timeouts: &spectrocloud.ApplicationTimeoutsArgs{
    		Create: pulumi.String("string"),
    		Delete: pulumi.String("string"),
    		Update: pulumi.String("string"),
    	},
    })
    
    var applicationResource = new Application("applicationResource", ApplicationArgs.builder()
        .applicationProfileUid("string")
        .applicationId("string")
        .config(ApplicationConfigArgs.builder()
            .clusterContext("string")
            .clusterGroupUid("string")
            .clusterName("string")
            .clusterUid("string")
            .limits(ApplicationConfigLimitArgs.builder()
                .cpu(0)
                .memory(0)
                .storage(0)
                .build())
            .build())
        .name("string")
        .tags("string")
        .timeouts(ApplicationTimeoutsArgs.builder()
            .create("string")
            .delete("string")
            .update("string")
            .build())
        .build());
    
    application_resource = spectrocloud.Application("applicationResource",
        application_profile_uid="string",
        application_id="string",
        config={
            "cluster_context": "string",
            "cluster_group_uid": "string",
            "cluster_name": "string",
            "cluster_uid": "string",
            "limits": [{
                "cpu": 0,
                "memory": 0,
                "storage": 0,
            }],
        },
        name="string",
        tags=["string"],
        timeouts={
            "create": "string",
            "delete": "string",
            "update": "string",
        })
    
    const applicationResource = new spectrocloud.Application("applicationResource", {
        applicationProfileUid: "string",
        applicationId: "string",
        config: {
            clusterContext: "string",
            clusterGroupUid: "string",
            clusterName: "string",
            clusterUid: "string",
            limits: [{
                cpu: 0,
                memory: 0,
                storage: 0,
            }],
        },
        name: "string",
        tags: ["string"],
        timeouts: {
            create: "string",
            "delete": "string",
            update: "string",
        },
    });
    
    type: spectrocloud:Application
    properties:
        applicationId: string
        applicationProfileUid: string
        config:
            clusterContext: string
            clusterGroupUid: string
            clusterName: string
            clusterUid: string
            limits:
                - cpu: 0
                  memory: 0
                  storage: 0
        name: string
        tags:
            - string
        timeouts:
            create: string
            delete: string
            update: string
    

    Application 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 Application resource accepts the following input properties:

    ApplicationProfileUid string
    The unique identifier (UID) of the application profile to use for this application.
    ApplicationId string
    The ID of this resource.
    Config ApplicationConfig
    The configuration block for specifying cluster and resource limits for the application.
    Name string
    The name of the application being created.
    Tags List<string>
    A set of tags to associate with the application for easier identification and categorization.
    Timeouts ApplicationTimeouts
    ApplicationProfileUid string
    The unique identifier (UID) of the application profile to use for this application.
    ApplicationId string
    The ID of this resource.
    Config ApplicationConfigArgs
    The configuration block for specifying cluster and resource limits for the application.
    Name string
    The name of the application being created.
    Tags []string
    A set of tags to associate with the application for easier identification and categorization.
    Timeouts ApplicationTimeoutsArgs
    applicationProfileUid String
    The unique identifier (UID) of the application profile to use for this application.
    applicationId String
    The ID of this resource.
    config ApplicationConfig
    The configuration block for specifying cluster and resource limits for the application.
    name String
    The name of the application being created.
    tags List<String>
    A set of tags to associate with the application for easier identification and categorization.
    timeouts ApplicationTimeouts
    applicationProfileUid string
    The unique identifier (UID) of the application profile to use for this application.
    applicationId string
    The ID of this resource.
    config ApplicationConfig
    The configuration block for specifying cluster and resource limits for the application.
    name string
    The name of the application being created.
    tags string[]
    A set of tags to associate with the application for easier identification and categorization.
    timeouts ApplicationTimeouts
    application_profile_uid str
    The unique identifier (UID) of the application profile to use for this application.
    application_id str
    The ID of this resource.
    config ApplicationConfigArgs
    The configuration block for specifying cluster and resource limits for the application.
    name str
    The name of the application being created.
    tags Sequence[str]
    A set of tags to associate with the application for easier identification and categorization.
    timeouts ApplicationTimeoutsArgs
    applicationProfileUid String
    The unique identifier (UID) of the application profile to use for this application.
    applicationId String
    The ID of this resource.
    config Property Map
    The configuration block for specifying cluster and resource limits for the application.
    name String
    The name of the application being created.
    tags List<String>
    A set of tags to associate with the application for easier identification and categorization.
    timeouts Property Map

    Outputs

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

    Get an existing Application 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?: ApplicationState, opts?: CustomResourceOptions): Application
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            application_id: Optional[str] = None,
            application_profile_uid: Optional[str] = None,
            config: Optional[ApplicationConfigArgs] = None,
            name: Optional[str] = None,
            tags: Optional[Sequence[str]] = None,
            timeouts: Optional[ApplicationTimeoutsArgs] = None) -> Application
    func GetApplication(ctx *Context, name string, id IDInput, state *ApplicationState, opts ...ResourceOption) (*Application, error)
    public static Application Get(string name, Input<string> id, ApplicationState? state, CustomResourceOptions? opts = null)
    public static Application get(String name, Output<String> id, ApplicationState state, CustomResourceOptions options)
    resources:  _:    type: spectrocloud:Application    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:
    ApplicationId string
    The ID of this resource.
    ApplicationProfileUid string
    The unique identifier (UID) of the application profile to use for this application.
    Config ApplicationConfig
    The configuration block for specifying cluster and resource limits for the application.
    Name string
    The name of the application being created.
    Tags List<string>
    A set of tags to associate with the application for easier identification and categorization.
    Timeouts ApplicationTimeouts
    ApplicationId string
    The ID of this resource.
    ApplicationProfileUid string
    The unique identifier (UID) of the application profile to use for this application.
    Config ApplicationConfigArgs
    The configuration block for specifying cluster and resource limits for the application.
    Name string
    The name of the application being created.
    Tags []string
    A set of tags to associate with the application for easier identification and categorization.
    Timeouts ApplicationTimeoutsArgs
    applicationId String
    The ID of this resource.
    applicationProfileUid String
    The unique identifier (UID) of the application profile to use for this application.
    config ApplicationConfig
    The configuration block for specifying cluster and resource limits for the application.
    name String
    The name of the application being created.
    tags List<String>
    A set of tags to associate with the application for easier identification and categorization.
    timeouts ApplicationTimeouts
    applicationId string
    The ID of this resource.
    applicationProfileUid string
    The unique identifier (UID) of the application profile to use for this application.
    config ApplicationConfig
    The configuration block for specifying cluster and resource limits for the application.
    name string
    The name of the application being created.
    tags string[]
    A set of tags to associate with the application for easier identification and categorization.
    timeouts ApplicationTimeouts
    application_id str
    The ID of this resource.
    application_profile_uid str
    The unique identifier (UID) of the application profile to use for this application.
    config ApplicationConfigArgs
    The configuration block for specifying cluster and resource limits for the application.
    name str
    The name of the application being created.
    tags Sequence[str]
    A set of tags to associate with the application for easier identification and categorization.
    timeouts ApplicationTimeoutsArgs
    applicationId String
    The ID of this resource.
    applicationProfileUid String
    The unique identifier (UID) of the application profile to use for this application.
    config Property Map
    The configuration block for specifying cluster and resource limits for the application.
    name String
    The name of the application being created.
    tags List<String>
    A set of tags to associate with the application for easier identification and categorization.
    timeouts Property Map

    Supporting Types

    ApplicationConfig, ApplicationConfigArgs

    ClusterContext string
    The context for the cluster, Either tenant or project can be provided.
    ClusterGroupUid string
    The unique identifier (UID) of the cluster group. Either cluster_uid or cluster_group_uid can be provided.
    ClusterName string
    An optional name for the target cluster.
    ClusterUid string
    The unique identifier (UID) of the target cluster. Either cluster_uid or cluster_group_uid can be provided.
    Limits List<ApplicationConfigLimit>
    Optional resource limits for the application, including CPU, memory, and storage constraints.
    ClusterContext string
    The context for the cluster, Either tenant or project can be provided.
    ClusterGroupUid string
    The unique identifier (UID) of the cluster group. Either cluster_uid or cluster_group_uid can be provided.
    ClusterName string
    An optional name for the target cluster.
    ClusterUid string
    The unique identifier (UID) of the target cluster. Either cluster_uid or cluster_group_uid can be provided.
    Limits []ApplicationConfigLimit
    Optional resource limits for the application, including CPU, memory, and storage constraints.
    clusterContext String
    The context for the cluster, Either tenant or project can be provided.
    clusterGroupUid String
    The unique identifier (UID) of the cluster group. Either cluster_uid or cluster_group_uid can be provided.
    clusterName String
    An optional name for the target cluster.
    clusterUid String
    The unique identifier (UID) of the target cluster. Either cluster_uid or cluster_group_uid can be provided.
    limits List<ApplicationConfigLimit>
    Optional resource limits for the application, including CPU, memory, and storage constraints.
    clusterContext string
    The context for the cluster, Either tenant or project can be provided.
    clusterGroupUid string
    The unique identifier (UID) of the cluster group. Either cluster_uid or cluster_group_uid can be provided.
    clusterName string
    An optional name for the target cluster.
    clusterUid string
    The unique identifier (UID) of the target cluster. Either cluster_uid or cluster_group_uid can be provided.
    limits ApplicationConfigLimit[]
    Optional resource limits for the application, including CPU, memory, and storage constraints.
    cluster_context str
    The context for the cluster, Either tenant or project can be provided.
    cluster_group_uid str
    The unique identifier (UID) of the cluster group. Either cluster_uid or cluster_group_uid can be provided.
    cluster_name str
    An optional name for the target cluster.
    cluster_uid str
    The unique identifier (UID) of the target cluster. Either cluster_uid or cluster_group_uid can be provided.
    limits Sequence[ApplicationConfigLimit]
    Optional resource limits for the application, including CPU, memory, and storage constraints.
    clusterContext String
    The context for the cluster, Either tenant or project can be provided.
    clusterGroupUid String
    The unique identifier (UID) of the cluster group. Either cluster_uid or cluster_group_uid can be provided.
    clusterName String
    An optional name for the target cluster.
    clusterUid String
    The unique identifier (UID) of the target cluster. Either cluster_uid or cluster_group_uid can be provided.
    limits List<Property Map>
    Optional resource limits for the application, including CPU, memory, and storage constraints.

    ApplicationConfigLimit, ApplicationConfigLimitArgs

    Cpu double
    The CPU allocation for the application, specified in integer values.
    Memory double
    The memory allocation for the application, specified in megabytes.
    Storage double
    The storage allocation for the application, specified in gigabytes.
    Cpu float64
    The CPU allocation for the application, specified in integer values.
    Memory float64
    The memory allocation for the application, specified in megabytes.
    Storage float64
    The storage allocation for the application, specified in gigabytes.
    cpu Double
    The CPU allocation for the application, specified in integer values.
    memory Double
    The memory allocation for the application, specified in megabytes.
    storage Double
    The storage allocation for the application, specified in gigabytes.
    cpu number
    The CPU allocation for the application, specified in integer values.
    memory number
    The memory allocation for the application, specified in megabytes.
    storage number
    The storage allocation for the application, specified in gigabytes.
    cpu float
    The CPU allocation for the application, specified in integer values.
    memory float
    The memory allocation for the application, specified in megabytes.
    storage float
    The storage allocation for the application, specified in gigabytes.
    cpu Number
    The CPU allocation for the application, specified in integer values.
    memory Number
    The memory allocation for the application, specified in megabytes.
    storage Number
    The storage allocation for the application, specified in gigabytes.

    ApplicationTimeouts, ApplicationTimeoutsArgs

    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