Ready to level-up your engineering skills? Join a Pulumi Workshop. Register Now

Project

Provides a Rancher v2 Project resource. This can be used to create projects for Rancher v2 environments and retrieve their information.

Example Usage

using Pulumi;
using Rancher2 = Pulumi.Rancher2;

class MyStack : Stack
{
    public MyStack()
    {
        // Create a new rancher2 Project
        var foo = new Rancher2.Project("foo", new Rancher2.ProjectArgs
        {
            ClusterId = "<CLUSTER_ID>",
            ContainerResourceLimit = new Rancher2.Inputs.ProjectContainerResourceLimitArgs
            {
                LimitsCpu = "20m",
                LimitsMemory = "20Mi",
                RequestsCpu = "1m",
                RequestsMemory = "1Mi",
            },
            ResourceQuota = new Rancher2.Inputs.ProjectResourceQuotaArgs
            {
                NamespaceDefaultLimit = new Rancher2.Inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs
                {
                    LimitsCpu = "2000m",
                    LimitsMemory = "500Mi",
                    RequestsStorage = "1Gi",
                },
                ProjectLimit = new Rancher2.Inputs.ProjectResourceQuotaProjectLimitArgs
                {
                    LimitsCpu = "2000m",
                    LimitsMemory = "2000Mi",
                    RequestsStorage = "2Gi",
                },
            },
        });
    }

}
package main

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

func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
        _, err := rancher2.NewProject(ctx, "foo", &rancher2.ProjectArgs{
            ClusterId: pulumi.String("<CLUSTER_ID>"),
            ContainerResourceLimit: &rancher2.ProjectContainerResourceLimitArgs{
                LimitsCpu:      pulumi.String("20m"),
                LimitsMemory:   pulumi.String("20Mi"),
                RequestsCpu:    pulumi.String("1m"),
                RequestsMemory: pulumi.String("1Mi"),
            },
            ResourceQuota: &rancher2.ProjectResourceQuotaArgs{
                NamespaceDefaultLimit: &rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs{
                    LimitsCpu:       pulumi.String("2000m"),
                    LimitsMemory:    pulumi.String("500Mi"),
                    RequestsStorage: pulumi.String("1Gi"),
                },
                ProjectLimit: &rancher2.ProjectResourceQuotaProjectLimitArgs{
                    LimitsCpu:       pulumi.String("2000m"),
                    LimitsMemory:    pulumi.String("2000Mi"),
                    RequestsStorage: pulumi.String("2Gi"),
                },
            },
        })
        if err != nil {
            return err
        }
        return nil
    })
}
import pulumi
import pulumi_rancher2 as rancher2

# Create a new rancher2 Project
foo = rancher2.Project("foo",
    cluster_id="<CLUSTER_ID>",
    container_resource_limit=rancher2.ProjectContainerResourceLimitArgs(
        limits_cpu="20m",
        limits_memory="20Mi",
        requests_cpu="1m",
        requests_memory="1Mi",
    ),
    resource_quota=rancher2.ProjectResourceQuotaArgs(
        namespace_default_limit=rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs(
            limits_cpu="2000m",
            limits_memory="500Mi",
            requests_storage="1Gi",
        ),
        project_limit=rancher2.ProjectResourceQuotaProjectLimitArgs(
            limits_cpu="2000m",
            limits_memory="2000Mi",
            requests_storage="2Gi",
        ),
    ))
import * as pulumi from "@pulumi/pulumi";
import * as rancher2 from "@pulumi/rancher2";

// Create a new rancher2 Project
const foo = new rancher2.Project("foo", {
    clusterId: "<CLUSTER_ID>",
    containerResourceLimit: {
        limitsCpu: "20m",
        limitsMemory: "20Mi",
        requestsCpu: "1m",
        requestsMemory: "1Mi",
    },
    resourceQuota: {
        namespaceDefaultLimit: {
            limitsCpu: "2000m",
            limitsMemory: "500Mi",
            requestsStorage: "1Gi",
        },
        projectLimit: {
            limitsCpu: "2000m",
            limitsMemory: "2000Mi",
            requestsStorage: "2Gi",
        },
    },
});

Create a Project Resource

