rancher2.Project
Explore with Pulumi AI
Provides a Rancher v2 Project resource. This can be used to create projects for Rancher v2 environments and retrieve their information.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as rancher2 from "@pulumi/rancher2";
// Create a new rancher2 Project
const foo = new rancher2.Project("foo", {
name: "foo",
clusterId: "<CLUSTER_ID>",
resourceQuota: {
projectLimit: {
limitsCpu: "2000m",
limitsMemory: "2000Mi",
requestsStorage: "2Gi",
},
namespaceDefaultLimit: {
limitsCpu: "2000m",
limitsMemory: "500Mi",
requestsStorage: "1Gi",
},
},
containerResourceLimit: {
limitsCpu: "20m",
limitsMemory: "20Mi",
requestsCpu: "1m",
requestsMemory: "1Mi",
},
});
import pulumi
import pulumi_rancher2 as rancher2
# Create a new rancher2 Project
foo = rancher2.Project("foo",
name="foo",
cluster_id="<CLUSTER_ID>",
resource_quota=rancher2.ProjectResourceQuotaArgs(
project_limit=rancher2.ProjectResourceQuotaProjectLimitArgs(
limits_cpu="2000m",
limits_memory="2000Mi",
requests_storage="2Gi",
),
namespace_default_limit=rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs(
limits_cpu="2000m",
limits_memory="500Mi",
requests_storage="1Gi",
),
),
container_resource_limit=rancher2.ProjectContainerResourceLimitArgs(
limits_cpu="20m",
limits_memory="20Mi",
requests_cpu="1m",
requests_memory="1Mi",
))
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 Project
_, err := rancher2.NewProject(ctx, "foo", &rancher2.ProjectArgs{
Name: pulumi.String("foo"),
ClusterId: pulumi.String("<CLUSTER_ID>"),
ResourceQuota: &rancher2.ProjectResourceQuotaArgs{
ProjectLimit: &rancher2.ProjectResourceQuotaProjectLimitArgs{
LimitsCpu: pulumi.String("2000m"),
LimitsMemory: pulumi.String("2000Mi"),
RequestsStorage: pulumi.String("2Gi"),
},
NamespaceDefaultLimit: &rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs{
LimitsCpu: pulumi.String("2000m"),
LimitsMemory: pulumi.String("500Mi"),
RequestsStorage: pulumi.String("1Gi"),
},
},
ContainerResourceLimit: &rancher2.ProjectContainerResourceLimitArgs{
LimitsCpu: pulumi.String("20m"),
LimitsMemory: pulumi.String("20Mi"),
RequestsCpu: pulumi.String("1m"),
RequestsMemory: pulumi.String("1Mi"),
},
})
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 Project
var foo = new Rancher2.Project("foo", new()
{
Name = "foo",
ClusterId = "<CLUSTER_ID>",
ResourceQuota = new Rancher2.Inputs.ProjectResourceQuotaArgs
{
ProjectLimit = new Rancher2.Inputs.ProjectResourceQuotaProjectLimitArgs
{
LimitsCpu = "2000m",
LimitsMemory = "2000Mi",
RequestsStorage = "2Gi",
},
NamespaceDefaultLimit = new Rancher2.Inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs
{
LimitsCpu = "2000m",
LimitsMemory = "500Mi",
RequestsStorage = "1Gi",
},
},
ContainerResourceLimit = new Rancher2.Inputs.ProjectContainerResourceLimitArgs
{
LimitsCpu = "20m",
LimitsMemory = "20Mi",
RequestsCpu = "1m",
RequestsMemory = "1Mi",
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.rancher2.Project;
import com.pulumi.rancher2.ProjectArgs;
import com.pulumi.rancher2.inputs.ProjectResourceQuotaArgs;
import com.pulumi.rancher2.inputs.ProjectResourceQuotaProjectLimitArgs;
import com.pulumi.rancher2.inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs;
import com.pulumi.rancher2.inputs.ProjectContainerResourceLimitArgs;
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 Project
var foo = new Project("foo", ProjectArgs.builder()
.name("foo")
.clusterId("<CLUSTER_ID>")
.resourceQuota(ProjectResourceQuotaArgs.builder()
.projectLimit(ProjectResourceQuotaProjectLimitArgs.builder()
.limitsCpu("2000m")
.limitsMemory("2000Mi")
.requestsStorage("2Gi")
.build())
.namespaceDefaultLimit(ProjectResourceQuotaNamespaceDefaultLimitArgs.builder()
.limitsCpu("2000m")
.limitsMemory("500Mi")
.requestsStorage("1Gi")
.build())
.build())
.containerResourceLimit(ProjectContainerResourceLimitArgs.builder()
.limitsCpu("20m")
.limitsMemory("20Mi")
.requestsCpu("1m")
.requestsMemory("1Mi")
.build())
.build());
}
}
resources:
# Create a new rancher2 Project
foo:
type: rancher2:Project
properties:
name: foo
clusterId: <CLUSTER_ID>
resourceQuota:
projectLimit:
limitsCpu: 2000m
limitsMemory: 2000Mi
requestsStorage: 2Gi
namespaceDefaultLimit:
limitsCpu: 2000m
limitsMemory: 500Mi
requestsStorage: 1Gi
containerResourceLimit:
limitsCpu: 20m
limitsMemory: 20Mi
requestsCpu: 1m
requestsMemory: 1Mi
import * as pulumi from "@pulumi/pulumi";
import * as rancher2 from "@pulumi/rancher2";
// Create a new rancher2 Project enabling and customizing monitoring
const foo = new rancher2.Project("foo", {
name: "foo",
clusterId: "<CLUSTER_ID>",
resourceQuota: {
projectLimit: {
limitsCpu: "2000m",
limitsMemory: "2000Mi",
requestsStorage: "2Gi",
},
namespaceDefaultLimit: {
limitsCpu: "2000m",
limitsMemory: "500Mi",
requestsStorage: "1Gi",
},
},
containerResourceLimit: {
limitsCpu: "20m",
limitsMemory: "20Mi",
requestsCpu: "1m",
requestsMemory: "1Mi",
},
enableProjectMonitoring: true,
projectMonitoringInput: {
answers: {
"exporter-kubelets.https": true,
"exporter-node.enabled": true,
"exporter-node.ports.metrics.port": 9796,
"exporter-node.resources.limits.cpu": "200m",
"exporter-node.resources.limits.memory": "200Mi",
"grafana.persistence.enabled": false,
"grafana.persistence.size": "10Gi",
"grafana.persistence.storageClass": "default",
"operator.resources.limits.memory": "500Mi",
"prometheus.persistence.enabled": "false",
"prometheus.persistence.size": "50Gi",
"prometheus.persistence.storageClass": "default",
"prometheus.persistent.useReleaseName": "true",
"prometheus.resources.core.limits.cpu": "1000m",
"prometheus.resources.core.limits.memory": "1500Mi",
"prometheus.resources.core.requests.cpu": "750m",
"prometheus.resources.core.requests.memory": "750Mi",
"prometheus.retention": "12h",
},
},
});
import pulumi
import pulumi_rancher2 as rancher2
# Create a new rancher2 Project enabling and customizing monitoring
foo = rancher2.Project("foo",
name="foo",
cluster_id="<CLUSTER_ID>",
resource_quota=rancher2.ProjectResourceQuotaArgs(
project_limit=rancher2.ProjectResourceQuotaProjectLimitArgs(
limits_cpu="2000m",
limits_memory="2000Mi",
requests_storage="2Gi",
),
namespace_default_limit=rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs(
limits_cpu="2000m",
limits_memory="500Mi",
requests_storage="1Gi",
),
),
container_resource_limit=rancher2.ProjectContainerResourceLimitArgs(
limits_cpu="20m",
limits_memory="20Mi",
requests_cpu="1m",
requests_memory="1Mi",
),
enable_project_monitoring=True,
project_monitoring_input=rancher2.ProjectProjectMonitoringInputArgs(
answers={
"exporter-kubelets.https": True,
"exporter-node.enabled": True,
"exporter-node.ports.metrics.port": 9796,
"exporter-node.resources.limits.cpu": "200m",
"exporter-node.resources.limits.memory": "200Mi",
"grafana.persistence.enabled": False,
"grafana.persistence.size": "10Gi",
"grafana.persistence.storageClass": "default",
"operator.resources.limits.memory": "500Mi",
"prometheus.persistence.enabled": "false",
"prometheus.persistence.size": "50Gi",
"prometheus.persistence.storageClass": "default",
"prometheus.persistent.useReleaseName": "true",
"prometheus.resources.core.limits.cpu": "1000m",
"prometheus.resources.core.limits.memory": "1500Mi",
"prometheus.resources.core.requests.cpu": "750m",
"prometheus.resources.core.requests.memory": "750Mi",
"prometheus.retention": "12h",
},
))
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 Project enabling and customizing monitoring
_, err := rancher2.NewProject(ctx, "foo", &rancher2.ProjectArgs{
Name: pulumi.String("foo"),
ClusterId: pulumi.String("<CLUSTER_ID>"),
ResourceQuota: &rancher2.ProjectResourceQuotaArgs{
ProjectLimit: &rancher2.ProjectResourceQuotaProjectLimitArgs{
LimitsCpu: pulumi.String("2000m"),
LimitsMemory: pulumi.String("2000Mi"),
RequestsStorage: pulumi.String("2Gi"),
},
NamespaceDefaultLimit: &rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs{
LimitsCpu: pulumi.String("2000m"),
LimitsMemory: pulumi.String("500Mi"),
RequestsStorage: pulumi.String("1Gi"),
},
},
ContainerResourceLimit: &rancher2.ProjectContainerResourceLimitArgs{
LimitsCpu: pulumi.String("20m"),
LimitsMemory: pulumi.String("20Mi"),
RequestsCpu: pulumi.String("1m"),
RequestsMemory: pulumi.String("1Mi"),
},
EnableProjectMonitoring: pulumi.Bool(true),
ProjectMonitoringInput: &rancher2.ProjectProjectMonitoringInputArgs{
Answers: pulumi.Map{
"exporter-kubelets.https": pulumi.Any(true),
"exporter-node.enabled": pulumi.Any(true),
"exporter-node.ports.metrics.port": pulumi.Any(9796),
"exporter-node.resources.limits.cpu": pulumi.Any("200m"),
"exporter-node.resources.limits.memory": pulumi.Any("200Mi"),
"grafana.persistence.enabled": pulumi.Any(false),
"grafana.persistence.size": pulumi.Any("10Gi"),
"grafana.persistence.storageClass": pulumi.Any("default"),
"operator.resources.limits.memory": pulumi.Any("500Mi"),
"prometheus.persistence.enabled": pulumi.Any("false"),
"prometheus.persistence.size": pulumi.Any("50Gi"),
"prometheus.persistence.storageClass": pulumi.Any("default"),
"prometheus.persistent.useReleaseName": pulumi.Any("true"),
"prometheus.resources.core.limits.cpu": pulumi.Any("1000m"),
"prometheus.resources.core.limits.memory": pulumi.Any("1500Mi"),
"prometheus.resources.core.requests.cpu": pulumi.Any("750m"),
"prometheus.resources.core.requests.memory": pulumi.Any("750Mi"),
"prometheus.retention": pulumi.Any("12h"),
},
},
})
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 Project enabling and customizing monitoring
var foo = new Rancher2.Project("foo", new()
{
Name = "foo",
ClusterId = "<CLUSTER_ID>",
ResourceQuota = new Rancher2.Inputs.ProjectResourceQuotaArgs
{
ProjectLimit = new Rancher2.Inputs.ProjectResourceQuotaProjectLimitArgs
{
LimitsCpu = "2000m",
LimitsMemory = "2000Mi",
RequestsStorage = "2Gi",
},
NamespaceDefaultLimit = new Rancher2.Inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs
{
LimitsCpu = "2000m",
LimitsMemory = "500Mi",
RequestsStorage = "1Gi",
},
},
ContainerResourceLimit = new Rancher2.Inputs.ProjectContainerResourceLimitArgs
{
LimitsCpu = "20m",
LimitsMemory = "20Mi",
RequestsCpu = "1m",
RequestsMemory = "1Mi",
},
EnableProjectMonitoring = true,
ProjectMonitoringInput = new Rancher2.Inputs.ProjectProjectMonitoringInputArgs
{
Answers =
{
{ "exporter-kubelets.https", true },
{ "exporter-node.enabled", true },
{ "exporter-node.ports.metrics.port", 9796 },
{ "exporter-node.resources.limits.cpu", "200m" },
{ "exporter-node.resources.limits.memory", "200Mi" },
{ "grafana.persistence.enabled", false },
{ "grafana.persistence.size", "10Gi" },
{ "grafana.persistence.storageClass", "default" },
{ "operator.resources.limits.memory", "500Mi" },
{ "prometheus.persistence.enabled", "false" },
{ "prometheus.persistence.size", "50Gi" },
{ "prometheus.persistence.storageClass", "default" },
{ "prometheus.persistent.useReleaseName", "true" },
{ "prometheus.resources.core.limits.cpu", "1000m" },
{ "prometheus.resources.core.limits.memory", "1500Mi" },
{ "prometheus.resources.core.requests.cpu", "750m" },
{ "prometheus.resources.core.requests.memory", "750Mi" },
{ "prometheus.retention", "12h" },
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.rancher2.Project;
import com.pulumi.rancher2.ProjectArgs;
import com.pulumi.rancher2.inputs.ProjectResourceQuotaArgs;
import com.pulumi.rancher2.inputs.ProjectResourceQuotaProjectLimitArgs;
import com.pulumi.rancher2.inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs;
import com.pulumi.rancher2.inputs.ProjectContainerResourceLimitArgs;
import com.pulumi.rancher2.inputs.ProjectProjectMonitoringInputArgs;
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 Project enabling and customizing monitoring
var foo = new Project("foo", ProjectArgs.builder()
.name("foo")
.clusterId("<CLUSTER_ID>")
.resourceQuota(ProjectResourceQuotaArgs.builder()
.projectLimit(ProjectResourceQuotaProjectLimitArgs.builder()
.limitsCpu("2000m")
.limitsMemory("2000Mi")
.requestsStorage("2Gi")
.build())
.namespaceDefaultLimit(ProjectResourceQuotaNamespaceDefaultLimitArgs.builder()
.limitsCpu("2000m")
.limitsMemory("500Mi")
.requestsStorage("1Gi")
.build())
.build())
.containerResourceLimit(ProjectContainerResourceLimitArgs.builder()
.limitsCpu("20m")
.limitsMemory("20Mi")
.requestsCpu("1m")
.requestsMemory("1Mi")
.build())
.enableProjectMonitoring(true)
.projectMonitoringInput(ProjectProjectMonitoringInputArgs.builder()
.answers(Map.ofEntries(
Map.entry("exporter-kubelets.https", true),
Map.entry("exporter-node.enabled", true),
Map.entry("exporter-node.ports.metrics.port", 9796),
Map.entry("exporter-node.resources.limits.cpu", "200m"),
Map.entry("exporter-node.resources.limits.memory", "200Mi"),
Map.entry("grafana.persistence.enabled", false),
Map.entry("grafana.persistence.size", "10Gi"),
Map.entry("grafana.persistence.storageClass", "default"),
Map.entry("operator.resources.limits.memory", "500Mi"),
Map.entry("prometheus.persistence.enabled", "false"),
Map.entry("prometheus.persistence.size", "50Gi"),
Map.entry("prometheus.persistence.storageClass", "default"),
Map.entry("prometheus.persistent.useReleaseName", "true"),
Map.entry("prometheus.resources.core.limits.cpu", "1000m"),
Map.entry("prometheus.resources.core.limits.memory", "1500Mi"),
Map.entry("prometheus.resources.core.requests.cpu", "750m"),
Map.entry("prometheus.resources.core.requests.memory", "750Mi"),
Map.entry("prometheus.retention", "12h")
))
.build())
.build());
}
}
resources:
# Create a new rancher2 Project enabling and customizing monitoring
foo:
type: rancher2:Project
properties:
name: foo
clusterId: <CLUSTER_ID>
resourceQuota:
projectLimit:
limitsCpu: 2000m
limitsMemory: 2000Mi
requestsStorage: 2Gi
namespaceDefaultLimit:
limitsCpu: 2000m
limitsMemory: 500Mi
requestsStorage: 1Gi
containerResourceLimit:
limitsCpu: 20m
limitsMemory: 20Mi
requestsCpu: 1m
requestsMemory: 1Mi
enableProjectMonitoring: true
projectMonitoringInput:
answers:
exporter-kubelets.https: true
exporter-node.enabled: true
exporter-node.ports.metrics.port: 9796
exporter-node.resources.limits.cpu: 200m
exporter-node.resources.limits.memory: 200Mi
grafana.persistence.enabled: false
grafana.persistence.size: 10Gi
grafana.persistence.storageClass: default
operator.resources.limits.memory: 500Mi
prometheus.persistence.enabled: 'false'
prometheus.persistence.size: 50Gi
prometheus.persistence.storageClass: default
prometheus.persistent.useReleaseName: 'true'
prometheus.resources.core.limits.cpu: 1000m
prometheus.resources.core.limits.memory: 1500Mi
prometheus.resources.core.requests.cpu: 750m
prometheus.resources.core.requests.memory: 750Mi
prometheus.retention: 12h
Create Project Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Project(name: string, args: ProjectArgs, opts?: CustomResourceOptions);
@overload
def Project(resource_name: str,
args: ProjectArgs,
opts: Optional[ResourceOptions] = None)
@overload
def Project(resource_name: str,
opts: Optional[ResourceOptions] = None,
cluster_id: Optional[str] = None,
annotations: Optional[Mapping[str, Any]] = 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)
public Project(String name, ProjectArgs args)
public Project(String name, ProjectArgs args, CustomResourceOptions options)
type: rancher2:Project
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 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.
- args ProjectArgs
- 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 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.
- name String
- The unique name of the resource.
- args ProjectArgs
- 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 projectResource = new Rancher2.Project("projectResource", new()
{
ClusterId = "string",
Annotations =
{
{ "string", "any" },
},
ContainerResourceLimit = new Rancher2.Inputs.ProjectContainerResourceLimitArgs
{
LimitsCpu = "string",
LimitsMemory = "string",
RequestsCpu = "string",
RequestsMemory = "string",
},
Description = "string",
EnableProjectMonitoring = false,
Labels =
{
{ "string", "any" },
},
Name = "string",
PodSecurityPolicyTemplateId = "string",
ProjectMonitoringInput = new Rancher2.Inputs.ProjectProjectMonitoringInputArgs
{
Answers =
{
{ "string", "any" },
},
Version = "string",
},
ResourceQuota = new Rancher2.Inputs.ProjectResourceQuotaArgs
{
NamespaceDefaultLimit = new Rancher2.Inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs
{
ConfigMaps = "string",
LimitsCpu = "string",
LimitsMemory = "string",
PersistentVolumeClaims = "string",
Pods = "string",
ReplicationControllers = "string",
RequestsCpu = "string",
RequestsMemory = "string",
RequestsStorage = "string",
Secrets = "string",
Services = "string",
ServicesLoadBalancers = "string",
ServicesNodePorts = "string",
},
ProjectLimit = new Rancher2.Inputs.ProjectResourceQuotaProjectLimitArgs
{
ConfigMaps = "string",
LimitsCpu = "string",
LimitsMemory = "string",
PersistentVolumeClaims = "string",
Pods = "string",
ReplicationControllers = "string",
RequestsCpu = "string",
RequestsMemory = "string",
RequestsStorage = "string",
Secrets = "string",
Services = "string",
ServicesLoadBalancers = "string",
ServicesNodePorts = "string",
},
},
WaitForCluster = false,
});
example, err := rancher2.NewProject(ctx, "projectResource", &rancher2.ProjectArgs{
ClusterId: pulumi.String("string"),
Annotations: pulumi.Map{
"string": pulumi.Any("any"),
},
ContainerResourceLimit: &rancher2.ProjectContainerResourceLimitArgs{
LimitsCpu: pulumi.String("string"),
LimitsMemory: pulumi.String("string"),
RequestsCpu: pulumi.String("string"),
RequestsMemory: pulumi.String("string"),
},
Description: pulumi.String("string"),
EnableProjectMonitoring: pulumi.Bool(false),
Labels: pulumi.Map{
"string": pulumi.Any("any"),
},
Name: pulumi.String("string"),
PodSecurityPolicyTemplateId: pulumi.String("string"),
ProjectMonitoringInput: &rancher2.ProjectProjectMonitoringInputArgs{
Answers: pulumi.Map{
"string": pulumi.Any("any"),
},
Version: pulumi.String("string"),
},
ResourceQuota: &rancher2.ProjectResourceQuotaArgs{
NamespaceDefaultLimit: &rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs{
ConfigMaps: pulumi.String("string"),
LimitsCpu: pulumi.String("string"),
LimitsMemory: pulumi.String("string"),
PersistentVolumeClaims: pulumi.String("string"),
Pods: pulumi.String("string"),
ReplicationControllers: pulumi.String("string"),
RequestsCpu: pulumi.String("string"),
RequestsMemory: pulumi.String("string"),
RequestsStorage: pulumi.String("string"),
Secrets: pulumi.String("string"),
Services: pulumi.String("string"),
ServicesLoadBalancers: pulumi.String("string"),
ServicesNodePorts: pulumi.String("string"),
},
ProjectLimit: &rancher2.ProjectResourceQuotaProjectLimitArgs{
ConfigMaps: pulumi.String("string"),
LimitsCpu: pulumi.String("string"),
LimitsMemory: pulumi.String("string"),
PersistentVolumeClaims: pulumi.String("string"),
Pods: pulumi.String("string"),
ReplicationControllers: pulumi.String("string"),
RequestsCpu: pulumi.String("string"),
RequestsMemory: pulumi.String("string"),
RequestsStorage: pulumi.String("string"),
Secrets: pulumi.String("string"),
Services: pulumi.String("string"),
ServicesLoadBalancers: pulumi.String("string"),
ServicesNodePorts: pulumi.String("string"),
},
},
WaitForCluster: pulumi.Bool(false),
})
var projectResource = new Project("projectResource", ProjectArgs.builder()
.clusterId("string")
.annotations(Map.of("string", "any"))
.containerResourceLimit(ProjectContainerResourceLimitArgs.builder()
.limitsCpu("string")
.limitsMemory("string")
.requestsCpu("string")
.requestsMemory("string")
.build())
.description("string")
.enableProjectMonitoring(false)
.labels(Map.of("string", "any"))
.name("string")
.podSecurityPolicyTemplateId("string")
.projectMonitoringInput(ProjectProjectMonitoringInputArgs.builder()
.answers(Map.of("string", "any"))
.version("string")
.build())
.resourceQuota(ProjectResourceQuotaArgs.builder()
.namespaceDefaultLimit(ProjectResourceQuotaNamespaceDefaultLimitArgs.builder()
.configMaps("string")
.limitsCpu("string")
.limitsMemory("string")
.persistentVolumeClaims("string")
.pods("string")
.replicationControllers("string")
.requestsCpu("string")
.requestsMemory("string")
.requestsStorage("string")
.secrets("string")
.services("string")
.servicesLoadBalancers("string")
.servicesNodePorts("string")
.build())
.projectLimit(ProjectResourceQuotaProjectLimitArgs.builder()
.configMaps("string")
.limitsCpu("string")
.limitsMemory("string")
.persistentVolumeClaims("string")
.pods("string")
.replicationControllers("string")
.requestsCpu("string")
.requestsMemory("string")
.requestsStorage("string")
.secrets("string")
.services("string")
.servicesLoadBalancers("string")
.servicesNodePorts("string")
.build())
.build())
.waitForCluster(false)
.build());
project_resource = rancher2.Project("projectResource",
cluster_id="string",
annotations={
"string": "any",
},
container_resource_limit=rancher2.ProjectContainerResourceLimitArgs(
limits_cpu="string",
limits_memory="string",
requests_cpu="string",
requests_memory="string",
),
description="string",
enable_project_monitoring=False,
labels={
"string": "any",
},
name="string",
pod_security_policy_template_id="string",
project_monitoring_input=rancher2.ProjectProjectMonitoringInputArgs(
answers={
"string": "any",
},
version="string",
),
resource_quota=rancher2.ProjectResourceQuotaArgs(
namespace_default_limit=rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs(
config_maps="string",
limits_cpu="string",
limits_memory="string",
persistent_volume_claims="string",
pods="string",
replication_controllers="string",
requests_cpu="string",
requests_memory="string",
requests_storage="string",
secrets="string",
services="string",
services_load_balancers="string",
services_node_ports="string",
),
project_limit=rancher2.ProjectResourceQuotaProjectLimitArgs(
config_maps="string",
limits_cpu="string",
limits_memory="string",
persistent_volume_claims="string",
pods="string",
replication_controllers="string",
requests_cpu="string",
requests_memory="string",
requests_storage="string",
secrets="string",
services="string",
services_load_balancers="string",
services_node_ports="string",
),
),
wait_for_cluster=False)
const projectResource = new rancher2.Project("projectResource", {
clusterId: "string",
annotations: {
string: "any",
},
containerResourceLimit: {
limitsCpu: "string",
limitsMemory: "string",
requestsCpu: "string",
requestsMemory: "string",
},
description: "string",
enableProjectMonitoring: false,
labels: {
string: "any",
},
name: "string",
podSecurityPolicyTemplateId: "string",
projectMonitoringInput: {
answers: {
string: "any",
},
version: "string",
},
resourceQuota: {
namespaceDefaultLimit: {
configMaps: "string",
limitsCpu: "string",
limitsMemory: "string",
persistentVolumeClaims: "string",
pods: "string",
replicationControllers: "string",
requestsCpu: "string",
requestsMemory: "string",
requestsStorage: "string",
secrets: "string",
services: "string",
servicesLoadBalancers: "string",
servicesNodePorts: "string",
},
projectLimit: {
configMaps: "string",
limitsCpu: "string",
limitsMemory: "string",
persistentVolumeClaims: "string",
pods: "string",
replicationControllers: "string",
requestsCpu: "string",
requestsMemory: "string",
requestsStorage: "string",
secrets: "string",
services: "string",
servicesLoadBalancers: "string",
servicesNodePorts: "string",
},
},
waitForCluster: false,
});
type: rancher2:Project
properties:
annotations:
string: any
clusterId: string
containerResourceLimit:
limitsCpu: string
limitsMemory: string
requestsCpu: string
requestsMemory: string
description: string
enableProjectMonitoring: false
labels:
string: any
name: string
podSecurityPolicyTemplateId: string
projectMonitoringInput:
answers:
string: any
version: string
resourceQuota:
namespaceDefaultLimit:
configMaps: string
limitsCpu: string
limitsMemory: string
persistentVolumeClaims: string
pods: string
replicationControllers: string
requestsCpu: string
requestsMemory: string
requestsStorage: string
secrets: string
services: string
servicesLoadBalancers: string
servicesNodePorts: string
projectLimit:
configMaps: string
limitsCpu: string
limitsMemory: string
persistentVolumeClaims: string
pods: string
replicationControllers: string
requestsCpu: string
requestsMemory: string
requestsStorage: string
secrets: string
services: string
servicesLoadBalancers: string
servicesNodePorts: string
waitForCluster: false
Project 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 Project resource accepts the following input properties:
- Cluster
Id string - The cluster id where create project (string)
- Annotations Dictionary<string, object>
- Annotations for Node Pool object (map)
- Container
Resource ProjectLimit Container Resource Limit - Default containers resource limits on project (List maxitem:1)
- Description string
- A project description (string)
- Enable
Project boolMonitoring - 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)
- Pod
Security stringPolicy Template Id - Default Pod Security Policy ID for the project (string)
- Project
Monitoring ProjectInput Project Monitoring Input - Project monitoring config. Any parameter defined in rancher-monitoring charts could be configured (list maxitems:1)
- Resource
Quota ProjectResource Quota - Resource quota for project. Rancher v2.1.x or higher (list maxitems:1)
- Wait
For boolCluster - Wait for cluster becomes active. Default
false
(bool)
- Cluster
Id string - The cluster id where create project (string)
- Annotations map[string]interface{}
- Annotations for Node Pool object (map)
- Container
Resource ProjectLimit Container Resource Limit Args - Default containers resource limits on project (List maxitem:1)
- Description string
- A project description (string)
- Enable
Project boolMonitoring - 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)
- Pod
Security stringPolicy Template Id - Default Pod Security Policy ID for the project (string)
- Project
Monitoring ProjectInput Project Monitoring Input Args - Project monitoring config. Any parameter defined in rancher-monitoring charts could be configured (list maxitems:1)
- Resource
Quota ProjectResource Quota Args - Resource quota for project. Rancher v2.1.x or higher (list maxitems:1)
- Wait
For boolCluster - Wait for cluster becomes active. Default
false
(bool)
- cluster
Id String - The cluster id where create project (string)
- annotations Map<String,Object>
- Annotations for Node Pool object (map)
- container
Resource ProjectLimit Container Resource Limit - Default containers resource limits on project (List maxitem:1)
- description String
- A project description (string)
- enable
Project BooleanMonitoring - Enable built-in project monitoring. Default
false
(bool) - labels Map<String,Object>
- Labels for Node Pool object (map)
- name String
- The name of the project (string)
- pod
Security StringPolicy Template Id - Default Pod Security Policy ID for the project (string)
- project
Monitoring ProjectInput Project Monitoring Input - Project monitoring config. Any parameter defined in rancher-monitoring charts could be configured (list maxitems:1)
- resource
Quota ProjectResource Quota - Resource quota for project. Rancher v2.1.x or higher (list maxitems:1)
- wait
For BooleanCluster - Wait for cluster becomes active. Default
false
(bool)
- cluster
Id string - The cluster id where create project (string)
- annotations {[key: string]: any}
- Annotations for Node Pool object (map)
- container
Resource ProjectLimit Container Resource Limit - Default containers resource limits on project (List maxitem:1)
- description string
- A project description (string)
- enable
Project booleanMonitoring - 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)
- pod
Security stringPolicy Template Id - Default Pod Security Policy ID for the project (string)
- project
Monitoring ProjectInput Project Monitoring Input - Project monitoring config. Any parameter defined in rancher-monitoring charts could be configured (list maxitems:1)
- resource
Quota ProjectResource Quota - Resource quota for project. Rancher v2.1.x or higher (list maxitems:1)
- wait
For booleanCluster - 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_ Projectlimit Container Resource Limit Args - Default containers resource limits on project (List maxitem:1)
- description str
- A project description (string)
- enable_
project_ boolmonitoring - 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_ strpolicy_ template_ id - Default Pod Security Policy ID for the project (string)
- project_
monitoring_ Projectinput Project Monitoring Input Args - Project monitoring config. Any parameter defined in rancher-monitoring charts could be configured (list maxitems:1)
- resource_
quota ProjectResource Quota Args - Resource quota for project. Rancher v2.1.x or higher (list maxitems:1)
- wait_
for_ boolcluster - Wait for cluster becomes active. Default
false
(bool)
- cluster
Id String - The cluster id where create project (string)
- annotations Map<Any>
- Annotations for Node Pool object (map)
- container
Resource Property MapLimit - Default containers resource limits on project (List maxitem:1)
- description String
- A project description (string)
- enable
Project BooleanMonitoring - Enable built-in project monitoring. Default
false
(bool) - labels Map<Any>
- Labels for Node Pool object (map)
- name String
- The name of the project (string)
- pod
Security StringPolicy Template Id - Default Pod Security Policy ID for the project (string)
- project
Monitoring Property MapInput - Project monitoring config. Any parameter defined in rancher-monitoring charts could be configured (list maxitems:1)
- resource
Quota Property Map - Resource quota for project. Rancher v2.1.x or higher (list maxitems:1)
- wait
For BooleanCluster - 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 string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing 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)
public static Project get(String name, Output<String> id, ProjectState 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.
- Annotations Dictionary<string, object>
- Annotations for Node Pool object (map)
- Cluster
Id string - The cluster id where create project (string)
- Container
Resource ProjectLimit Container Resource Limit - Default containers resource limits on project (List maxitem:1)
- Description string
- A project description (string)
- Enable
Project boolMonitoring - 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)
- Pod
Security stringPolicy Template Id - Default Pod Security Policy ID for the project (string)
- Project
Monitoring ProjectInput Project Monitoring Input - Project monitoring config. Any parameter defined in rancher-monitoring charts could be configured (list maxitems:1)
- Resource
Quota ProjectResource Quota - Resource quota for project. Rancher v2.1.x or higher (list maxitems:1)
- Wait
For boolCluster - Wait for cluster becomes active. Default
false
(bool)
- Annotations map[string]interface{}
- Annotations for Node Pool object (map)
- Cluster
Id string - The cluster id where create project (string)
- Container
Resource ProjectLimit Container Resource Limit Args - Default containers resource limits on project (List maxitem:1)
- Description string
- A project description (string)
- Enable
Project boolMonitoring - 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)
- Pod
Security stringPolicy Template Id - Default Pod Security Policy ID for the project (string)
- Project
Monitoring ProjectInput Project Monitoring Input Args - Project monitoring config. Any parameter defined in rancher-monitoring charts could be configured (list maxitems:1)
- Resource
Quota ProjectResource Quota Args - Resource quota for project. Rancher v2.1.x or higher (list maxitems:1)
- Wait
For boolCluster - Wait for cluster becomes active. Default
false
(bool)
- annotations Map<String,Object>
- Annotations for Node Pool object (map)
- cluster
Id String - The cluster id where create project (string)
- container
Resource ProjectLimit Container Resource Limit - Default containers resource limits on project (List maxitem:1)
- description String
- A project description (string)
- enable
Project BooleanMonitoring - Enable built-in project monitoring. Default
false
(bool) - labels Map<String,Object>
- Labels for Node Pool object (map)
- name String
- The name of the project (string)
- pod
Security StringPolicy Template Id - Default Pod Security Policy ID for the project (string)
- project
Monitoring ProjectInput Project Monitoring Input - Project monitoring config. Any parameter defined in rancher-monitoring charts could be configured (list maxitems:1)
- resource
Quota ProjectResource Quota - Resource quota for project. Rancher v2.1.x or higher (list maxitems:1)
- wait
For BooleanCluster - Wait for cluster becomes active. Default
false
(bool)
- annotations {[key: string]: any}
- Annotations for Node Pool object (map)
- cluster
Id string - The cluster id where create project (string)
- container
Resource ProjectLimit Container Resource Limit - Default containers resource limits on project (List maxitem:1)
- description string
- A project description (string)
- enable
Project booleanMonitoring - 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)
- pod
Security stringPolicy Template Id - Default Pod Security Policy ID for the project (string)
- project
Monitoring ProjectInput Project Monitoring Input - Project monitoring config. Any parameter defined in rancher-monitoring charts could be configured (list maxitems:1)
- resource
Quota ProjectResource Quota - Resource quota for project. Rancher v2.1.x or higher (list maxitems:1)
- wait
For booleanCluster - 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_ Projectlimit Container Resource Limit Args - Default containers resource limits on project (List maxitem:1)
- description str
- A project description (string)
- enable_
project_ boolmonitoring - 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_ strpolicy_ template_ id - Default Pod Security Policy ID for the project (string)
- project_
monitoring_ Projectinput Project Monitoring Input Args - Project monitoring config. Any parameter defined in rancher-monitoring charts could be configured (list maxitems:1)
- resource_
quota ProjectResource Quota Args - Resource quota for project. Rancher v2.1.x or higher (list maxitems:1)
- wait_
for_ boolcluster - Wait for cluster becomes active. Default
false
(bool)
- annotations Map<Any>
- Annotations for Node Pool object (map)
- cluster
Id String - The cluster id where create project (string)
- container
Resource Property MapLimit - Default containers resource limits on project (List maxitem:1)
- description String
- A project description (string)
- enable
Project BooleanMonitoring - Enable built-in project monitoring. Default
false
(bool) - labels Map<Any>
- Labels for Node Pool object (map)
- name String
- The name of the project (string)
- pod
Security StringPolicy Template Id - Default Pod Security Policy ID for the project (string)
- project
Monitoring Property MapInput - Project monitoring config. Any parameter defined in rancher-monitoring charts could be configured (list maxitems:1)
- resource
Quota Property Map - Resource quota for project. Rancher v2.1.x or higher (list maxitems:1)
- wait
For BooleanCluster - Wait for cluster becomes active. Default
false
(bool)
Supporting Types
ProjectContainerResourceLimit, ProjectContainerResourceLimitArgs
- Limits
Cpu string - Limits
Memory string - Requests
Cpu string - Requests
Memory string
- Limits
Cpu string - Limits
Memory string - Requests
Cpu string - Requests
Memory string
- limits
Cpu String - limits
Memory String - requests
Cpu String - requests
Memory String
- limits
Cpu string - limits
Memory string - requests
Cpu string - requests
Memory string
- limits_
cpu str - limits_
memory str - requests_
cpu str - requests_
memory str
- limits
Cpu String - limits
Memory String - requests
Cpu String - requests
Memory String
ProjectProjectMonitoringInput, ProjectProjectMonitoringInputArgs
ProjectResourceQuota, ProjectResourceQuotaArgs
ProjectResourceQuotaNamespaceDefaultLimit, ProjectResourceQuotaNamespaceDefaultLimitArgs
- Config
Maps string - Limits
Cpu string - Limits
Memory string - Persistent
Volume stringClaims - Pods string
- Replication
Controllers string - Requests
Cpu string - Requests
Memory string - Requests
Storage string - Secrets string
- Services string
- Services
Load stringBalancers - Services
Node stringPorts
- Config
Maps string - Limits
Cpu string - Limits
Memory string - Persistent
Volume stringClaims - Pods string
- Replication
Controllers string - Requests
Cpu string - Requests
Memory string - Requests
Storage string - Secrets string
- Services string
- Services
Load stringBalancers - Services
Node stringPorts
- config
Maps String - limits
Cpu String - limits
Memory String - persistent
Volume StringClaims - pods String
- replication
Controllers String - requests
Cpu String - requests
Memory String - requests
Storage String - secrets String
- services String
- services
Load StringBalancers - services
Node StringPorts
- config
Maps string - limits
Cpu string - limits
Memory string - persistent
Volume stringClaims - pods string
- replication
Controllers string - requests
Cpu string - requests
Memory string - requests
Storage string - secrets string
- services string
- services
Load stringBalancers - services
Node stringPorts
- config_
maps str - limits_
cpu str - limits_
memory str - persistent_
volume_ strclaims - pods str
- replication_
controllers str - requests_
cpu str - requests_
memory str - requests_
storage str - secrets str
- services str
- services_
load_ strbalancers - services_
node_ strports
- config
Maps String - limits
Cpu String - limits
Memory String - persistent
Volume StringClaims - pods String
- replication
Controllers String - requests
Cpu String - requests
Memory String - requests
Storage String - secrets String
- services String
- services
Load StringBalancers - services
Node StringPorts
ProjectResourceQuotaProjectLimit, ProjectResourceQuotaProjectLimitArgs
- Config
Maps string - Limits
Cpu string - Limits
Memory string - Persistent
Volume stringClaims - Pods string
- Replication
Controllers string - Requests
Cpu string - Requests
Memory string - Requests
Storage string - Secrets string
- Services string
- Services
Load stringBalancers - Services
Node stringPorts
- Config
Maps string - Limits
Cpu string - Limits
Memory string - Persistent
Volume stringClaims - Pods string
- Replication
Controllers string - Requests
Cpu string - Requests
Memory string - Requests
Storage string - Secrets string
- Services string
- Services
Load stringBalancers - Services
Node stringPorts
- config
Maps String - limits
Cpu String - limits
Memory String - persistent
Volume StringClaims - pods String
- replication
Controllers String - requests
Cpu String - requests
Memory String - requests
Storage String - secrets String
- services String
- services
Load StringBalancers - services
Node StringPorts
- config
Maps string - limits
Cpu string - limits
Memory string - persistent
Volume stringClaims - pods string
- replication
Controllers string - requests
Cpu string - requests
Memory string - requests
Storage string - secrets string
- services string
- services
Load stringBalancers - services
Node stringPorts
- config_
maps str - limits_
cpu str - limits_
memory str - persistent_
volume_ strclaims - pods str
- replication_
controllers str - requests_
cpu str - requests_
memory str - requests_
storage str - secrets str
- services str
- services_
load_ strbalancers - services_
node_ strports
- config
Maps String - limits
Cpu String - limits
Memory String - persistent
Volume StringClaims - pods String
- replication
Controllers String - requests
Cpu String - requests
Memory String - requests
Storage String - secrets String
- services String
- services
Load StringBalancers - services
Node StringPorts
Import
Projects can be imported using the Rancher Project ID
$ pulumi import rancher2:index/project:Project foo <project_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
rancher2
Terraform Provider.