1. Packages
  2. Rancher2 Provider
  3. API Docs
  4. MultiClusterApp
Rancher 2 v8.1.5 published on Wednesday, Apr 9, 2025 by Pulumi

rancher2.MultiClusterApp

Explore with Pulumi AI

Provides a Rancher v2 multi_cluster_app resource. This can be used to deploy multi_cluster_app on Rancher v2.

This resource can also modify Rancher v2 multi cluster apps in 3 ways:

  • Add/Remove targets: If targets arguments is modified, the multi cluster app targets will be updated.
  • Rollback: If revision_id argument is provided or modified the app will be rolled back accordingly. A new revision_id will be generated in Rancher. It will also generate a non-empty pulumi preview that will require manual .tf file intervention. Use carefully.
  • Update: If any other argument is modified the app will be upgraded.

Note: In case of multiple resource modification in a row, rollback has preference.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as rancher2 from "@pulumi/rancher2";

// Create a new rancher2 Multi Cluster App
const foo = new rancher2.MultiClusterApp("foo", {
    catalogName: "<catalog_name>",
    name: "foo",
    targets: [{
        projectId: "<project_id>",
    }],
    templateName: "<template_name>",
    templateVersion: "<template_version>",
    answers: [{
        values: {
            ingress_host: "test.xip.io",
        },
    }],
    roles: ["project-member"],
});
Copy
import pulumi
import pulumi_rancher2 as rancher2

# Create a new rancher2 Multi Cluster App
foo = rancher2.MultiClusterApp("foo",
    catalog_name="<catalog_name>",
    name="foo",
    targets=[{
        "project_id": "<project_id>",
    }],
    template_name="<template_name>",
    template_version="<template_version>",
    answers=[{
        "values": {
            "ingress_host": "test.xip.io",
        },
    }],
    roles=["project-member"])
Copy
package main