new Project(name: string, args: ProjectArgs, opts?: CustomResourceOptions);
def Project(resource_name: str, opts: Optional[ResourceOptions] = None, annotations: Optional[Mapping[str, Any]] = None, cluster_id: Optional[str] = None, container_resource_limit: Optional[ProjectContainerResourceLimitArgs] = None, description: Optional[str] = None, enable_project_monitoring: Optional[bool] = None, labels: Optional[Mapping[str, Any]] = None, name: Optional[str] = None, pod_security_policy_template_id: Optional[str] = None, project_monitoring_input: Optional[ProjectProjectMonitoringInputArgs] = None, resource_quota: Optional[ProjectResourceQuotaArgs] = None, wait_for_cluster: Optional[bool] = None)
func NewProject(ctx *Context, name string, args ProjectArgs, opts ...ResourceOption) (*Project, error)
public Project(string name, ProjectArgs args, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args ProjectArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
opts ResourceOptions
A bag of options that control this resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args ProjectArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args ProjectArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

Project Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Programming Model docs.

Inputs

The Project resource accepts the following input properties:

ClusterId string

The cluster id where create project (string)

Annotations Dictionary<string, object>

Annotations for Node Pool object (map)

ContainerResourceLimit ProjectContainerResourceLimitArgs

Default containers resource limits on project (List maxitem:1)

Description string

A project description (string)

EnableProjectMonitoring bool

Enable built-in project monitoring. Default false (bool)

Labels Dictionary<string, object>

Labels for Node Pool object (map)

Name string

The name of the project (string)

PodSecurityPolicyTemplateId string

Default Pod Security Policy ID for the project (string)

ProjectMonitoringInput ProjectProjectMonitoringInputArgs

Project monitoring config. Any parameter defined in rancher-monitoring charts could be configured (list maxitems:1)

ResourceQuota ProjectResourceQuotaArgs

Resource quota for project. Rancher v2.1.x or higher (list maxitems:1)

WaitForCluster bool

Wait for cluster becomes active. Default false (bool)

ClusterId string

The cluster id where create project (string)

Annotations map[string]interface{}

Annotations for Node Pool object (map)

ContainerResourceLimit ProjectContainerResourceLimit

Default containers resource limits on project (List maxitem:1)

Description string

A project description (string)

EnableProjectMonitoring bool

Enable built-in project monitoring. Default false (bool)

Labels map[string]interface{}

Labels for Node Pool object (map)

Name string

The name of the project (string)

PodSecurityPolicyTemplateId string

Default Pod Security Policy ID for the project (string)

ProjectMonitoringInput ProjectProjectMonitoringInput

Project monitoring config. Any parameter defined in rancher-monitoring charts could be configured (list maxitems:1)

ResourceQuota ProjectResourceQuota

Resource quota for project. Rancher v2.1.x or higher (list maxitems:1)

WaitForCluster bool

Wait for cluster becomes active. Default false (bool)

clusterId string

The cluster id where create project (string)

annotations {[key: string]: any}

Annotations for Node Pool object (map)

containerResourceLimit ProjectContainerResourceLimit

Default containers resource limits on project (List maxitem:1)

description string

A project description (string)

enableProjectMonitoring boolean

Enable built-in project monitoring. Default false (bool)

labels {[key: string]: any}

Labels for Node Pool object (map)

name string

The name of the project (string)

podSecurityPolicyTemplateId string

Default Pod Security Policy ID for the project (string)

projectMonitoringInput ProjectProjectMonitoringInput

Project monitoring config. Any parameter defined in rancher-monitoring charts could be configured (list maxitems:1)

resourceQuota ProjectResourceQuota

Resource quota for project. Rancher v2.1.x or higher (list maxitems:1)

waitForCluster boolean

Wait for cluster becomes active. Default false (bool)

cluster_id str

The cluster id where create project (string)

annotations Mapping[str, Any]

Annotations for Node Pool object (map)

container_resource_limit ProjectContainerResourceLimitArgs

Default containers resource limits on project (List maxitem:1)

description str

A project description (string)

enable_project_monitoring bool

Enable built-in project monitoring. Default false (bool)

labels Mapping[str, Any]

Labels for Node Pool object (map)

name str

The name of the project (string)

pod_security_policy_template_id str

Default Pod Security Policy ID for the project (string)

project_monitoring_input ProjectProjectMonitoringInputArgs

Project monitoring config. Any parameter defined in rancher-monitoring charts could be configured (list maxitems:1)

resource_quota ProjectResourceQuotaArgs

Resource quota for project. Rancher v2.1.x or higher (list maxitems:1)

wait_for_cluster bool

Wait for cluster becomes active. Default false (bool)

Outputs

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

Id string
The provider-assigned unique ID for this managed resource.
Id string
The provider-assigned unique ID for this managed resource.
id string
The provider-assigned unique ID for this managed resource.
id str
The provider-assigned unique ID for this managed resource.

Look up an Existing Project Resource

Get an existing Project 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?: ProjectState, opts?: CustomResourceOptions): Project
@staticmethod
def get(resource_name: str, id: str, opts: Optional[ResourceOptions] = None, annotations: Optional[Mapping[str, Any]] = None, cluster_id: Optional[str] = None, container_resource_limit: Optional[ProjectContainerResourceLimitArgs] = None, description: Optional[str] = None, enable_project_monitoring: Optional[bool] = None, labels: Optional[Mapping[str, Any]] = None, name: Optional[str] = None, pod_security_policy_template_id: Optional[str] = None, project_monitoring_input: Optional[ProjectProjectMonitoringInputArgs] = None, resource_quota: Optional[ProjectResourceQuotaArgs] = None, wait_for_cluster: Optional[bool] = None) -> Project
func GetProject(ctx *Context, name string, id IDInput, state *ProjectState, opts ...ResourceOption) (*Project, error)
public static Project Get(string name, Input<string> id, ProjectState? state, CustomResourceOptions? opts = null)
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.

