1. Packages
  2. Rancher2
  3. API Docs
  4. MultiClusterApp
Rancher 2 v6.1.1 published on Friday, May 10, 2024 by Pulumi

rancher2.MultiClusterApp

Explore with Pulumi AI

rancher2 logo
Rancher 2 v6.1.1 published on Friday, May 10, 2024 by Pulumi

    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"],
    });
    
    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=[rancher2.MultiClusterAppTargetArgs(
            project_id="<project_id>",
        )],
        template_name="<template_name>",
        template_version="<template_version>",
        answers=[rancher2.MultiClusterAppAnswerArgs(
            values={
                "ingress_host": "test.xip.io",
            },
        )],
        roles=["project-member"])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-rancher2/sdk/v6/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.Map{
    						"ingress_host": pulumi.Any("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=[
            rancher2.MultiClusterAppTargetArgs(
                project_id="<project_id1>",
            ),
            rancher2.MultiClusterAppTargetArgs(
                project_id="<project_id2>",
            ),
        ],
        template_name="<template_name>",
        template_version="<template_version>",
        answers=[
            rancher2.MultiClusterAppAnswerArgs(
                values={
                    "ingress_host": "test.xip.io",
                },
            ),
            rancher2.MultiClusterAppAnswerArgs(
                project_id="<project_id2>",
                values={
                    "ingress_host": "test2.xip.io",
                },
            ),
        ],
        roles=["project-member"])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-rancher2/sdk/v6/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.Map{
    						"ingress_host": pulumi.Any("test.xip.io"),
    					},
    				},
    				&rancher2.MultiClusterAppAnswerArgs{
    					ProjectId: pulumi.String("<project_id2>"),
    					Values: pulumi.Map{
    						"ingress_host": pulumi.Any("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, Any]] = 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, Any]] = 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", "any" },
        },
        Name = "string",
        RevisionHistoryLimit = 0,
        RevisionId = "string",
        Members = new[]
        {
            new Rancher2.Inputs.MultiClusterAppMemberArgs
            {
                AccessType = "string",
                GroupPrincipalId = "string",
                UserPrincipalId = "string",
            },
        },
        Annotations = 
        {
            { "string", "any" },
        },
        Answers = new[]
        {
            new Rancher2.Inputs.MultiClusterAppAnswerArgs
            {
                ClusterId = "string",
                ProjectId = "string",
                Values = 
                {
                    { "string", "any" },
                },
            },
        },
        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.Map{
    		"string": pulumi.Any("any"),
    	},
    	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.Map{
    		"string": pulumi.Any("any"),
    	},
    	Answers: rancher2.MultiClusterAppAnswerArray{
    		&rancher2.MultiClusterAppAnswerArgs{
    			ClusterId: pulumi.String("string"),
    			ProjectId: pulumi.String("string"),
    			Values: pulumi.Map{
    				"string": pulumi.Any("any"),
    			},
    		},
    	},
    	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", "any"))
        .name("string")
        .revisionHistoryLimit(0)
        .revisionId("string")
        .members(MultiClusterAppMemberArgs.builder()
            .accessType("string")
            .groupPrincipalId("string")
            .userPrincipalId("string")
            .build())
        .annotations(Map.of("string", "any"))
        .answers(MultiClusterAppAnswerArgs.builder()
            .clusterId("string")
            .projectId("string")
            .values(Map.of("string", "any"))
            .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=[rancher2.MultiClusterAppTargetArgs(
            project_id="string",
            app_id="string",
            health_state="string",
            state="string",
        )],
        labels={
            "string": "any",
        },
        name="string",
        revision_history_limit=0,
        revision_id="string",
        members=[rancher2.MultiClusterAppMemberArgs(
            access_type="string",
            group_principal_id="string",
            user_principal_id="string",
        )],
        annotations={
            "string": "any",
        },
        answers=[rancher2.MultiClusterAppAnswerArgs(
            cluster_id="string",
            project_id="string",
            values={
                "string": "any",
            },
        )],
        template_version="string",
        upgrade_strategy=rancher2.MultiClusterAppUpgradeStrategyArgs(
            rolling_update=rancher2.MultiClusterAppUpgradeStrategyRollingUpdateArgs(
                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: "any",
        },
        name: "string",
        revisionHistoryLimit: 0,
        revisionId: "string",
        members: [{
            accessType: "string",
            groupPrincipalId: "string",
            userPrincipalId: "string",
        }],
        annotations: {
            string: "any",
        },
        answers: [{
            clusterId: "string",
            projectId: "string",
            values: {
                string: "any",
            },
        }],
        templateVersion: "string",
        upgradeStrategy: {
            rollingUpdate: {
                batchSize: 0,
                interval: 0,
            },
        },
        wait: false,
    });
    
    type: rancher2:MultiClusterApp
    properties:
        annotations:
            string: any
        answers:
            - clusterId: string
              projectId: string
              values:
                string: any
        catalogName: string
        labels:
            string: any
        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

    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<MultiClusterAppTarget>
    The multi cluster app target projects (list)
    TemplateName string
    The multi cluster app template name (string)
    Annotations Dictionary<string, object>
    Annotations for multi cluster app object (map)
    Answers List<MultiClusterAppAnswer>
    The multi cluster app answers (list)
    Labels Dictionary<string, object>
    Labels for multi cluster app object (map)
    Members List<MultiClusterAppMember>
    The multi cluster app answers (list)
    Name 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 string
    The multi cluster app catalog name (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)
    Annotations map[string]interface{}
    Annotations for multi cluster app object (map)
    Answers []MultiClusterAppAnswerArgs
    The multi cluster app answers (list)
    Labels map[string]interface{}
    Labels for multi cluster app object (map)
    Members []MultiClusterAppMemberArgs
    The multi cluster app answers (list)
    Name 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 String
    The multi cluster app catalog name (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)
    annotations Map<String,Object>
    Annotations for multi cluster app object (map)
    answers List<MultiClusterAppAnswer>
    The multi cluster app answers (list)
    labels Map<String,Object>
    Labels for multi cluster app object (map)
    members List<MultiClusterAppMember>
    The multi cluster app answers (list)
    name 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 string
    The multi cluster app catalog name (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)
    annotations {[key: string]: any}
    Annotations for multi cluster app object (map)
    answers MultiClusterAppAnswer[]
    The multi cluster app answers (list)
    labels {[key: string]: any}
    Labels for multi cluster app object (map)
    members MultiClusterAppMember[]
    The multi cluster app answers (list)
    name 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 str
    The multi cluster app catalog name (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)
    annotations Mapping[str, Any]
    Annotations for multi cluster app object (map)
    answers Sequence[MultiClusterAppAnswerArgs]
    The multi cluster app answers (list)
    labels Mapping[str, Any]
    Labels for multi cluster app object (map)
    members Sequence[MultiClusterAppMemberArgs]
    The multi cluster app answers (list)
    name 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 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<Any>
    Annotations for multi cluster app object (map)
    answers List<Property Map>
    The multi cluster app answers (list)
    labels Map<Any>
    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)
    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, Any]] = None,
            answers: Optional[Sequence[MultiClusterAppAnswerArgs]] = None,
            catalog_name: Optional[str] = None,
            labels: Optional[Mapping[str, Any]] = 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)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Annotations Dictionary<string, object>
    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, object>
    Labels for multi cluster app object (map)
    Members List<MultiClusterAppMember>
    The multi cluster app answers (list)
    Name 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]interface{}
    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]interface{}
    Labels for multi cluster app object (map)
    Members []MultiClusterAppMemberArgs
    The multi cluster app answers (list)
    Name 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,Object>
    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,Object>
    Labels for multi cluster app object (map)
    members List<MultiClusterAppMember>
    The multi cluster app answers (list)
    name 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]: any}
    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]: any}
    Labels for multi cluster app object (map)
    members MultiClusterAppMember[]
    The multi cluster app answers (list)
    name 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, Any]
    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, Any]
    Labels for multi cluster app object (map)
    members Sequence[MultiClusterAppMemberArgs]
    The multi cluster app answers (list)
    name 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<Any>
    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<Any>
    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)
    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, object>
    Key/values for answer
    ClusterId string
    Cluster ID for answer
    ProjectId string
    Project ID for answer
    Values map[string]interface{}
    Key/values for answer
    clusterId String
    Cluster ID for answer
    projectId String
    Project ID for answer
    values Map<String,Object>
    Key/values for answer
    clusterId string
    Cluster ID for answer
    projectId string
    Project ID for answer
    values {[key: string]: any}
    Key/values for answer
    cluster_id str
    Cluster ID for answer
    project_id str
    Project ID for answer
    values Mapping[str, Any]
    Key/values for answer
    clusterId String
    Cluster ID for answer
    projectId String
    Project ID for answer
    values Map<Any>
    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 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 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;
    

    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.
    rancher2 logo
    Rancher 2 v6.1.1 published on Friday, May 10, 2024 by Pulumi