ProjectCluster

# gitlab_project_cluster

This resource allows you to create and manage project clusters for your GitLab projects. For further information on clusters, consult the gitlab documentation.

Example Usage

using Pulumi;
using GitLab = Pulumi.GitLab;

class MyStack : Stack
{
    public MyStack()
    {
        var foo = new GitLab.Project("foo", new GitLab.ProjectArgs
        {
        });
        var bar = new GitLab.ProjectCluster("bar", new GitLab.ProjectClusterArgs
        {
            Domain = "example.com",
            Enabled = true,
            EnvironmentScope = "*",
            KubernetesApiUrl = "https://124.124.124",
            KubernetesAuthorizationType = "rbac",
            KubernetesCaCert = "some-cert",
            KubernetesNamespace = "namespace",
            KubernetesToken = "some-token",
            ManagementProjectId = "123456",
            Project = foo.Id,
        });
    }

}
package main

import (
	"github.com/pulumi/pulumi-gitlab/sdk/v4/go/gitlab"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		foo, err := gitlab.NewProject(ctx, "foo", nil)
		if err != nil {
			return err
		}
		_, err = gitlab.NewProjectCluster(ctx, "bar", &gitlab.ProjectClusterArgs{
			Domain:                      pulumi.String("example.com"),
			Enabled:                     pulumi.Bool(true),
			EnvironmentScope:            pulumi.String("*"),
			KubernetesApiUrl:            pulumi.String("https://124.124.124"),
			KubernetesAuthorizationType: pulumi.String("rbac"),
			KubernetesCaCert:            pulumi.String("some-cert"),
			KubernetesNamespace:         pulumi.String("namespace"),
			KubernetesToken:             pulumi.String("some-token"),
			ManagementProjectId:         pulumi.String("123456"),
			Project:                     foo.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
import pulumi
import pulumi_gitlab as gitlab

foo = gitlab.Project("foo")
bar = gitlab.ProjectCluster("bar",
    domain="example.com",
    enabled=True,
    environment_scope="*",
    kubernetes_api_url="https://124.124.124",
    kubernetes_authorization_type="rbac",
    kubernetes_ca_cert="some-cert",
    kubernetes_namespace="namespace",
    kubernetes_token="some-token",
    management_project_id="123456",
    project=foo.id)
import * as pulumi from "@pulumi/pulumi";
import * as gitlab from "@pulumi/gitlab";

const foo = new gitlab.Project("foo", {});
const bar = new gitlab.ProjectCluster("bar", {
    domain: "example.com",
    enabled: true,
    environmentScope: "*",
    kubernetesApiUrl: "https://124.124.124",
    kubernetesAuthorizationType: "rbac",
    kubernetesCaCert: "some-cert",
    kubernetesNamespace: "namespace",
    kubernetesToken: "some-token",
    managementProjectId: "123456",
    project: foo.id,
});

Create a ProjectCluster Resource

new ProjectCluster(name: string, args: ProjectClusterArgs, opts?: CustomResourceOptions);
@overload
def ProjectCluster(resource_name: str,
                   opts: Optional[ResourceOptions] = None,
                   domain: Optional[str] = None,
                   enabled: Optional[bool] = None,
                   environment_scope: Optional[str] = None,
                   kubernetes_api_url: Optional[str] = None,
                   kubernetes_authorization_type: Optional[str] = None,
                   kubernetes_ca_cert: Optional[str] = None,
                   kubernetes_namespace: Optional[str] = None,
                   kubernetes_token: Optional[str] = None,
                   managed: Optional[bool] = None,
                   management_project_id: Optional[str] = None,
                   name: Optional[str] = None,
                   project: Optional[str] = None)
@overload
def ProjectCluster(resource_name: str,
                   args: ProjectClusterArgs,
                   opts: Optional[ResourceOptions] = None)
func NewProjectCluster(ctx *Context, name string, args ProjectClusterArgs, opts ...ResourceOption) (*ProjectCluster, error)
public ProjectCluster(string name, ProjectClusterArgs args, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args ProjectClusterArgs
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 ProjectClusterArgs
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 ProjectClusterArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args ProjectClusterArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

ProjectCluster Resource Properties

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

Inputs

The ProjectCluster resource accepts the following input properties:

KubernetesApiUrl string
The URL to access the Kubernetes API.
KubernetesToken string
The token to authenticate against Kubernetes.
Project string
The id of the project to add the cluster to.
Domain string
The base domain of the cluster.
Enabled bool
Determines if cluster is active or not. Defaults to true. This attribute cannot be read.
EnvironmentScope string
The associated environment to the cluster. Defaults to *.
KubernetesAuthorizationType string
The cluster authorization type. Valid values are rbac, abac, unknown_authorization. Defaults to rbac.
KubernetesCaCert string
TLS certificate (needed if API is using a self-signed TLS certificate).
KubernetesNamespace string
The unique namespace related to the project.
Managed bool
Determines if cluster is managed by gitlab or not. Defaults to true. This attribute cannot be read.
ManagementProjectId string
The ID of the management project for the cluster.
Name string
The name of cluster.
KubernetesApiUrl string
The URL to access the Kubernetes API.
KubernetesToken string
The token to authenticate against Kubernetes.
Project string
The id of the project to add the cluster to.
Domain string
The base domain of the cluster.
Enabled bool
Determines if cluster is active or not. Defaults to true. This attribute cannot be read.
EnvironmentScope string
The associated environment to the cluster. Defaults to *.
KubernetesAuthorizationType string
The cluster authorization type. Valid values are rbac, abac, unknown_authorization. Defaults to rbac.
KubernetesCaCert string
TLS certificate (needed if API is using a self-signed TLS certificate).
KubernetesNamespace string
The unique namespace related to the project.
Managed bool
Determines if cluster is managed by gitlab or not. Defaults to true. This attribute cannot be read.
ManagementProjectId string
The ID of the management project for the cluster.
Name string
The name of cluster.
kubernetesApiUrl string
The URL to access the Kubernetes API.
kubernetesToken string
The token to authenticate against Kubernetes.
project string
The id of the project to add the cluster to.
domain string
The base domain of the cluster.
enabled boolean
Determines if cluster is active or not. Defaults to true. This attribute cannot be read.
environmentScope string
The associated environment to the cluster. Defaults to *.
kubernetesAuthorizationType string
The cluster authorization type. Valid values are rbac, abac, unknown_authorization. Defaults to rbac.
kubernetesCaCert string
TLS certificate (needed if API is using a self-signed TLS certificate).
kubernetesNamespace string
The unique namespace related to the project.
managed boolean
Determines if cluster is managed by gitlab or not. Defaults to true. This attribute cannot be read.
managementProjectId string
The ID of the management project for the cluster.
name string
The name of cluster.
kubernetes_api_url str
The URL to access the Kubernetes API.
kubernetes_token str
The token to authenticate against Kubernetes.
project str
The id of the project to add the cluster to.
domain str
The base domain of the cluster.
enabled bool
Determines if cluster is active or not. Defaults to true. This attribute cannot be read.
environment_scope str
The associated environment to the cluster. Defaults to *.
kubernetes_authorization_type str
The cluster authorization type. Valid values are rbac, abac, unknown_authorization. Defaults to rbac.
kubernetes_ca_cert str
TLS certificate (needed if API is using a self-signed TLS certificate).
kubernetes_namespace str
The unique namespace related to the project.
managed bool
Determines if cluster is managed by gitlab or not. Defaults to true. This attribute cannot be read.
management_project_id str
The ID of the management project for the cluster.
name str
The name of cluster.

Outputs

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

ClusterType string
CreatedAt string
Id string
The provider-assigned unique ID for this managed resource.
PlatformType string
ProviderType string
ClusterType string
CreatedAt string
Id string
The provider-assigned unique ID for this managed resource.
PlatformType string
ProviderType string
clusterType string
createdAt string
id string
The provider-assigned unique ID for this managed resource.
platformType string
providerType string
cluster_type str
created_at str
id str
The provider-assigned unique ID for this managed resource.
platform_type str
provider_type str

Look up an Existing ProjectCluster Resource

Get an existing ProjectCluster 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?: ProjectClusterState, opts?: CustomResourceOptions): ProjectCluster
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        cluster_type: Optional[str] = None,
        created_at: Optional[str] = None,
        domain: Optional[str] = None,
        enabled: Optional[bool] = None,
        environment_scope: Optional[str] = None,
        kubernetes_api_url: Optional[str] = None,
        kubernetes_authorization_type: Optional[str] = None,
        kubernetes_ca_cert: Optional[str] = None,
        kubernetes_namespace: Optional[str] = None,
        kubernetes_token: Optional[str] = None,
        managed: Optional[bool] = None,
        management_project_id: Optional[str] = None,
        name: Optional[str] = None,
        platform_type: Optional[str] = None,
        project: Optional[str] = None,
        provider_type: Optional[str] = None) -> ProjectCluster
func GetProjectCluster(ctx *Context, name string, id IDInput, state *ProjectClusterState, opts ...ResourceOption) (*ProjectCluster, error)
public static ProjectCluster Get(string name, Input<string> id, ProjectClusterState? 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:

ClusterType string
CreatedAt string
Domain string
The base domain of the cluster.
Enabled bool
Determines if cluster is active or not. Defaults to true. This attribute cannot be read.
EnvironmentScope string
The associated environment to the cluster. Defaults to *.
KubernetesApiUrl string
The URL to access the Kubernetes API.
KubernetesAuthorizationType string
The cluster authorization type. Valid values are rbac, abac, unknown_authorization. Defaults to rbac.
KubernetesCaCert string
TLS certificate (needed if API is using a self-signed TLS certificate).
KubernetesNamespace string
The unique namespace related to the project.
KubernetesToken string
The token to authenticate against Kubernetes.
Managed bool
Determines if cluster is managed by gitlab or not. Defaults to true. This attribute cannot be read.
ManagementProjectId string
The ID of the management project for the cluster.
Name string
The name of cluster.
PlatformType string
Project string
The id of the project to add the cluster to.
ProviderType string
ClusterType string
CreatedAt string
Domain string
The base domain of the cluster.
Enabled bool
Determines if cluster is active or not. Defaults to true. This attribute cannot be read.
EnvironmentScope string
The associated environment to the cluster. Defaults to *.
KubernetesApiUrl string
The URL to access the Kubernetes API.
KubernetesAuthorizationType string
The cluster authorization type. Valid values are rbac, abac, unknown_authorization. Defaults to rbac.
KubernetesCaCert string
TLS certificate (needed if API is using a self-signed TLS certificate).
KubernetesNamespace string
The unique namespace related to the project.
KubernetesToken string
The token to authenticate against Kubernetes.
Managed bool
Determines if cluster is managed by gitlab or not. Defaults to true. This attribute cannot be read.
ManagementProjectId string
The ID of the management project for the cluster.
Name string
The name of cluster.
PlatformType string
Project string
The id of the project to add the cluster to.
ProviderType string
clusterType string
createdAt string
domain string
The base domain of the cluster.
enabled boolean
Determines if cluster is active or not. Defaults to true. This attribute cannot be read.
environmentScope string
The associated environment to the cluster. Defaults to *.
kubernetesApiUrl string
The URL to access the Kubernetes API.
kubernetesAuthorizationType string
The cluster authorization type. Valid values are rbac, abac, unknown_authorization. Defaults to rbac.
kubernetesCaCert string
TLS certificate (needed if API is using a self-signed TLS certificate).
kubernetesNamespace string
The unique namespace related to the project.
kubernetesToken string
The token to authenticate against Kubernetes.
managed boolean
Determines if cluster is managed by gitlab or not. Defaults to true. This attribute cannot be read.
managementProjectId string
The ID of the management project for the cluster.
name string
The name of cluster.
platformType string
project string
The id of the project to add the cluster to.
providerType string
cluster_type str
created_at str
domain str
The base domain of the cluster.
enabled bool
Determines if cluster is active or not. Defaults to true. This attribute cannot be read.
environment_scope str
The associated environment to the cluster. Defaults to *.
kubernetes_api_url str
The URL to access the Kubernetes API.
kubernetes_authorization_type str
The cluster authorization type. Valid values are rbac, abac, unknown_authorization. Defaults to rbac.
kubernetes_ca_cert str
TLS certificate (needed if API is using a self-signed TLS certificate).
kubernetes_namespace str
The unique namespace related to the project.
kubernetes_token str
The token to authenticate against Kubernetes.
managed bool
Determines if cluster is managed by gitlab or not. Defaults to true. This attribute cannot be read.
management_project_id str
The ID of the management project for the cluster.
name str
The name of cluster.
platform_type str
project str
The id of the project to add the cluster to.
provider_type str

Import

GitLab project clusters can be imported using an id made up of projectid:clusterid, e.g.

 $ pulumi import gitlab:index/projectCluster:ProjectCluster bar 123:321

Package Details

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