1. Packages
  2. Spectrocloud Provider
  3. API Docs
  4. Application
spectrocloud 0.23.4 published on Monday, Apr 14, 2025 by spectrocloud

spectrocloud.Application

Explore with Pulumi AI

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,
        }],
    },
});
Copy
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,
        }],
    })
Copy
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
	})
}
Copy
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,
                },
            },
        },
    });

});
Copy
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());

    }
}
Copy
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
Copy

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 This property is required. string
The unique name of the resource.
args This property is required. ApplicationArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. 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 This property is required. string
The unique name of the resource.
args This property is required. ApplicationArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. ApplicationArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. 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",
    },
});
Copy
example, err := spectrocloud.NewApplication(ctx, "applicationResource", &spectrocloud.ApplicationArgs{
ApplicationProfileUid: pulumi.String("string"),
ApplicationId: pulumi.String("string"),
Config: &.ApplicationConfigArgs{
ClusterContext: pulumi.String("string"),
ClusterGroupUid: pulumi.String("string"),
ClusterName: pulumi.String("string"),
ClusterUid: pulumi.String("string"),
Limits: .ApplicationConfigLimitArray{
&.ApplicationConfigLimitArgs{
Cpu: pulumi.Float64(0),
Memory: pulumi.Float64(0),
Storage: pulumi.Float64(0),
},
},
},
Name: pulumi.String("string"),
Tags: pulumi.StringArray{
pulumi.String("string"),
},
Timeouts: &.ApplicationTimeoutsArgs{
Create: pulumi.String("string"),
Delete: pulumi.String("string"),
Update: pulumi.String("string"),
},
})
Copy
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());
Copy
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",
    })
Copy
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",
    },
});
Copy
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
Copy

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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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.