The following state arguments are supported:

Annotations Dictionary<string, object>

Annotations for Node Pool object (map)

ClusterId string

The cluster id where create project (string)

ContainerResourceLimit ProjectContainerResourceLimitArgs

Default containers resource limits on project (List maxitem:1)

Description string

A project description (string)

EnableProjectMonitoring bool

Enable built-in project monitoring. Default false (bool)

Labels Dictionary<string, object>

Labels for Node Pool object (map)

Name string

The name of the project (string)

PodSecurityPolicyTemplateId string

Default Pod Security Policy ID for the project (string)

ProjectMonitoringInput ProjectProjectMonitoringInputArgs

Project monitoring config. Any parameter defined in rancher-monitoring charts could be configured (list maxitems:1)

ResourceQuota ProjectResourceQuotaArgs

Resource quota for project. Rancher v2.1.x or higher (list maxitems:1)

WaitForCluster bool

Wait for cluster becomes active. Default false (bool)

Annotations map[string]interface{}

Annotations for Node Pool object (map)

ClusterId string

The cluster id where create project (string)

ContainerResourceLimit ProjectContainerResourceLimit

Default containers resource limits on project (List maxitem:1)

Description string

A project description (string)

EnableProjectMonitoring bool

Enable built-in project monitoring. Default false (bool)

Labels map[string]interface{}

Labels for Node Pool object (map)

Name string

The name of the project (string)

PodSecurityPolicyTemplateId string

Default Pod Security Policy ID for the project (string)

ProjectMonitoringInput ProjectProjectMonitoringInput

Project monitoring config. Any parameter defined in rancher-monitoring charts could be configured (list maxitems:1)

ResourceQuota ProjectResourceQuota

Resource quota for project. Rancher v2.1.x or higher (list maxitems:1)

WaitForCluster bool

Wait for cluster becomes active. Default false (bool)

annotations {[key: string]: any}

Annotations for Node Pool object (map)

clusterId string

The cluster id where create project (string)

containerResourceLimit ProjectContainerResourceLimit

Default containers resource limits on project (List maxitem:1)

description string

A project description (string)

enableProjectMonitoring boolean

Enable built-in project monitoring. Default false (bool)

labels {[key: string]: any}

Labels for Node Pool object (map)

name string

The name of the project (string)

podSecurityPolicyTemplateId string

Default Pod Security Policy ID for the project (string)

projectMonitoringInput ProjectProjectMonitoringInput

Project monitoring config. Any parameter defined in rancher-monitoring charts could be configured (list maxitems:1)

resourceQuota ProjectResourceQuota

Resource quota for project. Rancher v2.1.x or higher (list maxitems:1)

waitForCluster boolean

Wait for cluster becomes active. Default false (bool)

annotations Mapping[str, Any]

Annotations for Node Pool object (map)

cluster_id str

The cluster id where create project (string)

container_resource_limit ProjectContainerResourceLimitArgs

Default containers resource limits on project (List maxitem:1)

description str

A project description (string)

enable_project_monitoring bool

Enable built-in project monitoring. Default false (bool)

labels Mapping[str, Any]

Labels for Node Pool object (map)

name str

The name of the project (string)

pod_security_policy_template_id str

Default Pod Security Policy ID for the project (string)