import (
	"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// Create a new rancher2 Multi Cluster App
		_, err := rancher2.NewMultiClusterApp(ctx, "foo", &rancher2.MultiClusterAppArgs{
			CatalogName: pulumi.String("<catalog_name>"),
			Name:        pulumi.String("foo"),
			Targets: rancher2.MultiClusterAppTargetArray{
				&rancher2.MultiClusterAppTargetArgs{
					ProjectId: pulumi.String("<project_id>"),
				},
			},
			TemplateName:    pulumi.String("<template_name>"),
			TemplateVersion: pulumi.String("<template_version>"),
			Answers: rancher2.MultiClusterAppAnswerArray{
				&rancher2.MultiClusterAppAnswerArgs{
					Values: pulumi.StringMap{
						"ingress_host": pulumi.String("test.xip.io"),
					},
				},
			},
			Roles: pulumi.StringArray{
				pulumi.String("project-member"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Rancher2 = Pulumi.Rancher2;

return await Deployment.RunAsync(() => 
{
    // Create a new rancher2 Multi Cluster App
    var foo = new Rancher2.MultiClusterApp("foo", new()
    {
        CatalogName = "<catalog_name>",
        Name = "foo",
        Targets = new[]
        {
            new Rancher2.Inputs.MultiClusterAppTargetArgs
            {
                ProjectId = "<project_id>",
            },
        },
        TemplateName = "<template_name>",
        TemplateVersion = "<template_version>",
        Answers = new[]
        {
            new Rancher2.Inputs.MultiClusterAppAnswerArgs
            {
                Values = 
                {
                    { "ingress_host", "test.xip.io" },
                },
            },
        },
        Roles = new[]
        {
            "project-member",
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.rancher2.MultiClusterApp;
import com.pulumi.rancher2.MultiClusterAppArgs;
import com.pulumi.rancher2.inputs.MultiClusterAppTargetArgs;
import com.pulumi.rancher2.inputs.MultiClusterAppAnswerArgs;
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) {
        // Create a new rancher2 Multi Cluster App
        var foo = new MultiClusterApp("foo", MultiClusterAppArgs.builder()
            .catalogName("<catalog_name>")
            .name("foo")
            .targets(MultiClusterAppTargetArgs.builder()
                .projectId("<project_id>")
                .build())
            .templateName("<template_name>")
            .templateVersion("<template_version>")
            .answers(MultiClusterAppAnswerArgs.builder()
                .values(Map.of("ingress_host", "test.xip.io"))
                .build())
            .roles("project-member")
            .build());

    }
}
Copy
resources:
  # Create a new rancher2 Multi Cluster App
  foo:
    type: rancher2:MultiClusterApp
    properties:
      catalogName: <catalog_name>
      name: foo
      targets:
        - projectId: <project_id>
      templateName: <template_name>
      templateVersion: <template_version>
      answers:
        - values:
            ingress_host: test.xip.io
      roles:
        - project-member
Copy
import * as pulumi from "@pulumi/pulumi";
import * as rancher2 from "@pulumi/rancher2";

// Create a new rancher2 Multi Cluster App overriding answers
const foo = new rancher2.MultiClusterApp("foo", {
    catalogName: "<catalog_name>",
    name: "foo",
    targets: [
        {
            projectId: "<project_id1>",
        },
        {
            projectId: "<project_id2>",
        },
    ],
    templateName: "<template_name>",
    templateVersion: "<template_version>",
    answers: [
        {
            values: {
                ingress_host: "test.xip.io",
            },
        },
        {
            projectId: "<project_id2>",
            values: {
                ingress_host: "test2.xip.io",
            },
        },
    ],
    roles: ["project-member"],
});
Copy
import pulumi
import pulumi_rancher2 as rancher2

# Create a new rancher2 Multi Cluster App overriding answers
foo = rancher2.MultiClusterApp("foo",
    catalog_name="<catalog_name>",
    name="foo",
    targets=[
        {
            "project_id": "<project_id1>",
        },
        {
            "project_id": "<project_id2>",
        },
    ],
    template_name="<template_name>",
    template_version="<template_version>",
    answers=[
        {
            "values": {
                "ingress_host": "test.xip.io",
            },
        },
        {
            "project_id": "<project_id2>",
            "values": {
                "ingress_host": "test2.xip.io",
            },
        },
    ],
    roles=["project-member"])
Copy
package main

import (
	"github.com/pulumi/pulumi-rancher2/sdk/v8/go/rancher2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// Create a new rancher2 Multi Cluster App overriding answers
		_, err := rancher2.NewMultiClusterApp(ctx, "foo", &rancher2.MultiClusterAppArgs{
			CatalogName: pulumi.String("<catalog_name>"),
			Name:        pulumi.String("foo"),
			Targets: rancher2.MultiClusterAppTargetArray{
				&rancher2.MultiClusterAppTargetArgs{
					ProjectId: pulumi.String("<project_id1>"),
				},
				&rancher2.MultiClusterAppTargetArgs{
					ProjectId: pulumi.String("<project_id2>"),
				},
			},
			TemplateName:    pulumi.String("<template_name>"),
			TemplateVersion: pulumi.String("<template_version>"),
			Answers: rancher2.MultiClusterAppAnswerArray{
				&rancher2.MultiClusterAppAnswerArgs{
					Values: pulumi.StringMap{
						"ingress_host": pulumi.String("test.xip.io"),
					},
				},
				&rancher2.MultiClusterAppAnswerArgs{
					ProjectId: pulumi.String("<project_id2>"),
					Values: pulumi.StringMap{
						"ingress_host": pulumi.String("test2.xip.io"),
					},
				},
			},
			Roles: pulumi.StringArray{
				pulumi.String("project-member"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Rancher2 = Pulumi.Rancher2;

return await Deployment.RunAsync(() => 
{
    // Create a new rancher2 Multi Cluster App overriding answers
    var foo = new Rancher2.MultiClusterApp("foo", new()
    {
        CatalogName = "<catalog_name>",
        Name = "foo",
        Targets = new[]
        {
            new Rancher2.Inputs.MultiClusterAppTargetArgs
            {
                ProjectId = "<project_id1>",
            },
            new Rancher2.Inputs.MultiClusterAppTargetArgs
            {
                ProjectId = "<project_id2>",
            },
        },
        TemplateName = "<template_name>",
        TemplateVersion = "<template_version>",
        Answers = new[]
        {
            new Rancher2.Inputs.MultiClusterAppAnswerArgs
            {
                Values = 
                {
                    { "ingress_host", "test.xip.io" },
                },
            },
            new Rancher2.Inputs.MultiClusterAppAnswerArgs
            {
                ProjectId = "<project_id2>",
                Values = 
                {
                    { "ingress_host", "test2.xip.io" },
                },
            },
        },
        Roles = new[]
        {
            "project-member",
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.rancher2.MultiClusterApp;
import com.pulumi.rancher2.MultiClusterAppArgs;
import com.pulumi.rancher2.inputs.MultiClusterAppTargetArgs;
import com.pulumi.rancher2.inputs.MultiClusterAppAnswerArgs;
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) {
        // Create a new rancher2 Multi Cluster App overriding answers
        var foo = new MultiClusterApp("foo", MultiClusterAppArgs.builder()
            .catalogName("<catalog_name>")
            .name("foo")
            .targets(            
                MultiClusterAppTargetArgs.builder()
                    .projectId("<project_id1>")
                    .build(),
                MultiClusterAppTargetArgs.builder()
                    .projectId("<project_id2>")
                    .build())
            .templateName("<template_name>")
            .templateVersion("<template_version>")
            .answers(            
                MultiClusterAppAnswerArgs.builder()
                    .values(Map.of("ingress_host", "test.xip.io"))
                    .build(),
                MultiClusterAppAnswerArgs.builder()
                    .projectId("<project_id2>")
                    .values(Map.of("ingress_host", "test2.xip.io"))
                    .build())
            .roles("project-member")
            .build());

    }
}
Copy
resources:
  # Create a new rancher2 Multi Cluster App overriding answers
  foo:
    type: rancher2:MultiClusterApp
    properties:
      catalogName: <catalog_name>
      name: foo
      targets:
        - projectId: <project_id1>
        - projectId: <project_id2>
      templateName: <template_name>
      templateVersion: <template_version>
      answers:
        - values:
            ingress_host: test.xip.io
        - projectId: <project_id2>
          values:
            ingress_host: test2.xip.io
      roles:
        - project-member
Copy

Create MultiClusterApp Resource

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

Constructor syntax

new MultiClusterApp(name: string, args: MultiClusterAppArgs, opts?: CustomResourceOptions);
@overload
def MultiClusterApp(resource_name: str,
                    args: MultiClusterAppArgs,
                    opts: Optional[ResourceOptions] = None)

@overload
def MultiClusterApp(resource_name: str,
                    opts: Optional[ResourceOptions] = None,
                    roles: Optional[Sequence[str]] = None,
                    template_name: Optional[str] = None,
                    catalog_name: Optional[str] = None,
                    targets: Optional[Sequence[MultiClusterAppTargetArgs]] = None,
                    labels: Optional[Mapping[str, str]] = None,
                    name: Optional[str] = None,
                    revision_history_limit: Optional[int] = None,
                    revision_id: Optional[str] = None,
                    members: Optional[Sequence[MultiClusterAppMemberArgs]] = None,
                    annotations: Optional[Mapping[str, str]] = None,
                    answers: Optional[Sequence[MultiClusterAppAnswerArgs]] = None,
                    template_version: Optional[str] = None,
                    upgrade_strategy: Optional[MultiClusterAppUpgradeStrategyArgs] = None,
                    wait: Optional[bool] = None)
func NewMultiClusterApp(ctx *Context, name string, args MultiClusterAppArgs, opts ...ResourceOption) (*MultiClusterApp, error)
public MultiClusterApp(string name, MultiClusterAppArgs args, CustomResourceOptions? opts = null)
public MultiClusterApp(String name, MultiClusterAppArgs args)
public MultiClusterApp(String name, MultiClusterAppArgs args, CustomResourceOptions options)
type: rancher2:MultiClusterApp
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. MultiClusterAppArgs
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. MultiClusterAppArgs
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. MultiClusterAppArgs
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. MultiClusterAppArgs
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. MultiClusterAppArgs
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 multiClusterAppResource = new Rancher2.MultiClusterApp("multiClusterAppResource", new()
{
    Roles = new[]
    {
        "string",
    },
    TemplateName = "string",
    CatalogName = "string",
    Targets = new[]
    {
        new Rancher2.Inputs.MultiClusterAppTargetArgs
        {
            ProjectId = "string",
            AppId = "string",
            HealthState = "string",
            State = "string",
        },
    },
    Labels = 
    {
        { "string", "string" },
    },
    Name = "string",
    RevisionHistoryLimit = 0,
    RevisionId = "string",
    Members = new[]
    {
        new Rancher2.Inputs.MultiClusterAppMemberArgs
        {
            AccessType = "string",
            GroupPrincipalId = "string",
            UserPrincipalId = "string",
        },
    },
    Annotations = 
    {
        { "string", "string" },
    },
    Answers = new[]
    {
        new Rancher2.Inputs.MultiClusterAppAnswerArgs
        {
            ClusterId = "string",
            ProjectId = "string",
            Values = 
            {
                { "string", "string" },
            },
        },
    },
    TemplateVersion = "string",
    UpgradeStrategy = new Rancher2.Inputs.MultiClusterAppUpgradeStrategyArgs
    {
        RollingUpdate = new Rancher2.Inputs.MultiClusterAppUpgradeStrategyRollingUpdateArgs
        {
            BatchSize = 0,
            Interval = 0,
        },
    },
    Wait = false,
});
Copy
example, err := rancher2.NewMultiClusterApp(ctx, "multiClusterAppResource", &rancher2.MultiClusterAppArgs{
	Roles: pulumi.StringArray{
		pulumi.String("string"),
	},
	TemplateName: pulumi.String("string"),
	CatalogName:  pulumi.String("string"),
	Targets: rancher2.MultiClusterAppTargetArray{
		&rancher2.MultiClusterAppTargetArgs{
			ProjectId:   pulumi.String("string"),
			AppId:       pulumi.String("string"),
			HealthState: pulumi.String("string"),
			State:       pulumi.String("string"),
		},
	},
	Labels: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	Name:                 pulumi.String("string"),
	RevisionHistoryLimit: pulumi.Int(0),
	RevisionId:           pulumi.String("string"),
	Members: rancher2.MultiClusterAppMemberArray{
		&rancher2.MultiClusterAppMemberArgs{
			AccessType:       pulumi.String("string"),
			GroupPrincipalId: pulumi.String("string"),
			UserPrincipalId:  pulumi.String("string"),
		},
	},
	Annotations: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	Answers: rancher2.MultiClusterAppAnswerArray{
		&rancher2.MultiClusterAppAnswerArgs{
			ClusterId: pulumi.String("string"),
			ProjectId: pulumi.String("string"),
			Values: pulumi.StringMap{
				"string": pulumi.String("string"),
			},
		},
	},
	TemplateVersion: pulumi.String("string"),
	UpgradeStrategy: &rancher2.MultiClusterAppUpgradeStrategyArgs{
		RollingUpdate: &rancher2.MultiClusterAppUpgradeStrategyRollingUpdateArgs{
			BatchSize: pulumi.Int(0),
			Interval:  pulumi.Int(0),
		},
	},
	Wait: pulumi.Bool(false),
})
Copy
var multiClusterAppResource = new MultiClusterApp("multiClusterAppResource", MultiClusterAppArgs.builder()
    .roles("string")
    .templateName("string")
    .catalogName("string")
    .targets(MultiClusterAppTargetArgs.builder()
        .projectId("string")
        .appId("string")
        .healthState("string")
        .state("string")
        .build())
    .labels(Map.of("string", "string"))
    .name("string")
    .revisionHistoryLimit(0)
    .revisionId("string")
    .members(MultiClusterAppMemberArgs.builder()
        .accessType("string")
        .groupPrincipalId("string")
        .userPrincipalId("string")
        .build())
    .annotations(Map.of("string", "string"))
    .answers(MultiClusterAppAnswerArgs.builder()
        .clusterId("string")
        .projectId("string")
        .values(Map.of("string", "string"))
        .build())
    .templateVersion("string")
    .upgradeStrategy(MultiClusterAppUpgradeStrategyArgs.builder()
        .rollingUpdate(MultiClusterAppUpgradeStrategyRollingUpdateArgs.builder()
            .batchSize(0)
            .interval(0)
            .build())
        .build())
    .wait(false)
    .build());
Copy
multi_cluster_app_resource = rancher2.MultiClusterApp("multiClusterAppResource",
    roles=["string"],
    template_name="string",
    catalog_name="string",
    targets=[{
        "project_id": "string",
        "app_id": "string",
        "health_state": "string",
        "state": "string",
    }],
    labels={
        "string": "string",
    },
    name="string",
    revision_history_limit=0,
    revision_id="string",
    members=[{
        "access_type": "string",
        "group_principal_id": "string",
        "user_principal_id": "string",
    }],
    annotations={
        "string": "string",
    },
    answers=[{
        "cluster_id": "string",
        "project_id": "string",
        "values": {
            "string": "string",
        },
    }],
    template_version="string",
    upgrade_strategy={
        "rolling_update": {
            "batch_size": 0,
            "interval": 0,
        },
    },
    wait=False)
Copy
const multiClusterAppResource = new rancher2.MultiClusterApp("multiClusterAppResource", {
    roles: ["string"],
    templateName: "string",
    catalogName: "string",
    targets: [{
        projectId: "string",
        appId: "string",
        healthState: "string",
        state: "string",
    }],
    labels: {
        string: "string",
    },
    name: "string",
    revisionHistoryLimit: 0,
    revisionId: "string",
    members: [{
        accessType: "string",
        groupPrincipalId: "string",
        userPrincipalId: "string",
    }],
    annotations: {
        string: "string",
    },
    answers: [{
        clusterId: "string",
        projectId: "string",
        values: {
            string: "string",
        },
    }],
    templateVersion: "string",
    upgradeStrategy: {
        rollingUpdate: {
            batchSize: 0,
            interval: 0,
        },
    },
    wait: false,
});
Copy
type: rancher2:MultiClusterApp
properties:
    annotations:
        string: string
    answers:
        - clusterId: string
          projectId: string
          values:
            string: string
    catalogName: string
    labels:
        string: string
    members:
        - accessType: string
          groupPrincipalId: string
          userPrincipalId: string
    name: string
    revisionHistoryLimit: 0
    revisionId: string
    roles:
        - string
    targets:
        - appId: string
          healthState: string
          projectId: string
          state: string
    templateName: string
    templateVersion: string
    upgradeStrategy:
        rollingUpdate:
            batchSize: 0
            interval: 0
    wait: false
Copy

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

CatalogName This property is required. string
The multi cluster app catalog name (string)
Roles This property is required. List<string>
The multi cluster app roles (list)
Targets This property is required. List<MultiClusterAppTarget>
The multi cluster app target projects (list)
TemplateName This property is required. string
The multi cluster app template name (string)
Annotations Dictionary<string, string>
Annotations for multi cluster app object (map)
Answers List<MultiClusterAppAnswer>
The multi cluster app answers (list)
Labels Dictionary<string, string>
Labels for multi cluster app object (map)
Members List<MultiClusterAppMember>
The multi cluster app answers (list)
Name Changes to this property will trigger replacement. string
The multi cluster app name (string)
RevisionHistoryLimit int
The multi cluster app revision history limit. Default 10 (int)
RevisionId string
Current revision id for the multi cluster app (string)
TemplateVersion string
The multi cluster app template version. Default: latest (string)
UpgradeStrategy MultiClusterAppUpgradeStrategy
The multi cluster app upgrade strategy (list MaxItems:1)
Wait bool
Wait until the multi cluster app is active. Default true (bool)
CatalogName This property is required. string
The multi cluster app catalog name (string)
Roles This property is required. []string
The multi cluster app roles (list)
Targets This property is required. []MultiClusterAppTargetArgs
The multi cluster app target projects (list)
TemplateName This property is required. string
The multi cluster app template name (string)
Annotations map[string]string
Annotations for multi cluster app object (map)
Answers []MultiClusterAppAnswerArgs
The multi cluster app answers (list)
Labels map[string]string
Labels for multi cluster app object (map)
Members []MultiClusterAppMemberArgs
The multi cluster app answers (list)
Name Changes to this property will trigger replacement. string
The multi cluster app name (string)
RevisionHistoryLimit int
The multi cluster app revision history limit. Default 10 (int)
RevisionId string
Current revision id for the multi cluster app (string)
TemplateVersion string
The multi cluster app template version. Default: latest (string)
UpgradeStrategy MultiClusterAppUpgradeStrategyArgs
The multi cluster app upgrade strategy (list MaxItems:1)
Wait bool
Wait until the multi cluster app is active. Default true (bool)
catalogName This property is required. String
The multi cluster app catalog name (string)
roles This property is required. List<String>
The multi cluster app roles (list)
targets This property is required. List<MultiClusterAppTarget>
The multi cluster app target projects (list)
templateName This property is required. String
The multi cluster app template name (string)
annotations Map<String,String>
Annotations for multi cluster app object (map)
answers List<MultiClusterAppAnswer>
The multi cluster app answers (list)
labels Map<String,String>
Labels for multi cluster app object (map)
members List<MultiClusterAppMember>
The multi cluster app answers (list)
name Changes to this property will trigger replacement. String
The multi cluster app name (string)
revisionHistoryLimit Integer
The multi cluster app revision history limit. Default 10 (int)
revisionId String
Current revision id for the multi cluster app (string)
templateVersion String
The multi cluster app template version. Default: latest (string)
upgradeStrategy MultiClusterAppUpgradeStrategy
The multi cluster app upgrade strategy (list MaxItems:1)
wait_ Boolean
Wait until the multi cluster app is active. Default true (bool)
catalogName This property is required. string
The multi cluster app catalog name (string)
roles This property is required. string[]
The multi cluster app roles (list)
targets This property is required. MultiClusterAppTarget[]
The multi cluster app target projects (list)
templateName This property is required. string
The multi cluster app template name (string)
annotations {[key: string]: string}
Annotations for multi cluster app object (map)
answers MultiClusterAppAnswer[]
The multi cluster app answers (list)
labels {[key: string]: string}
Labels for multi cluster app object (map)
members MultiClusterAppMember[]
The multi cluster app answers (list)
name Changes to this property will trigger replacement. string
The multi cluster app name (string)
revisionHistoryLimit number
The multi cluster app revision history limit. Default 10 (int)
revisionId string
Current revision id for the multi cluster app (string)
templateVersion string
The multi cluster app template version. Default: latest (string)
upgradeStrategy MultiClusterAppUpgradeStrategy
The multi cluster app upgrade strategy (list MaxItems:1)
wait boolean
Wait until the multi cluster app is active. Default true (bool)
catalog_name This property is required. str
The multi cluster app catalog name (string)
roles This property is required. Sequence[str]
The multi cluster app roles (list)
targets This property is required. Sequence[MultiClusterAppTargetArgs]
The multi cluster app target projects (list)
template_name This property is required. str
The multi cluster app template name (string)
annotations Mapping[str, str]
Annotations for multi cluster app object (map)
answers Sequence[MultiClusterAppAnswerArgs]
The multi cluster app answers (list)
labels Mapping[str, str]
Labels for multi cluster app object (map)
members Sequence[MultiClusterAppMemberArgs]
The multi cluster app answers (list)
name Changes to this property will trigger replacement. str
The multi cluster app name (string)
revision_history_limit int
The multi cluster app revision history limit. Default 10 (int)
revision_id str
Current revision id for the multi cluster app (string)
template_version str
The multi cluster app template version. Default: latest (string)
upgrade_strategy MultiClusterAppUpgradeStrategyArgs
The multi cluster app upgrade strategy (list MaxItems:1)
wait bool
Wait until the multi cluster app is active. Default true (bool)
catalogName This property is required. String
The multi cluster app catalog name (string)
roles This property is required. List<String>
The multi cluster app roles (list)
targets This property is required. List<Property Map>
The multi cluster app target projects (list)
templateName This property is required. String
The multi cluster app template name (string)
annotations Map<String>
Annotations for multi cluster app object (map)
answers List<Property Map>
The multi cluster app answers (list)
labels Map<String>
Labels for multi cluster app object (map)
members List<Property Map>
The multi cluster app answers (list)
name Changes to this property will trigger replacement. String
The multi cluster app name (string)
revisionHistoryLimit Number
The multi cluster app revision history limit. Default 10 (int)
revisionId String
Current revision id for the multi cluster app (string)
templateVersion String
The multi cluster app template version. Default: latest (string)
upgradeStrategy Property Map
The multi cluster app upgrade strategy (list MaxItems:1)
wait Boolean
Wait until the multi cluster app is active. Default true (bool)

Outputs

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

Id string
The provider-assigned unique ID for this managed resource.
TemplateVersionId string
(Computed) The multi cluster app template version ID (string)
Id string
The provider-assigned unique ID for this managed resource.
TemplateVersionId string
(Computed) The multi cluster app template version ID (string)
id String
The provider-assigned unique ID for this managed resource.
templateVersionId String
(Computed) The multi cluster app template version ID (string)
id string
The provider-assigned unique ID for this managed resource.
templateVersionId string
(Computed) The multi cluster app template version ID (string)
id str
The provider-assigned unique ID for this managed resource.
template_version_id str
(Computed) The multi cluster app template version ID (string)
id String
The provider-assigned unique ID for this managed resource.
templateVersionId String
(Computed) The multi cluster app template version ID (string)

Look up Existing MultiClusterApp Resource

Get an existing MultiClusterApp 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?: MultiClusterAppState, opts?: CustomResourceOptions): MultiClusterApp
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        annotations: Optional[Mapping[str, str]] = None,
        answers: Optional[Sequence[MultiClusterAppAnswerArgs]] = None,
        catalog_name: Optional[str] = None,
        labels: Optional[Mapping[str, str]] = None,
        members: Optional[Sequence[MultiClusterAppMemberArgs]] = None,
        name: Optional[str] = None,
        revision_history_limit: Optional[int] = None,
        revision_id: Optional[str] = None,
        roles: Optional[Sequence[str]] = None,
        targets: Optional[Sequence[MultiClusterAppTargetArgs]] = None,
        template_name: Optional[str] = None,
        template_version: Optional[str] = None,
        template_version_id: Optional[str] = None,
        upgrade_strategy: Optional[MultiClusterAppUpgradeStrategyArgs] = None,
        wait: Optional[bool] = None) -> MultiClusterApp
func GetMultiClusterApp(ctx *Context, name string, id IDInput, state *MultiClusterAppState, opts ...ResourceOption) (*MultiClusterApp, error)
public static MultiClusterApp Get(string name, Input<string> id, MultiClusterAppState? state, CustomResourceOptions? opts = null)
public static MultiClusterApp get(String name, Output<String> id, MultiClusterAppState state, CustomResourceOptions options)
resources:  _:    type: rancher2:MultiClusterApp    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:
Annotations Dictionary<string, string>
Annotations for multi cluster app object (map)
Answers List<MultiClusterAppAnswer>
The multi cluster app answers (list)
CatalogName string
The multi cluster app catalog name (string)
Labels Dictionary<string, string>
Labels for multi cluster app object (map)
Members List<MultiClusterAppMember>
The multi cluster app answers (list)
Name Changes to this property will trigger replacement. string
The multi cluster app name (string)
RevisionHistoryLimit int
The multi cluster app revision history limit. Default 10 (int)
RevisionId string
Current revision id for the multi cluster app (string)
Roles List<string>
The multi cluster app roles (list)
Targets List<MultiClusterAppTarget>
The multi cluster app target projects (list)
TemplateName string
The multi cluster app template name (string)
TemplateVersion string
The multi cluster app template version. Default: latest (string)
TemplateVersionId string
(Computed) The multi cluster app template version ID (string)
UpgradeStrategy MultiClusterAppUpgradeStrategy
The multi cluster app upgrade strategy (list MaxItems:1)
Wait bool
Wait until the multi cluster app is active. Default true (bool)
Annotations map[string]string
Annotations for multi cluster app object (map)
Answers []MultiClusterAppAnswerArgs
The multi cluster app answers (list)
CatalogName string
The multi cluster app catalog name (string)
Labels map[string]string
Labels for multi cluster app object (map)
Members []MultiClusterAppMemberArgs
The multi cluster app answers (list)
Name Changes to this property will trigger replacement. string
The multi cluster app name (string)
RevisionHistoryLimit int
The multi cluster app revision history limit. Default 10 (int)
RevisionId string
Current revision id for the multi cluster app (string)
Roles []string
The multi cluster app roles (list)
Targets []MultiClusterAppTargetArgs
The multi cluster app target projects (list)
TemplateName string
The multi cluster app template name (string)
TemplateVersion string
The multi cluster app template version. Default: latest (string)
TemplateVersionId string
(Computed) The multi cluster app template version ID (string)
UpgradeStrategy MultiClusterAppUpgradeStrategyArgs
The multi cluster app upgrade strategy (list MaxItems:1)
Wait bool
Wait until the multi cluster app is active. Default true (bool)
annotations Map<String,String>
Annotations for multi cluster app object (map)
answers List<MultiClusterAppAnswer>
The multi cluster app answers (list)
catalogName String
The multi cluster app catalog name (string)
labels Map<String,String>
Labels for multi cluster app object (map)
members List<MultiClusterAppMember>
The multi cluster app answers (list)
name Changes to this property will trigger replacement. String
The multi cluster app name (string)
revisionHistoryLimit Integer
The multi cluster app revision history limit. Default 10 (int)
revisionId String
Current revision id for the multi cluster app (string)
roles List<String>
The multi cluster app roles (list)
targets List<MultiClusterAppTarget>
The multi cluster app target projects (list)
templateName String
The multi cluster app template name (string)
templateVersion String
The multi cluster app template version. Default: latest (string)
templateVersionId String
(Computed) The multi cluster app template version ID (string)
upgradeStrategy MultiClusterAppUpgradeStrategy
The multi cluster app upgrade strategy (list MaxItems:1)
wait_ Boolean
Wait until the multi cluster app is active. Default true (bool)
annotations {[key: string]: string}
Annotations for multi cluster app object (map)
answers MultiClusterAppAnswer[]
The multi cluster app answers (list)
catalogName string
The multi cluster app catalog name (string)
labels {[key: string]: string}
Labels for multi cluster app object (map)
members MultiClusterAppMember[]
The multi cluster app answers (list)
name Changes to this property will trigger replacement. string
The multi cluster app name (string)
revisionHistoryLimit number
The multi cluster app revision history limit. Default 10 (int)
revisionId string
Current revision id for the multi cluster app (string)
roles string[]
The multi cluster app roles (list)
targets MultiClusterAppTarget[]
The multi cluster app target projects (list)
templateName string
The multi cluster app template name (string)
templateVersion string
The multi cluster app template version. Default: latest (string)
templateVersionId string
(Computed) The multi cluster app template version ID (string)
upgradeStrategy MultiClusterAppUpgradeStrategy
The multi cluster app upgrade strategy (list MaxItems:1)
wait boolean
Wait until the multi cluster app is active. Default true (bool)
annotations Mapping[str, str]
Annotations for multi cluster app object (map)
answers Sequence[MultiClusterAppAnswerArgs]
The multi cluster app answers (list)
catalog_name str
The multi cluster app catalog name (string)
labels Mapping[str, str]
Labels for multi cluster app object (map)
members Sequence[MultiClusterAppMemberArgs]
The multi cluster app answers (list)
name Changes to this property will trigger replacement. str
The multi cluster app name (string)
revision_history_limit int
The multi cluster app revision history limit. Default 10 (int)
revision_id str
Current revision id for the multi cluster app (string)
roles Sequence[str]
The multi cluster app roles (list)
targets Sequence[MultiClusterAppTargetArgs]
The multi cluster app target projects (list)
template_name str
The multi cluster app template name (string)
template_version str
The multi cluster app template version. Default: latest (string)
template_version_id str
(Computed) The multi cluster app template version ID (string)
upgrade_strategy MultiClusterAppUpgradeStrategyArgs
The multi cluster app upgrade strategy (list MaxItems:1)
wait bool
Wait until the multi cluster app is active. Default true (bool)
annotations Map<String>
Annotations for multi cluster app object (map)
answers List<Property Map>
The multi cluster app answers (list)
catalogName String
The multi cluster app catalog name (string)
labels Map<String>
Labels for multi cluster app object (map)
members List<Property Map>
The multi cluster app answers (list)
name Changes to this property will trigger replacement. String
The multi cluster app name (string)
revisionHistoryLimit Number
The multi cluster app revision history limit. Default 10 (int)
revisionId String
Current revision id for the multi cluster app (string)
roles List<String>
The multi cluster app roles (list)
targets List<Property Map>
The multi cluster app target projects (list)
templateName String
The multi cluster app template name (string)
templateVersion String
The multi cluster app template version. Default: latest (string)
templateVersionId String
(Computed) The multi cluster app template version ID (string)
upgradeStrategy Property Map
The multi cluster app upgrade strategy (list MaxItems:1)
wait Boolean
Wait until the multi cluster app is active. Default true (bool)

Supporting Types

MultiClusterAppAnswer
, MultiClusterAppAnswerArgs

ClusterId string
Cluster ID for answer
ProjectId string
Project ID for answer
Values Dictionary<string, string>
Key/values for answer
ClusterId string
Cluster ID for answer
ProjectId string
Project ID for answer
Values map[string]string
Key/values for answer
clusterId String
Cluster ID for answer
projectId String
Project ID for answer
values Map<String,String>
Key/values for answer
clusterId string
Cluster ID for answer
projectId string
Project ID for answer
values {[key: string]: string}
Key/values for answer
cluster_id str
Cluster ID for answer
project_id str
Project ID for answer
values Mapping[str, str]
Key/values for answer
clusterId String
Cluster ID for answer
projectId String
Project ID for answer
values Map<String>
Key/values for answer

MultiClusterAppMember
, MultiClusterAppMemberArgs

AccessType string
Member access type: member, owner, read-only
GroupPrincipalId string
Member group principal id
UserPrincipalId string
Member user principal id
AccessType string
Member access type: member, owner, read-only
GroupPrincipalId string
Member group principal id
UserPrincipalId string
Member user principal id
accessType String
Member access type: member, owner, read-only
groupPrincipalId String
Member group principal id
userPrincipalId String
Member user principal id
accessType string
Member access type: member, owner, read-only
groupPrincipalId string
Member group principal id
userPrincipalId string
Member user principal id
access_type str
Member access type: member, owner, read-only
group_principal_id str
Member group principal id
user_principal_id str
Member user principal id
accessType String
Member access type: member, owner, read-only
groupPrincipalId String
Member group principal id
userPrincipalId String
Member user principal id

MultiClusterAppTarget
, MultiClusterAppTargetArgs

ProjectId This property is required. string
Project ID for target
AppId string
App ID for target
HealthState string
App health state for target
State string
App state for target
ProjectId This property is required. string
Project ID for target
AppId string
App ID for target
HealthState string
App health state for target
State string
App state for target
projectId This property is required. String
Project ID for target
appId String
App ID for target
healthState String
App health state for target
state String
App state for target
projectId This property is required. string
Project ID for target
appId string
App ID for target
healthState string
App health state for target
state string
App state for target
project_id This property is required. str
Project ID for target
app_id str
App ID for target
health_state str
App health state for target
state str
App state for target
projectId This property is required. String
Project ID for target
appId String
App ID for target
healthState String
App health state for target
state String
App state for target

MultiClusterAppUpgradeStrategy
, MultiClusterAppUpgradeStrategyArgs

rollingUpdate Property Map
Rolling update for upgrade strategy

MultiClusterAppUpgradeStrategyRollingUpdate
, MultiClusterAppUpgradeStrategyRollingUpdateArgs

BatchSize int
Rolling update batch size
Interval int
Rolling update interval
BatchSize int
Rolling update batch size
Interval int
Rolling update interval
batchSize Integer
Rolling update batch size
interval Integer
Rolling update interval
batchSize number
Rolling update batch size
interval number
Rolling update interval
batch_size int
Rolling update batch size
interval int
Rolling update interval
batchSize Number
Rolling update batch size
interval Number
Rolling update interval

Import

Multi cluster app can be imported using the multi cluster app ID in the format <multi_cluster_app_name>

$ pulumi import rancher2:index/multiClusterApp:MultiClusterApp foo &lt;MULTI_CLUSTER_APP_ID&gt;
Copy

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

Package Details

Repository
Rancher2 pulumi/pulumi-rancher2
License
Apache-2.0
Notes
This Pulumi package is based on the rancher2 Terraform Provider.