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- targetsarguments is modified, the multi cluster app targets will be updated.
- Rollback: If- revision_idargument is provided or modified the app will be rolled back accordingly. A new- revision_idwill 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"],
});
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"])
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
	})
}
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",
        },
    });
});
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());
    }
}
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
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"],
});
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"])
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
	})
}
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",
        },
    });
});
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());
    }
}
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
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 string
- The unique name of the resource.
- args MultiClusterAppArgs
- 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 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 string
- The unique name of the resource.
- args MultiClusterAppArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args MultiClusterAppArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args 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,
});
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),
})
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());
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)
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,
});
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
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 string
- The multi cluster app catalog name (string)
- Roles List<string>
- The multi cluster app roles (list)
- Targets
List<MultiCluster App Target> 
- The multi cluster app target projects (list)
- TemplateName string
- The multi cluster app template name (string)
- Annotations Dictionary<string, string>
- Annotations for multi cluster app object (map)
- Answers
List<MultiCluster App Answer> 
- The multi cluster app answers (list)
- Labels Dictionary<string, string>
- Labels for multi cluster app object (map)
- Members
List<MultiCluster App Member> 
- The multi cluster app answers (list)
- Name string
- The multi cluster app name (string)
- RevisionHistory intLimit 
- 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 MultiCluster App Upgrade Strategy 
- The multi cluster app upgrade strategy (list MaxItems:1)
- Wait bool
- Wait until the multi cluster app is active. Default true(bool)
- CatalogName string
- The multi cluster app catalog name (string)
- Roles []string
- The multi cluster app roles (list)
- Targets
[]MultiCluster App Target Args 
- The multi cluster app target projects (list)
- TemplateName string
- The multi cluster app template name (string)
- Annotations map[string]string
- Annotations for multi cluster app object (map)
- Answers
[]MultiCluster App Answer Args 
- The multi cluster app answers (list)
- Labels map[string]string
- Labels for multi cluster app object (map)
- Members
[]MultiCluster App Member Args 
- The multi cluster app answers (list)
- Name string
- The multi cluster app name (string)
- RevisionHistory intLimit 
- 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 MultiCluster App Upgrade Strategy Args 
- The multi cluster app upgrade strategy (list MaxItems:1)
- Wait bool
- Wait until the multi cluster app is active. Default true(bool)
- catalogName String
- The multi cluster app catalog name (string)
- roles List<String>
- The multi cluster app roles (list)
- targets
List<MultiCluster App Target> 
- The multi cluster app target projects (list)
- templateName String
- The multi cluster app template name (string)
- annotations Map<String,String>
- Annotations for multi cluster app object (map)
- answers
List<MultiCluster App Answer> 
- The multi cluster app answers (list)
- labels Map<String,String>
- Labels for multi cluster app object (map)
- members
List<MultiCluster App Member> 
- The multi cluster app answers (list)
- name String
- The multi cluster app name (string)
- revisionHistory IntegerLimit 
- 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 MultiCluster App Upgrade Strategy 
- The multi cluster app upgrade strategy (list MaxItems:1)
- wait_ Boolean
- Wait until the multi cluster app is active. Default true(bool)
- catalogName string
- The multi cluster app catalog name (string)
- roles string[]
- The multi cluster app roles (list)
- targets
MultiCluster App Target[] 
- The multi cluster app target projects (list)
- templateName string
- The multi cluster app template name (string)
- annotations {[key: string]: string}
- Annotations for multi cluster app object (map)
- answers
MultiCluster App Answer[] 
- The multi cluster app answers (list)
- labels {[key: string]: string}
- Labels for multi cluster app object (map)
- members
MultiCluster App Member[] 
- The multi cluster app answers (list)
- name string
- The multi cluster app name (string)
- revisionHistory numberLimit 
- 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 MultiCluster App Upgrade Strategy 
- The multi cluster app upgrade strategy (list MaxItems:1)
- wait boolean
- Wait until the multi cluster app is active. Default true(bool)
- catalog_name str
- The multi cluster app catalog name (string)
- roles Sequence[str]
- The multi cluster app roles (list)
- targets
Sequence[MultiCluster App Target Args] 
- The multi cluster app target projects (list)
- template_name str
- The multi cluster app template name (string)
- annotations Mapping[str, str]
- Annotations for multi cluster app object (map)
- answers
Sequence[MultiCluster App Answer Args] 
- The multi cluster app answers (list)
- labels Mapping[str, str]
- Labels for multi cluster app object (map)
- members
Sequence[MultiCluster App Member Args] 
- The multi cluster app answers (list)
- name str
- The multi cluster app name (string)
- revision_history_ intlimit 
- 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 MultiCluster App Upgrade Strategy Args 
- The multi cluster app upgrade strategy (list MaxItems:1)
- wait bool
- Wait until the multi cluster app is active. Default true(bool)
- catalogName String
- The multi cluster app catalog name (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)
- 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 String
- The multi cluster app name (string)
- revisionHistory NumberLimit 
- 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.
- TemplateVersion stringId 
- (Computed) The multi cluster app template version ID (string)
- Id string
- The provider-assigned unique ID for this managed resource.
- TemplateVersion stringId 
- (Computed) The multi cluster app template version ID (string)
- id String
- The provider-assigned unique ID for this managed resource.
- templateVersion StringId 
- (Computed) The multi cluster app template version ID (string)
- id string
- The provider-assigned unique ID for this managed resource.
- templateVersion stringId 
- (Computed) The multi cluster app template version ID (string)
- id str
- The provider-assigned unique ID for this managed resource.
- template_version_ strid 
- (Computed) The multi cluster app template version ID (string)
- id String
- The provider-assigned unique ID for this managed resource.
- templateVersion StringId 
- (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) -> MultiClusterAppfunc 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
- 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.
- Annotations Dictionary<string, string>
- Annotations for multi cluster app object (map)
- Answers
List<MultiCluster App Answer> 
- 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<MultiCluster App Member> 
- The multi cluster app answers (list)
- Name string
- The multi cluster app name (string)
- RevisionHistory intLimit 
- 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<MultiCluster App Target> 
- 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)
- TemplateVersion stringId 
- (Computed) The multi cluster app template version ID (string)
- UpgradeStrategy MultiCluster App Upgrade Strategy 
- 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
[]MultiCluster App Answer Args 
- 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
[]MultiCluster App Member Args 
- The multi cluster app answers (list)
- Name string
- The multi cluster app name (string)
- RevisionHistory intLimit 
- 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
[]MultiCluster App Target Args 
- 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)
- TemplateVersion stringId 
- (Computed) The multi cluster app template version ID (string)
- UpgradeStrategy MultiCluster App Upgrade Strategy Args 
- 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<MultiCluster App Answer> 
- 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<MultiCluster App Member> 
- The multi cluster app answers (list)
- name String
- The multi cluster app name (string)
- revisionHistory IntegerLimit 
- 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<MultiCluster App Target> 
- 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)
- templateVersion StringId 
- (Computed) The multi cluster app template version ID (string)
- upgradeStrategy MultiCluster App Upgrade Strategy 
- 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
MultiCluster App Answer[] 
- 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
MultiCluster App Member[] 
- The multi cluster app answers (list)
- name string
- The multi cluster app name (string)
- revisionHistory numberLimit 
- 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
MultiCluster App Target[] 
- 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)
- templateVersion stringId 
- (Computed) The multi cluster app template version ID (string)
- upgradeStrategy MultiCluster App Upgrade Strategy 
- 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[MultiCluster App Answer Args] 
- 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[MultiCluster App Member Args] 
- The multi cluster app answers (list)
- name str
- The multi cluster app name (string)
- revision_history_ intlimit 
- 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[MultiCluster App Target Args] 
- 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_ strid 
- (Computed) The multi cluster app template version ID (string)
- upgrade_strategy MultiCluster App Upgrade Strategy Args 
- 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 String
- The multi cluster app name (string)
- revisionHistory NumberLimit 
- 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)
- templateVersion StringId 
- (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        
- cluster_id str
- Cluster ID for answer
- project_id str
- Project ID for answer
- values Mapping[str, str]
- Key/values for answer
MultiClusterAppMember, MultiClusterAppMemberArgs        
- AccessType string
- Member access type: member, owner, read-only
- GroupPrincipal stringId 
- Member group principal id
- UserPrincipal stringId 
- Member user principal id
- AccessType string
- Member access type: member, owner, read-only
- GroupPrincipal stringId 
- Member group principal id
- UserPrincipal stringId 
- Member user principal id
- accessType String
- Member access type: member, owner, read-only
- groupPrincipal StringId 
- Member group principal id
- userPrincipal StringId 
- Member user principal id
- accessType string
- Member access type: member, owner, read-only
- groupPrincipal stringId 
- Member group principal id
- userPrincipal stringId 
- Member user principal id
- access_type str
- Member access type: member, owner, read-only
- group_principal_ strid 
- Member group principal id
- user_principal_ strid 
- Member user principal id
- accessType String
- Member access type: member, owner, read-only
- groupPrincipal StringId 
- Member group principal id
- userPrincipal StringId 
- Member user principal id
MultiClusterAppTarget, MultiClusterAppTargetArgs        
- ProjectId 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 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 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 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 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 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 MultiCluster App Upgrade Strategy Rolling Update 
- Rolling update for upgrade strategy
- RollingUpdate MultiCluster App Upgrade Strategy Rolling Update 
- Rolling update for upgrade strategy
- rollingUpdate MultiCluster App Upgrade Strategy Rolling Update 
- Rolling update for upgrade strategy
- rollingUpdate MultiCluster App Upgrade Strategy Rolling Update 
- Rolling update for upgrade strategy
- rolling_update MultiCluster App Upgrade Strategy Rolling Update 
- Rolling update for upgrade strategy
- rollingUpdate Property Map
- Rolling update for upgrade strategy
MultiClusterAppUpgradeStrategyRollingUpdate, MultiClusterAppUpgradeStrategyRollingUpdateArgs              
- batch_size int
- Rolling update batch size
- interval int
- 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 <MULTI_CLUSTER_APP_ID>
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 rancher2Terraform Provider.