project_monitoring_input ProjectProjectMonitoringInputArgs

Project monitoring config. Any parameter defined in rancher-monitoring charts could be configured (list maxitems:1)

resource_quota ProjectResourceQuotaArgs

Resource quota for project. Rancher v2.1.x or higher (list maxitems:1)

wait_for_cluster bool

Wait for cluster becomes active. Default false (bool)

Supporting Types

ProjectContainerResourceLimit

LimitsCpu string

Limit for limits cpu in project (string)

LimitsMemory string

Limit for limits memory in project (string)

RequestsCpu string

Limit for requests cpu in project (string)

RequestsMemory string

Limit for requests memory in project (string)

LimitsCpu string

Limit for limits cpu in project (string)

LimitsMemory string

Limit for limits memory in project (string)

RequestsCpu string

Limit for requests cpu in project (string)

RequestsMemory string

Limit for requests memory in project (string)

limitsCpu string

Limit for limits cpu in project (string)

limitsMemory string

Limit for limits memory in project (string)

requestsCpu string

Limit for requests cpu in project (string)

requestsMemory string

Limit for requests memory in project (string)

limits_cpu str

Limit for limits cpu in project (string)

limits_memory str

Limit for limits memory in project (string)

requests_cpu str

Limit for requests cpu in project (string)

requests_memory str

Limit for requests memory in project (string)

ProjectProjectMonitoringInput

Answers Dictionary<string, object>

Key/value answers for monitor input (map)

Version string

rancher-monitoring chart version (string)

Answers map[string]interface{}

Key/value answers for monitor input (map)

Version string

rancher-monitoring chart version (string)

answers {[key: string]: any}

Key/value answers for monitor input (map)

version string

rancher-monitoring chart version (string)

answers Mapping[str, Any]

Key/value answers for monitor input (map)

version str

rancher-monitoring chart version (string)

ProjectResourceQuota

NamespaceDefaultLimit ProjectResourceQuotaNamespaceDefaultLimitArgs

Default resource quota limit for namespaces in project (list maxitems:1)

ProjectLimit ProjectResourceQuotaProjectLimitArgs

Resource quota limit for project (list maxitems:1)

NamespaceDefaultLimit ProjectResourceQuotaNamespaceDefaultLimit

Default resource quota limit for namespaces in project (list maxitems:1)

ProjectLimit ProjectResourceQuotaProjectLimit

Resource quota limit for project (list maxitems:1)

namespaceDefaultLimit ProjectResourceQuotaNamespaceDefaultLimit

Default resource quota limit for namespaces in project (list maxitems:1)

projectLimit ProjectResourceQuotaProjectLimit

Resource quota limit for project (list maxitems:1)

namespace_default_limit ProjectResourceQuotaNamespaceDefaultLimitArgs

Default resource quota limit for namespaces in project (list maxitems:1)

project_limit ProjectResourceQuotaProjectLimitArgs

Resource quota limit for project (list maxitems:1)

ProjectResourceQuotaNamespaceDefaultLimit

ConfigMaps string

Limit for config maps in project (string)

LimitsCpu string

Limit for limits cpu in project (string)

LimitsMemory string

Limit for limits memory in project (string)

PersistentVolumeClaims string

Limit for persistent volume claims in project (string)

Pods string

Limit for pods in project (string)

ReplicationControllers string

Limit for replication controllers in project (string)

RequestsCpu string

Limit for requests cpu in project (string)

RequestsMemory string

Limit for requests memory in project (string)

RequestsStorage string

Limit for requests storage in project (string)

Secrets string

Limit for secrets in project (string)

Services string
ServicesLoadBalancers string

Limit for services load balancers in project (string)

ServicesNodePorts string

Limit for services node ports in project (string)

ConfigMaps string

Limit for config maps in project (string)

LimitsCpu string

Limit for limits cpu in project (string)

LimitsMemory string

Limit for limits memory in project (string)

PersistentVolumeClaims string

Limit for persistent volume claims in project (string)

Pods string

Limit for pods in project (string)

ReplicationControllers string

Limit for replication controllers in project (string)

RequestsCpu string

Limit for requests cpu in project (string)

RequestsMemory string

Limit for requests memory in project (string)

RequestsStorage string

Limit for requests storage in project (string)

Secrets string

Limit for secrets in project (string)

Services string
ServicesLoadBalancers string

Limit for services load balancers in project (string)

ServicesNodePorts string

Limit for services node ports in project (string)

configMaps string

Limit for config maps in project (string)

limitsCpu string

Limit for limits cpu in project (string)

limitsMemory string

Limit for limits memory in project (string)

persistentVolumeClaims string

Limit for persistent volume claims in project (string)

pods string

Limit for pods in project (string)

replicationControllers string

Limit for replication controllers in project (string)

requestsCpu string

Limit for requests cpu in project (string)

requestsMemory string

Limit for requests memory in project (string)

requestsStorage string

Limit for requests storage in project (string)

secrets string

Limit for secrets in project (string)

services string
servicesLoadBalancers string

Limit for services load balancers in project (string)

servicesNodePorts string

Limit for services node ports in project (string)

config_maps str

Limit for config maps in project (string)

limits_cpu str

Limit for limits cpu in project (string)

limits_memory str

Limit for limits memory in project (string)

persistent_volume_claims str

Limit for persistent volume claims in project (string)

pods str

Limit for pods in project (string)

replication_controllers str

Limit for replication controllers in project (string)

requests_cpu str

Limit for requests cpu in project (string)

requests_memory str

Limit for requests memory in project (string)

requests_storage str

Limit for requests storage in project (string)

secrets str

Limit for secrets in project (string)

services str
services_load_balancers str

Limit for services load balancers in project (string)

services_node_ports str

Limit for services node ports in project (string)

ProjectResourceQuotaProjectLimit

ConfigMaps string

Limit for config maps in project (string)

LimitsCpu string

Limit for limits cpu in project (string)

LimitsMemory string

Limit for limits memory in project (string)

PersistentVolumeClaims string

Limit for persistent volume claims in project (string)

Pods string

Limit for pods in project (string)

ReplicationControllers string

Limit for replication controllers in project (string)

RequestsCpu string

Limit for requests cpu in project (string)

RequestsMemory string

Limit for requests memory in project (string)

RequestsStorage string

Limit for requests storage in project (string)

Secrets string

Limit for secrets in project (string)

Services string
ServicesLoadBalancers string

Limit for services load balancers in project (string)

ServicesNodePorts string

Limit for services node ports in project (string)

ConfigMaps string

Limit for config maps in project (string)

LimitsCpu string

Limit for limits cpu in project (string)

LimitsMemory string

Limit for limits memory in project (string)

PersistentVolumeClaims string

Limit for persistent volume claims in project (string)

Pods string

Limit for pods in project (string)

ReplicationControllers string

Limit for replication controllers in project (string)

RequestsCpu string

Limit for requests cpu in project (string)

RequestsMemory string

Limit for requests memory in project (string)

RequestsStorage string

Limit for requests storage in project (string)

Secrets string

Limit for secrets in project (string)

Services string
ServicesLoadBalancers string

Limit for services load balancers in project (string)

ServicesNodePorts string

Limit for services node ports in project (string)

configMaps string

Limit for config maps in project (string)

limitsCpu string

Limit for limits cpu in project (string)

limitsMemory string

Limit for limits memory in project (string)

persistentVolumeClaims string

Limit for persistent volume claims in project (string)

pods string

Limit for pods in project (string)

replicationControllers string

Limit for replication controllers in project (string)

requestsCpu string

Limit for requests cpu in project (string)

requestsMemory string

Limit for requests memory in project (string)

requestsStorage string

Limit for requests storage in project (string)

secrets string

Limit for secrets in project (string)

services string
servicesLoadBalancers string

Limit for services load balancers in project (string)

servicesNodePorts string

Limit for services node ports in project (string)

config_maps str

Limit for config maps in project (string)

limits_cpu str

Limit for limits cpu in project (string)

limits_memory str

Limit for limits memory in project (string)

persistent_volume_claims str

Limit for persistent volume claims in project (string)

pods str

Limit for pods in project (string)

replication_controllers str

Limit for replication controllers in project (string)

requests_cpu str

Limit for requests cpu in project (string)

requests_memory str

Limit for requests memory in project (string)

requests_storage str

Limit for requests storage in project (string)

secrets str

Limit for secrets in project (string)

services str
services_load_balancers str

Limit for services load balancers in project (string)

services_node_ports str

Limit for services node ports in project (string)

Import

Projects can be imported using the Rancher Project ID

 $ pulumi import rancher2:index/project:Project foo &lt;project_id&gt;

Package Details

Repository
https://github.com/pulumi/pulumi-rancher2
License
Apache-2.0
Notes
This Pulumi package is based on the rancher2 Terraform Provider.